欢迎来到天天文库
浏览记录
ID:62044708
大小:166.50 KB
页数:14页
时间:2021-04-16
《Javaswing布局详解(附示例图).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途当选择使用JPanel和顶层容器的contentpane时,需要考虑布局管理。JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout。下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。代码演示每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件)。这些文件主要有三个方法组成:addComponentsToPane()提供布局逻辑(依据不同的布局管理器和U
2、I内容)。Java代码 1publicstatic voidaddComponentsToPane(Containerpane){。。。} 2/**3*createAndShowGUI()实例化一个JFrame,通过它的ContentPane加载布局逻辑内容。4*/ 5private static void createAndShowGUI(){ 6 // Create and setupthe window. 7JFrameframe=newJFrame("FlowLayoutDemo");8 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CL
3、OSE);9 // Set upthecontentpane. 10 addComponentsToPane(frame.getContentPane()); 11 //Displaythewindow. 个人收集整理勿做商业用途1frame.pack();2 frame.setVisible(true); 3} 4//main()程序入口,单独起一个线程,实例化UI。5publicstaticvoidmain(String[]args){6 javax.swing.SwingUtilities.invokeLater(newRunnable(){ 7 publicvoidrun() {
4、 8 createAndShowGUI(); 9 }10 });11} FlowLayoutFlowLayout类是最简单的布局管理器。它按照和页面上排列单词的类似方式来安排组件----从左到右,直至没有多余的空间,然后转到下一行。效果:内容面板代码:Java代码 12publicstatic voidaddComponentsToPane(Container pane){ 个人收集整理勿做商业用途1 pane.setLayout(newFlowLayout());2 pane.add(newJButton("Button1"));3 pane.add(newJButton("
5、Button2"));4 pane.add(newJButton("Button3"));5pane.add(newJButton("Long-NamedButton4")); 6 pane.add(newJButton("5")); 7}BorderLayout一个BorderLayout对象将界面分成五大区域,分别用BorderLayout类的静态常量指定:-PAGE_START-PAGE_END-LINE_START-LINE_END-CENTER效果:个人收集整理勿做商业用途内容面板代码:Java代码1publicstaticvoid addComponentsToPane(Cont
6、ainerpane){ 2 JButton button = newJButton("Button 1(PAGE_START)"); 3pane.add(button, BorderLayout.PAGE_START); 4button= newJButton("Button2(CENTER)"); 5 button.setPreferredSize(new Dimension(200, 100));6 pane.add(button,BorderLayout.CENTER); 7 button=newJButton("Button3(LINE_START)");8 pane.a
7、dd(button,BorderLayout.LINE_START); 9 button=newJButton("Long-NamedButton4(PAGE_END)"); 10 pane.add(button,BorderLayout.PAGE_END); 11button=newJButton("5(LINE_END)"); 12 pane.add(button,BorderLayout.LINE_
此文档下载收益归作者所有