将 Jbutton 添加到 Jpanel

2022-01-24 00:00:00 calculator java swing jpanel jframe

有人能告诉我这段代码有什么问题吗?我正在尝试将按钮添加到我的 JPanel 中

can somebody tell me what is wrong with this code i am trying to add the buttons to my JPanel

ArrayList<JButton> buttons = new ArrayList<JButton>();

JPanel createButtonspane(){
   bpanel = new JPanel();
   for(int i=0; i<10; i++){
      buttons.add(new JButton(""+i));
      bpanel.add(buttons);
   }
   return bpanel;
}

推荐答案

此代码无法编译,因为 JPanel 没有 add() 的重载,它需要一个JButton 数组,因此您不能将整个按钮数组添加到 JPanel(即使可以,您也需要在 之外进行>for()-循环).

This code does not compile because JPanel does not have an overload of add() which takes an array of JButtons, so you can not add a whole array of buttons to the JPanel (even if it was possible, you would need to do it outside of your for()-loop).

只需将您的按钮直接添加到 JPanel:

Simply add your button directly to the JPanel:

JPanel createButtonspane(){
   bpanel = new JPanel();
   for(int i=0; i<10; i++){
      bpanel.add(new JButton(""+i));
   }
   return bpanel;
}

如果以后还需要引用个别的JButton,另外添加到数组中:

If you still need to refer to the individual JButtons later, add them to the array in addition:

JPanel createButtonspane(){
   bpanel = new JPanel();
   for(int i=0; i<10; i++){
      JButton button = new JButton(""+i);
      buttons.add(button);
      bpanel.add(button);
   }
   return bpanel;
}

相关文章