问题描述
当用户单击“添加”按钮时,我需要将该行及其组件附加到JPanel中。 因此,我想通过将JTextField组件放置到特定位置来将其添加到JPanel中。
由于列始终是相同的数字,所以我只需要增加行数。 所以这是到目前为止我尝试过的当前代码。
int startRow = 3;
int row = startRow + 2;
textField_1 = new JTextField();
panel_1.add(textField_1, "3, row");//having error in this line
textField_1.setColumns(10);
startRow = row;
我在上述特定行上有错误。 看来eclipse并未将row读取为整数。
1楼
我认为您对Java领域还很陌生。
首先,将错误行更改为:
panel_1.add(textField_1);
.add()
仅采用1个参数(据目前您所需要知道的),并且必须在添加组件后对其进行定位。
这是使用布局管理器完成的。
我建议您阅读该文章,然后看一些演示。 我希望这有帮助。
在旁注中,我将为您的组件使用更好的名称,以使它们更易于查找。
目前,它还不是很重要,但是当您创建较大的应用程序时,您会非常依赖IDE的自动完成功能,这有助于了解调用的内容。
从组件类型的缩写版本开始,然后是其目的,通常是一个好主意-如果您有退出按钮,则将其btnExit
。
2楼
textField_1 = new JTextField();
textField_1.setColumns(10);
panel_1.add(textField_1);
如果您使用默认布局,则.add()
仅使用1个参数,如果您使用GridBagLayout
和BorderLayout
则.add()
将使用2个参数,一个是分量,另一个是Position。