Java 在面板中排列项目
我正在为我的高中班编写一个小项目,但现在我在使用框架时遇到了一点问题。我正试图找到一种最简单、最有效的方式来安排Java7中面板的内容(注意:这意味着SpringUtilities不是一个选项) 对于每个项目的安排,我希望它能够在顶部输入您的姓名,然后在名称框下方的同一行中有3个按钮 到目前为止我掌握的代码是Java 在面板中排列项目,java,swing,jframe,jpanel,layout-manager,Java,Swing,Jframe,Jpanel,Layout Manager,我正在为我的高中班编写一个小项目,但现在我在使用框架时遇到了一点问题。我正试图找到一种最简单、最有效的方式来安排Java7中面板的内容(注意:这意味着SpringUtilities不是一个选项) 对于每个项目的安排,我希望它能够在顶部输入您的姓名,然后在名称框下方的同一行中有3个按钮 到目前为止我掌握的代码是 private static void userInterface(){ //Declare and assign variables final S
private static void userInterface(){
//Declare and assign variables
final String[] options = {"Lvl 1", "Lvl 2", "Lvl 3"};
int optionsAmt = options.length;
//Create the panel used to make the user interface
JPanel panel = new JPanel(new SpringLayout());
//Create the name box
JTextField tf = new JTextField(10);
JLabel l = new JLabel("Name: ");
l.setLabelFor(tf);
panel.add(l);
panel.add(tf);
//Create 3 buttons with corresponding values of String options
for(int a = 0; a < optionsAmt; a++){
JButton b = new JButton(options[a]);
panel.add(new JLabel());
panel.add(b);
}
//Layout the panel
}
public static void main(String[] args) {
JFrame f = new JFrame();
f.pack();
f.setTitle("Number Game");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
private static void userInterface(){
//声明和分配变量
最后一个字符串[]选项={“1级”、“2级”、“3级”};
int options金额=options.length;
//创建用于创建用户界面的面板
JPanel panel=newjpanel(newspringlayout());
//创建名称框
JTextField=新的JTextField(10);
JLabel l=新的JLabel(“名称:”);
l、 setLabelFor(tf);
小组.添加(l);
小组委员会.增补(tf);
//使用字符串选项的相应值创建3个按钮
对于(int a=0;a
“轻松”是一个相对的术语,例如,您可以执行以下操作
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridLayout(2, 1));
JPanel fieldPane = new JPanel();
fieldPane.add(new JTextField(10));
add(fieldPane);
JPanel buttonPane = new JPanel();
buttonPane.add(new JButton("1"));
buttonPane.add(new JButton("2"));
buttonPane.add(new JButton("3"));
add(buttonPane);
}
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridwidth = 3;
gbc.gridx = 0;
gbc.gridy = 0;
add(new JTextField(10), gbc);
gbc.gridwidth = 1;
gbc.gridy = 1;
add(new JButton("1"), gbc);
gbc.gridx++;
add(new JButton("2"), gbc);
gbc.gridx++;
add(new JButton("3"), gbc);
}
}
或者类似
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridLayout(2, 1));
JPanel fieldPane = new JPanel();
fieldPane.add(new JTextField(10));
add(fieldPane);
JPanel buttonPane = new JPanel();
buttonPane.add(new JButton("1"));
buttonPane.add(new JButton("2"));
buttonPane.add(new JButton("3"));
add(buttonPane);
}
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridwidth = 3;
gbc.gridx = 0;
gbc.gridy = 0;
add(new JTextField(10), gbc);
gbc.gridwidth = 1;
gbc.gridy = 1;
add(new JButton("1"), gbc);
gbc.gridx++;
add(new JButton("2"), gbc);
gbc.gridx++;
add(new JButton("3"), gbc);
}
}
两者都很简单,都能完成任务,但你会使用哪一个在很大程度上取决于你想要实现什么
查看更多详细信息“轻松”是一个相对术语,例如,您可以执行以下操作
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridLayout(2, 1));
JPanel fieldPane = new JPanel();
fieldPane.add(new JTextField(10));
add(fieldPane);
JPanel buttonPane = new JPanel();
buttonPane.add(new JButton("1"));
buttonPane.add(new JButton("2"));
buttonPane.add(new JButton("3"));
add(buttonPane);
}
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridwidth = 3;
gbc.gridx = 0;
gbc.gridy = 0;
add(new JTextField(10), gbc);
gbc.gridwidth = 1;
gbc.gridy = 1;
add(new JButton("1"), gbc);
gbc.gridx++;
add(new JButton("2"), gbc);
gbc.gridx++;
add(new JButton("3"), gbc);
}
}
或者类似
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridLayout(2, 1));
JPanel fieldPane = new JPanel();
fieldPane.add(new JTextField(10));
add(fieldPane);
JPanel buttonPane = new JPanel();
buttonPane.add(new JButton("1"));
buttonPane.add(new JButton("2"));
buttonPane.add(new JButton("3"));
add(buttonPane);
}
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridwidth = 3;
gbc.gridx = 0;
gbc.gridy = 0;
add(new JTextField(10), gbc);
gbc.gridwidth = 1;
gbc.gridy = 1;
add(new JButton("1"), gbc);
gbc.gridx++;
add(new JButton("2"), gbc);
gbc.gridx++;
add(new JButton("3"), gbc);
}
}
两者都很简单,都能完成任务,但你会使用哪一个在很大程度上取决于你想要实现什么
请查看以了解更多详细信息