javaswing布局详解(附示例图)

javaswing布局详解(附示例图)

ID:34723763

大小:254.68 KB

页数:12页

时间:2019-03-10

javaswing布局详解(附示例图)_第1页
javaswing布局详解(附示例图)_第2页
javaswing布局详解(附示例图)_第3页
javaswing布局详解(附示例图)_第4页
javaswing布局详解(附示例图)_第5页
资源描述:

《javaswing布局详解(附示例图)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、当选择使用JPanel和顶层容器的contentpane时,需要考虑布局管理。JPanel缺省是初始化一个FlowLayout,而contentpane缺省是初始化一个BorderLayout。下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。代码演示每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件)。这些文件主要有三个方法组成:addComponentsTo

2、Pane()提供布局逻辑(依据不同的布局管理器和UI内容)。Java代码1publicstaticvoidaddComponentsToPane(Containerpane){。。。}2/**3*createAndShowGUI()实例化一个JFrame,通过它的ContentPane加载布局逻辑内容。4*/5privatestaticvoidcreateAndShowGUI(){6//Createandsetupthewindow.7JFrameframe=newJFrame("FlowLayoutDemo");8

3、frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);9//Setupthecontentpane.10addComponentsToPane(frame.getContentPane());11//Displaythewindow.12frame.pack();13frame.setVisible(true);14}15//main()程序入口,单独起一个线程,实例化UI。16publicstaticvoidmain(String[]args){1javax.sw

4、ing.SwingUtilities.invokeLater(newRunnable(){2publicvoidrun(){3createAndShowGUI();4}5});6}FlowLayoutFlowLayout类是最简单的布局管理器。它按照和页面上排列单词的类似方式来安排组件----从左到右,直至没有多余的空间,然后转到下一行。效果:内容面板代码:Java代码7publicstaticvoidaddComponentsToPane(Containerpane){8pane.setLayout(newFlow

5、Layout());9pane.add(newJButton("Button1"));10pane.add(newJButton("Button2"));11pane.add(newJButton("Button3"));12pane.add(newJButton("Long-NamedButton4"));13pane.add(newJButton("5"));14}BorderLayout一个BorderLayout对象将界面分成五大区域,分别用BorderLayout类的静态常量指定:-PAGE_START-P

6、AGE_END-LINE_START-LINE_END-CENTER效果:内容面板代码:Java代码1publicstaticvoidaddComponentsToPane(Containerpane){2JButtonbutton=newJButton("Button1(PAGE_START)");3pane.add(button,BorderLayout.PAGE_START);4button=newJButton("Button2(CENTER)");5button.setPreferredSize(newDi

7、mension(200,100));6pane.add(button,BorderLayout.CENTER);7button=newJButton("Button3(LINE_START)");8pane.add(button,BorderLayout.LINE_START);9button=newJButton("Long-NamedButton4(PAGE_END)");10pane.add(button,BorderLayout.PAGE_END);11button=newJButton("5(LINE_EN

8、D)");1pane.add(button,BorderLayout.LINE_END);2}BoxLayoutBoxLayout可以将组件由上至下或由左至右依次加入当前面板。效果:内容面板代码:Java代码3publicstaticvoidaddComponentsToPane(Containerpane){4JPanelxPanel=new

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。