Java Flow Layout (FlowLayout) – Example

Java Flow Layout (FlowLayout) – Example สำหรับ FlowLayout เป็นการจัดวาง Layout แบบลำดับขั้น เช่น ลำดับ 1 , 2 ,3 ,4 ในรูปแบบของ Flow แต่นอกจากนี้เรายังสามารถที่จะกลับสำดับขั้นของ Layout จากซ้ายไปขวา (LEFT_TO_RIGHT) หรือขวาไปซ้าย (RIGHT_TO_LEFT) ได้อีกด้วย

Java Flow Layout (FlowLayout)

Java Flow Layout (FlowLayout) – Example

Syntax

1.FlowLayout layout = new FlowLayout();
2.final JPanel panel = new JPanel();
3.panel.setLayout(layout);

Component Control ของ Layout

Java Flow Layout (FlowLayout)

Example 1 การจัดวาง Layout แบบ FlowLayout

MyForm.java

01.package com.java.myapp;
02. 
03.import java.awt.EventQueue;
04.import java.awt.FlowLayout;
05.import javax.swing.JButton;
06.import javax.swing.JFrame;
07.import javax.swing.JPanel;
08. 
09.public class MyForm extends JFrame {
10. 
11./**
12.* Launch the application.
13.*/
14.public static void main(String[] args) {
15.EventQueue.invokeLater(new Runnable() {
16.public void run() {
17.MyForm frame = new MyForm();
18.frame.setVisible(true);
19.}
20.});
21.}
22. 
23./**
24.* Create the frame.
25.*/
26.public MyForm() {
27.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
28.setBounds(100100457173);
29.setTitle("ThaiCreate.Com GUI Tutorial");
30. 
31.FlowLayout layout = new FlowLayout();
32.final JPanel panel = new JPanel();
33.panel.setLayout(layout);
34. 
35.panel.add(new JButton("Button 1"));
36.panel.add(new JButton("Button 2"));
37.panel.add(new JButton("Button 3"));
38.panel.add(new JButton("Button 4"));
39.panel.add(new JButton("Button 5"));
40.panel.add(new JButton("Button 6"));
41.panel.add(new JButton("Button 7"));
42.panel.add(new JButton("Button 8"));
43.panel.add(new JButton("Button 9"));
44. 
45.getContentPane().add(panel);
46. 
47.}
48. 
49.}

Output

Java Flow Layout (FlowLayout)

ตัวอย่างการจัดส่ง Layout แบบ FlowLayout

Example 2 การจัดวาง Layout แบบ FlowLayout และสามารถสลับลำดับของ Layout (ซ้ายไปขวา และ ขวาไปซ้าย)

MyForm.java

01.package com.java.myapp;
02. 
03.import java.awt.BorderLayout;
04.import java.awt.ComponentOrientation;
05.import java.awt.EventQueue;
06.import java.awt.FlowLayout;
07.import java.awt.event.ActionEvent;
08.import java.awt.event.ActionListener;
09. 
10.import javax.swing.JButton;
11.import javax.swing.JFrame;
12.import javax.swing.JPanel;
13. 
14. 
15.public class MyForm extends JFrame {
16. 
17./**
18.* Launch the application.
19.*/
20.public static void main(String[] args) {
21.EventQueue.invokeLater(new Runnable() {
22.public void run() {
23.MyForm frame = new MyForm();
24.frame.setVisible(true);
25.}
26.});
27.}
28. 
29./**
30.* Create the frame.
31.*/
32.public MyForm() {
33.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
34.setBounds(100100457173);
35.setTitle("ThaiCreate.Com GUI Tutorial");
36. 
37.FlowLayout flowlyt = new FlowLayout();
38.final JPanel panel = new JPanel();
39.panel.setLayout(flowlyt);
40. 
41.flowlyt.setAlignment(FlowLayout.TRAILING);
42.JPanel controls = new JPanel();
43.controls.setLayout(new FlowLayout());
44. 
45. 
46.panel.add(new JButton("Button 1"));
47.panel.add(new JButton("Button 2"));
48.panel.add(new JButton("Button 3"));
49.panel.add(new JButton("Button 4"));
50.panel.add(new JButton("Button 5"));
51. 
52. 
53. 
54.// Left to Right
55.JButton btnLeftToRight = new JButton("Left to Right");
56.btnLeftToRight.addActionListener(new ActionListener() {
57.public void actionPerformed(ActionEvent arg0) {
58.panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
59.panel.validate();
60.panel.repaint();
61.}
62.});
63.controls.add(btnLeftToRight);
64. 
65.// Right to Left
66.JButton btnRightToLeft = new JButton("Right to Left");
67.btnRightToLeft.addActionListener(new ActionListener() {
68.public void actionPerformed(ActionEvent arg0) {
69.panel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
70.panel.validate();
71.panel.repaint();
72.}
73.});
74.controls.add(btnRightToLeft);
75. 
76.getContentPane().add(panel, BorderLayout.CENTER);
77.getContentPane().add(controls, BorderLayout.SOUTH); ;
78. 
79. 
80.}
81. 
82.}

Output

Java Flow Layout (FlowLayout)

แสดง Layout

Java Flow Layout (FlowLayout)

สามารถคลิกเพื่อสลับจากซ่ายไปขวา หรือ ขวาไปซ่าย

แหล่งที่มา : thaicreate.com/java/java-gui-layout-flowlayout