我想创建待办事项列表,允许用户输入文字到JCheckBox
。如何在JFrame上显示用户输入的文字?
但对JFrame
任何事物的不用的
getContentPane().add(checkBox3,BorderLayout.EAST);.
我的理想结果最后一个问题是这样的。
□Cleaning
□Have Dinner with friend
我该如何解决它? 我附上了该代码的文件,所以请检查它。
我想创建待办事项列表,允许用户输入文字到JCheckBox
。如何在JFrame上显示用户输入的文字?
但对JFrame
任何事物的不用的
getContentPane().add(checkBox3,BorderLayout.EAST);.
我的理想结果最后一个问题是这样的。
□Cleaning
□Have Dinner with friend
我该如何解决它? 我附上了该代码的文件,所以请检查它。
遵循示例代码....
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);
}
}
你已经设置你JPanel的布局网格布局,然后就像如果你使用BorderLayout的这是错误的添加元素。
设置你JPanel的布局,以的FlowLayout:
p.setLayout(new FlowLayout());
添加元素,像这样:
getContentPane().add(checkBox1);
getContentPane().add(checkBox2);
getContentPane().add(checkBox3);
非常感谢您的帮助,我会尽力写出来! – Shuta
您以错误的方式插入了您的组件。好的做法是将JPanel插入到JFrame中。之后,将checkBox组件添加到JPanel – Andrew