java - 将 Jbutton 添加到 Jpanel

标签 java swing jframe jpanel calculator

有人可以告诉我这段代码有什么问题吗?我正在尝试将按钮添加到我的 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() 循环之外执行此操作)。

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

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

如果您稍后仍需要引用各个 JButton,请将它们另外添加到数组中:

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;
}

关于java - 将 Jbutton 添加到 Jpanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475596/

相关文章:

Java 基础知识帮助

java - 第二个 JFrame 首先关闭

java - 用于过滤/排序大量数据的插件或模块?

java - 为变量分配某个值时中断

java - SWT 表头中 & 符号的解决方法

java - 我应该在哪里/什么时候创建一个表作为我的程序的基础?

Java - 如何检查 JOptionPane.showInputDialog 中确切输入的内容

java - MatteBorder 不适用于从右到左的组件方向

java - 打开新的 JFrame 时禁用 JFrame

java - 我试图在 JFrame 中绘制一个字符串,但它不起作用..请帮忙