我如何能够使用 JFrame 在列上显示用户输入的文本?
How am I able to show text from user input on column with JFrame?
我正在尝试创建允许用户输入文本到 JCheckBox
的待办事项列表。
但是有一个问题,JFrame
上的任何内容都没有
的最后一部分
getContentPane().add(checkBox3,BorderLayout.EAST);.
我理想中的结果是这样的
□Cleaning
□Have Dinner with friend
我该如何修复它?
我附上了那个代码的文件,所以请检查它。
您已将 JPanel 布局设置为 GridLayout,然后添加元素,如果您使用 BorderLayout,这是错误的。
将 Jpanel 的布局设置为 FlowLayout :
p.setLayout(new FlowLayout());
像这样添加元素:
getContentPane().add(checkBox1);
getContentPane().add(checkBox2);
getContentPane().add(checkBox3);
遵循示例代码....
public class FrameTest extends JFrame{
private JCheckBox jb1;
private JCheckBox jb2;
private JCheckBox jb3;
private JCheckBox jb4;
private JCheckBox jb5;
private JPanel jPanel1;
/**
* Creates new form CheckBoxDinamico
*/
public FrameTest() {
setLayout(new GridBagLayout());
setPreferredSize(new Dimension(800, 600));
jPanel1 = new JPanel();
jPanel1.setLayout(new FlowLayout());
add(jPanel1);
jb1 = new JCheckBox("Cleaning");
jb2 = new JCheckBox("Have dinner with friend");
jb3 = new JCheckBox("Go sleep by 11pm");
jb4 = new JCheckBox("Wake Up by 6am");
jb5 = new JCheckBox();
try {
if(jb5.getText() == null || "".equals(jb5.getText())){
jb5.setText(new Scanner(System.in).nextLine());
}
jPanel1.add(jb1);
jPanel1.add(jb2);
jPanel1.add(jb3);
jPanel1.add(jb4);
jPanel1.add(jb5);
} catch (Exception e) {
}
pack();
}
public static void main(String args[]) {
new FrameTest().setVisible(true);
}
}
我正在尝试创建允许用户输入文本到 JCheckBox
的待办事项列表。
但是有一个问题,JFrame
上的任何内容都没有
getContentPane().add(checkBox3,BorderLayout.EAST);.
我理想中的结果是这样的
□Cleaning
□Have Dinner with friend
我该如何修复它? 我附上了那个代码的文件,所以请检查它。
您已将 JPanel 布局设置为 GridLayout,然后添加元素,如果您使用 BorderLayout,这是错误的。
将 Jpanel 的布局设置为 FlowLayout :
p.setLayout(new FlowLayout());
像这样添加元素:
getContentPane().add(checkBox1);
getContentPane().add(checkBox2);
getContentPane().add(checkBox3);
遵循示例代码....
public class FrameTest extends JFrame{
private JCheckBox jb1;
private JCheckBox jb2;
private JCheckBox jb3;
private JCheckBox jb4;
private JCheckBox jb5;
private JPanel jPanel1;
/**
* Creates new form CheckBoxDinamico
*/
public FrameTest() {
setLayout(new GridBagLayout());
setPreferredSize(new Dimension(800, 600));
jPanel1 = new JPanel();
jPanel1.setLayout(new FlowLayout());
add(jPanel1);
jb1 = new JCheckBox("Cleaning");
jb2 = new JCheckBox("Have dinner with friend");
jb3 = new JCheckBox("Go sleep by 11pm");
jb4 = new JCheckBox("Wake Up by 6am");
jb5 = new JCheckBox();
try {
if(jb5.getText() == null || "".equals(jb5.getText())){
jb5.setText(new Scanner(System.in).nextLine());
}
jPanel1.add(jb1);
jPanel1.add(jb2);
jPanel1.add(jb3);
jPanel1.add(jb4);
jPanel1.add(jb5);
} catch (Exception e) {
}
pack();
}
public static void main(String args[]) {
new FrameTest().setVisible(true);
}
}