网格布局Java
我已经创建了一个java程序,它显示了一个按钮和标签的网格,我想知道如何在标签和按钮上设置一个约束,这样当窗口被拖出时,它们就不会改变大小。。有人能帮忙吗 这是我的gridlayout课程网格布局Java,java,swing,jbutton,jlabel,grid-layout,Java,Swing,Jbutton,Jlabel,Grid Layout,我已经创建了一个java程序,它显示了一个按钮和标签的网格,我想知道如何在标签和按钮上设置一个约束,这样当窗口被拖出时,它们就不会改变大小。。有人能帮忙吗 这是我的gridlayout课程 package JFrameTester; import java.awt.Dimension; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JL
package JFrameTester;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class layout extends JFrame {
JButton button1,button2,button3;
JLabel label1,Label2,Label3;
public layout (){
setLayout(new GridLayout(2, 2));
button1 = new JButton ("button1");
add(button1);
label1 = new JLabel ("label1");
add(label1);
button2 = new JButton ("button1");
add(button2);
Label2 = new JLabel ("Label2");
add(Label2);
button3 = new JButton ("button1");
add(button3);
Label3 = new JLabel ("Label3");
add(Label3);
}
}
这是我的主课
public class JFrameTester {
/**
* @param args
*/
public static void main(String[] args) {
layout Lay = new layout();
Lay.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Lay.setVisible(true);
// JFrame frame = new JFrame("BUY COMPUTER");
Lay.setSize(800, 600);
//frame.pack();
// frame.setVisible(true);
Lay.addWindowListener(new MyWindowListener());
}
}
将标签和按钮放置在
JPanel
中,然后将该JPanel
添加到GridLayout
中GridLayout
自动调整组件大小,以适应放置组件的单元格大小,当调整JFrame
大小时,它将根据需要调整组件大小。如果将它们放置在JPanel
s中,则只有该单元格中的JPanel
将被调整大小,而不是组件
编辑
除此之外,Java的做法是用大写字母命名所有类,layout
应该是layout
。但是,名称Layout
不能准确地表达类Layout
的目的,因为您的类不是布局,而是一个JFrame
。也许LayoutFrame
会是一个更好的类名
并且(这是默认的Java实践)变量应该是camelcase,以小写字母开头,后面的单词有大写字母,例如
thisisaviable
。或者,您可以使用下划线,这不是正常的Java实践,这是一个变量
。假设Java类通常以大写字母开头,变量以小写字母开头,那么语句layout Lay=new layout()代码>乍看起来很奇怪,有点混乱。您给类名“layout”是错误的。因为根据Java命名约定,类名应该总是以大写字母开头。