如何使用循环从另一个 JFrame 为一堆 JButton 设置文本?
How to set text for a bunch of JButton from another JFrame with loop?
我在 JFrame
上的网格中有 36 个 JButton
组件,当我从菜单打开框架时,希望将它们的文本设置为 1、2、3 ... 36在另一个框架上。 (稍后我必须随机化他们的号码。)
按钮的名称相似:
jButton1
jButton2
jButton3
...
jButton35
jButton36
要简单地将第一个按钮文本更改为 1 是:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
grid gr = new grid();
grid.jButton1.setText("1");
gr.setVisible(true);
}
有这样的方法吗?:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
grid gr = new grid();
String number;
for (int i=1; i<37; i++) {
number=Integer.toString(i);
grid.jButton<i>.setText(number);
}
gr.setVisible(true);
}
我找到了这些链接,但它们不是很有用,因为我的按钮不在任何数组或列表中,它们从同一帧更改文本,或者没有其他方法吗?:
Assigning variables with dynamic names in Java
How to give each JButton in a 10 x 10 grid button layout a unique ID/name
How to rename set of JButtons?
创建一个 JButton 类型的 ArrayList,将 JButton 添加到其中,然后使用 for-each 循环进行迭代并赋值。此代码对我有用。
JFrame frame = new JFrame();
frame.setSize(400, 500);
frame.setVisible(true);
frame.setLayout(null);
ArrayList<JButton> buttons = new ArrayList<JButton>();
JButton b1= new JButton();
JButton b2= new JButton();
JButton b3= new JButton();
JButton b4= new JButton();
JButton b5= new JButton();
buttons.add(b1);
buttons.add(b2);
buttons.add(b3);
buttons.add(b4);
buttons.add(b5);
int count = 1;
for(JButton b: buttons)
{
b.setText(String.valueOf(count));
b.setBounds(0,count*50,50,30);
frame.add(b);
count++;
}
我在 JFrame
上的网格中有 36 个 JButton
组件,当我从菜单打开框架时,希望将它们的文本设置为 1、2、3 ... 36在另一个框架上。 (稍后我必须随机化他们的号码。)
按钮的名称相似:
jButton1
jButton2
jButton3
...
jButton35
jButton36
要简单地将第一个按钮文本更改为 1 是:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
grid gr = new grid();
grid.jButton1.setText("1");
gr.setVisible(true);
}
有这样的方法吗?:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
grid gr = new grid();
String number;
for (int i=1; i<37; i++) {
number=Integer.toString(i);
grid.jButton<i>.setText(number);
}
gr.setVisible(true);
}
我找到了这些链接,但它们不是很有用,因为我的按钮不在任何数组或列表中,它们从同一帧更改文本,或者没有其他方法吗?:
Assigning variables with dynamic names in Java
How to give each JButton in a 10 x 10 grid button layout a unique ID/name
How to rename set of JButtons?
创建一个 JButton 类型的 ArrayList,将 JButton 添加到其中,然后使用 for-each 循环进行迭代并赋值。此代码对我有用。
JFrame frame = new JFrame();
frame.setSize(400, 500);
frame.setVisible(true);
frame.setLayout(null);
ArrayList<JButton> buttons = new ArrayList<JButton>();
JButton b1= new JButton();
JButton b2= new JButton();
JButton b3= new JButton();
JButton b4= new JButton();
JButton b5= new JButton();
buttons.add(b1);
buttons.add(b2);
buttons.add(b3);
buttons.add(b4);
buttons.add(b5);
int count = 1;
for(JButton b: buttons)
{
b.setText(String.valueOf(count));
b.setBounds(0,count*50,50,30);
frame.add(b);
count++;
}