实施例..
Milk [ text field ]
Eggs [ text field ]
Yogurt [ text field ]
Chicken[ text field ]
我一直试图在窗口中添加多个文本框,但我已经意识到JTextBox
不支持多行。
我试图创建一个类似于杂货店的文件,显示多个项目,然后用户可以输入他们想要的任意数量的项目,并且该数字将被添加到总和中。
迄今为止我能够做到这一点的唯一方法是使用JCheckBox
,但它很可怕,如果可能的话,更多的是按照上面显示的方式进行操作。
P.S。我看过JTextArea
,但看起来只允许用户自由编写,就像段落一样。
答案 0 :(得分:1)
是的,但是你需要设置一个JLabel和JTextbox出现的布局,否则它们会相互叠加。 (更多关于布局的信息可以在这里找到: - https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html) 我在面板上使用了一个布局,有4行2列。
JPanel panel = new JPanel();
GridLayout gl = new GridLayout(4,2); // 4 rows, 2 columns
panel.setLayout(gl);
现在每次(从左到右)添加标签和文本框......
JLabel lblMilk = new JLabel("MILK");
JTextbox txbMilk = new JTextbox();
panel.add(lblMilk);
panel.add(txbMilk);
JLabel lblEggs = new JLabel("EGGS");
JTextbox txbEggs = new JTextbox();
panel.add(lblEggs);
panel.add(txbEggs);
然后将面板添加到您的框架中。