Java中的布局管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java中的布局管理

1.Java中的布局管理器经常用到的也就是三种(流布局管理器FlowLayout、边界布局管理器BorderLayout、网格布局管理器GridLayout),复杂的界面采用单一的布局管理器完成比较困难,一般(流布局管理器、边界布局管理器、网格布局管理器)三者相接合方式去完成。

2.先在草图上完成所需要布局及组件,再确定采用哪种布局管理器更合理。

3.一般情况下,先采用边界布局BorderLayout分区,再用网格布局GridLayout定位,后采用流式布局FlowLayout进行调整,对齐方式,水平,垂直方向间距.

4.先将组件进行流布局FlowLayout加到面板中,再将流面板添加到网格布局GridLayout面板中,后将网格面板添加到边界GridLayout面板中。

5.仔细阅读一下实例,对以后布局管理器应用有帮助。

6.参考下面实例:

7.package SerailComm;

8.import java.awt.*;

9.import java.awt.font.*;

10.import javax.swing.*;

11.import java.awt.color.*;

12.import javax.swing.JComponent;

13.public class SerailComm extends JFrame{

14.public SerailComm(){

15.String[]port={"COM1","COM2","CO3","COM4","COM5","COM6","COM7","CO M8","COM9","COM10"

16.,"COM11","COM12","COM13","COM14","COM15"};

17.String[]baud={"2400","4800","9600","115200","384000"};

18.String[]data={"6","7","8"};

19.String[]xor={"0","1","2"};

20.String[]stop={"0","1","1.5","2"};

21.//定义标签

22.JLabel lb_port=new JLabel("端口号:");

23.JLabel lb_baud=new JLabel("波特率:");

24.JLabel lb_data=new JLabel("数据位:");

25.JLabel lb_xor=new JLabel("校验位:");

26.JLabel lb_stop=new JLabel("停止位:");

27.lb_port.setHorizontalAlignment(SwingConstants.RIGHT);

28.lb_baud.setHorizontalAlignment(SwingConstants.RIGHT);

29.lb_data.setHorizontalAlignment(SwingConstants.RIGHT);

30.lb_xor.setHorizontalAlignment(SwingConstants.RIGHT);

31.lb_stop.setHorizontalAlignment(SwingConstants.RIGHT);

32.

33.//定义下拉列表框

34.JComboBox box_port=new JComboBox(port);

35.JComboBox box_baud=new JComboBox(baud);

36.JComboBox box_data=new JComboBox(data);

37.JComboBox box_xor=new JComboBox(xor);

38.JComboBox box_stop=new JComboBox(stop);

39.//定义面板

40.

41.//将北部面板定义为网格布局为1行1列

42.JPanel northPane = new JPanel();

43.northPane.setLayout(new GridLayout(1, 1));

44.//将定义左边的面板为网格布局为3行2列

45.JPanel leftPane = new JPanel();

46.leftPane.setOpaque(false);

47.leftPane.setLayout(new GridLayout(3, 2));

48.//定义流布局1

49.JPanel letflow = new JPanel();

50.FlowLayout flowlayout1=new FlowLayout(FlowLayout.LEFT,5,5); 51.letflow.setLayout(flowlayout1);

52.letflow.add(lb_port);

53.letflow.add(box_port);

54.//定义流布局2

55.JPanel lfpan = new JPanel();

56.FlowLayout flowlayout2=new FlowLayout(FlowLayout.LEFT,5,5); 57.lfpan.setLayout(flowlayout2);

58.lfpan.add(lb_baud);

59.lfpan.add(box_baud);

60.//定义流布局3

61.JPanel lfpan2= new JPanel();

62.FlowLayout flowlayout3=new FlowLayout(FlowLayout.LEFT,5,5); 63.lfpan2.setLayout(flowlayout3);

64.lfpan2.add(lb_data);

65.lfpan2.add(box_data);

66.//将3个流布局的面板,添加到3*2网格布局面板上67.leftPane.add(letflow);

68.leftPane.add(lfpan);

69.leftPane.add(lfpan2);

70.//定义右边的面板为网格布局为3行2列

71.JPanel rightPane = new JPanel();

72.rightPane.setOpaque(false);

73.rightPane.setLayout(new GridLayout(3, 2));

74.//定义流布局1

75.JPanel rightpan1=new JPanel();

76.FlowLayout rightflowlayout1 =new FlowLayout(FlowLayout.LEFT,5,5); 77.rightpan1.setLayout(rightflowlayout1);

78.rightpan1.add(lb_xor);

79.rightpan1.add(box_xor);

80.//定义流布2

81.JPanel rightpan2=new JPanel();

相关文档
最新文档