欢迎来到天天文库
浏览记录
ID:38276101
大小:142.57 KB
页数:8页
时间:2019-06-07
《Swing组件详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、swing布局详解(附示例图)当选择使用JPanel和顶层容器的contentpane时,需要考虑布局管理。JPanel缺省是初始化一个FlowLayout,而contentpane缺省是初始化一个BorderLayout。下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。 代码演示每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件)。这些文件主要有三个方法组成:addCo
2、mponentsToPane()提供布局逻辑(依据不同的布局管理器和UI内容)。Java代码 1.public static void addComponentsToPane(Container pane) {。。。} 2./** 3.*createAndShowGUI()实例化一个JFrame,通过它的ContentPane加载布局逻辑内容。 4.*/ 5.private static void createAndShowGUI() { 6. // Create and set up the window. 7.
3、 JFrame frame = new JFrame("FlowLayoutDemo"); 8. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 9. // Set up the content pane. 10. addComponentsToPane(frame.getContentPane()); 11. // Display the window. 12. frame.pack(); 13. frame.se
4、tVisible(true); 14.} 15.//main()程序入口,单独起一个线程,实例化UI。 16.public static void main(String[] args) { 17. javax.swing.SwingUtilities.invokeLater(new Runnable() { 18. public void run() { 19. createAndShowGUI(); 20. } 21. }); 22.} FlowL
5、ayoutFlowLayout类是最简单的布局管理器。它按照和页面上排列单词的类似方式来安排组件----从左到右,直至没有多余的空间,然后转到下一行。效果:内容面板代码:Java代码 1.public static void addComponentsToPane(Container pane) { 2. pane.setLayout(new FlowLayout()); 3. pane.add(new JButton("Button 1")); 4. pane.add(new JButton("Butt
6、on 2")); 5. pane.add(new JButton("Button 3")); 6. pane.add(new JButton("Long-Named Button 4")); 7. pane.add(new JButton("5")); 8.} BorderLayout一个BorderLayout对象将界面分成五大区域,分别用BorderLayout类的静态常量指定:-PAGE_START-PAGE_END-LINE_START-LINE_END-CENTER效果: 内容面板代码:J
7、ava代码 1.public static void addComponentsToPane(Container pane) { 2. JButton button = new JButton("Button 1 (PAGE_START)"); 3. pane.add(button, BorderLayout.PAGE_START); 4. button = new JButton("Button 2 (CENTER)"); 5. button.setPreferredS
8、ize(new Dimension(200, 100)); 6. pane.add(button, BorderLayout.CENTER); 7. button = new JButton("Button 3 (LINE_START)"
此文档下载收益归作者所有