java学习之 论GUI中JPanel的布局设置问题
2013-08-22 11:29
459 查看
有几次碰到JPanel的布局问题,在网上找了一些资料,想记录一下以免以后又碰到再到处找资料。
因为JPanel中的默认布局是FlowLayout,所以要想改变JPanel中的布局,就要在创建JPanel实例时更改他的布局设置,这一步是必要的,如果没有new一个新的布局而直接使用设置另外的布局,那么编译的结果还是默认的布局,而不是你设置的布局。
用例子说明下:
因为JPanel中的默认布局是FlowLayout,所以要想改变JPanel中的布局,就要在创建JPanel实例时更改他的布局设置,这一步是必要的,如果没有new一个新的布局而直接使用设置另外的布局,那么编译的结果还是默认的布局,而不是你设置的布局。
用例子说明下:
package PanelTest; /** * 测试JPanel的布局问题 * 对两个组件JLabel和JButton进行布局 * */ import java.awt.*; import javax.swing.*; public class PanelLayoutTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //try{ frameTest f = new frameTest(); f.setTitle("PanelLayoutTest"); f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); f.setVisible(true); //} //catch(Exception e){ // System.out.println(e); //} } } // JFrame class class frameTest extends JFrame { frameTest() { panelTest p = new panelTest(); this.add(p); this.pack(); } } // Panel class class panelTest extends JPanel { private JLabel label; private JButton button; panelTest() { this.setLayout(new BorderLayout()); // 将panel的默认布局flow设置为设置边界布局,括号中是必须的 label=new JLabel(); label.setText("Test"); this.add(label, BorderLayout.SOUTH);//设置按钮的布局位置 button=new JButton("Test"); this.add(button, BorderLayout.NORTH);//设置label的布局位置 } }
相关文章推荐
- java布局设置中的部分问题
- Java GUI JLabel 和 JPanel 图片 和组件重叠问题
- java GUI布局与设置背景
- JAVA GUI学习 - 窗体背景图片设置方法:重写paintComponent(Graphics g)方法
- #javaGUI#基于swing包的java用户界面设置入门,布局篇
- Java 使用BorderLayout布局时子组件设置大小不起作用的问题
- 学习Java中所遇到问题,关于为什么List为什么会设置成接口
- Java-GUI(4)JSplitPane、设置窗口小图标、JTabbedPane、记事本中用到的组件、卡片布局
- java在线聊天项目0.2版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包) BorderLayout布局与GridLayout布局不同之处 JPanel设置大小
- java学习--GUI1
- JAVA语言GUI编程之布局管理器总结
- JAVA学习笔记45——四种引用+三种HashMap+同步控制+不可变设置
- Java学习之道:问题一
- JAVA学习脚印11: java GUI 发展简史
- Android开发学习笔记(五):关于R.java消失或无法更新的问题
- JAVA学习第五十八课 — GUI
- java基础知识回顾之java Thread类学习(四)--java多线程安全问题(锁)
- XML布局文件于Java代码使用问题
- java学习笔记---第一个applet程序以及一个小问题的解决
- Android系统设置大号字体后布局错乱的问题