2

这个类的构造有问题吗?我正在尝试将它的一个实例添加到另一个类中的 JPanel:

public class calculator2 extends JPanel {
     public calculator2() {
         JPanel x = new JPanel();
         x.setLayout(new GridLayout(0,5));

         x.add(new JLabel());
         x.add(new JButton("<<"));
         x.add(new JLabel());
         x.add(new JButton(">>"));
         x.add(new JLabel());
     }
}

这就是我试图使用它:

    calculator2 test = new calculator2();
    JPanel panel3 = new JPanel(new BorderLayout());
    panel3.add(test, BorderLayout.SOUTH);

我没有收到任何类型的运行时错误,只是没有出现。当我将来自calculator2 类的代码放在我在第二部分代码中使用的同一类中时,它会显示出来。谢谢您的考虑。

这实际上只是一个示例,我有一个包含大约 25 个组件的完整类,使用 actionlistener 等,并希望使用上述方法将其添加到面板中。

4

1 回答 1

5

在这里,您只是创建面板,而没有将其添加到任何可见的地方。尝试使用从 JPanel 继承的父方法,而不是在构造函数中创建另一个 JPanel 的新实例。

这将是,只需删除名为 x 的实例。

public class calculator2 extends JPanel {
  public calculator2() {
     super();
     setLayout(new GridLayout(0,5));

     add(new JLabel());
     add(new JButton("<<"));
     add(new JLabel());
     add(new JButton(">>"));
     add(new JLabel());
 }
}
于 2012-08-29T20:03:49.030 回答