根据用户输入在 for 循环中创建带有标题边框的 JPanel
Creating JPanels with a titled border in a for loop from user input
我想创建一个 for 循环来创建 JPanel
个标题为 headers 的容器。迭代次数取决于之前界面的用户输入。
int noofpara=Integer.parseInt(data[6]);
for(int i=1;i<=noofpara;i++){
jPanel1.add(new JPanel().setBorder(new TitledBorder("Perimeter"+i)));
}
noofpara
是用户选择的周长数,因为 for 循环应该创建带有标题边框和周长数的面板。错误出现在 jpanel1.add...
处,它表示不允许使用 void 类型。
您必须制作新面板并添加。
for (int i = 1; i <= noofpara; i++) {
JPanel innerPane = new JPanel();
innerPane.setBorder(new TitledBorder("Perimeter" + i));
jPanel1.add(innerPane);
}
JPanel#setBorder
方法具有 void
return 类型,这意味着它在调用该方法时 return 没有任何值。
但是 JPanel#add
方法需要一个值才能调用,因为 setBorder 是无效的,所以会出现编译错误。
你可以通过这个简单地解决这个问题。
JPanel childPanel = new JPanel();
childPanel.setBorder(new TitledBorder("Perimeter" + i));
jPanel1.add(childPanel);
我想创建一个 for 循环来创建 JPanel
个标题为 headers 的容器。迭代次数取决于之前界面的用户输入。
int noofpara=Integer.parseInt(data[6]);
for(int i=1;i<=noofpara;i++){
jPanel1.add(new JPanel().setBorder(new TitledBorder("Perimeter"+i)));
}
noofpara
是用户选择的周长数,因为 for 循环应该创建带有标题边框和周长数的面板。错误出现在 jpanel1.add...
处,它表示不允许使用 void 类型。
您必须制作新面板并添加。
for (int i = 1; i <= noofpara; i++) {
JPanel innerPane = new JPanel();
innerPane.setBorder(new TitledBorder("Perimeter" + i));
jPanel1.add(innerPane);
}
JPanel#setBorder
方法具有 void
return 类型,这意味着它在调用该方法时 return 没有任何值。
但是 JPanel#add
方法需要一个值才能调用,因为 setBorder 是无效的,所以会出现编译错误。
你可以通过这个简单地解决这个问题。
JPanel childPanel = new JPanel();
childPanel.setBorder(new TitledBorder("Perimeter" + i));
jPanel1.add(childPanel);