Java界面按钮自适应窗口大小

关于Java窗口上的组件如何自适应窗口大小的问题:

建立一个窗口和面板

JFrame J=new JFrame("这是窗口");
JPanel p=new JPanel();
J.add(p);
//界面设置
J.setBounds(300, 200, 400, 500);
J.setVisible(true);
J.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

新建一个 按钮和一个文本框

JButton button=new JButton("这是按钮");
JJTextArea area=new JTextArea("这是文本框");
p.add(button);
p.add(area);

 注意重点来了,接下就是要设置组件的大小,我采用的方法是,为窗口添加一个监听器,用来监听窗口的大小,然后组件的大小就按照窗口的大小来定义。这样一来,监听器发现窗口大小发生改变的时候就会改变setBounds()方法的参数,就可以实现组件的大小可以和窗口保持一致。

                J.addComponentListener(new ComponentListener() {
			//当窗口大小改变时
			public void componentResized(ComponentEvent e) {
                                //获取窗口的大小
			        Dimension d = J.getSize();

                                //设置组件的大小
                                button.setBounds(0, 0, d.width, height-20);
                                area.setBounds(0, height-50, d.width, height-20);
			}

			//当窗口位置改变时
			public void componentMoved(ComponentEvent e) {
				// TODO Auto-generated method stub
				
			}

			//当窗口可见时
			public void componentShown(ComponentEvent e) {
				// TODO Auto-generated method stub
				
			}

			//当窗口不可见时
			public void componentHidden(ComponentEvent e) {
				// TODO Auto-generated method stub
				
			}
		});
发布了88 篇原创文章 · 获赞 47 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/dai_ma_dong/article/details/103180555