[英]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);
}
我已經找到了這些鏈接,但是它們並不是很有用,因為我的按鈕不在任何數組或列表中,並且它們正在更改同一框架中的文本,或者沒有其他方法嗎?:
創建類型為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++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.