0

我的 Keypad 类是分开的,我想从另一个类(gui)运行它,所以我可以在我的 gui 类(一些 btn 等)中拥有我想要的任何东西,然后在我的 Keypad 底部。

当我尝试时,Keypad kp = new Keypad();我几乎得到了我想要的,但它们显示在不同的窗口中,我希望它们在同一个窗口中。

那是键盘类:

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class KeypadWork extends JFrame implements ActionListener {

private JButton buttonR = new JButton("Reset");
private JButton button0 = new JButton("0");
private JButton buttonE = new JButton("Enter");



public KeypadWork() {
    setTitle("Keypad");

    setLayout(new GridLayout(4, 3, 2, 2));
    for (int i = 1; i < 10; i++) {
        addButton(new JButton(String.valueOf(i)));
    }

    addButton(buttonR);
    addButton(button0);
    addButton(buttonE);

    this.pack();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setResizable(false);
    setVisible(true);

}

private void addButton(JButton button) {
    button.addActionListener(this);
    add(button);
}

@Override
public void actionPerformed(ActionEvent e) {

}
}
4

1 回答 1

0

这就是解决方案,谢谢@Alderath

如果您不希望KeyPadWork实例位于单独的窗口中,则不应将其设为JFrame. 如果您希望它在另一个窗口中,请JPanel改为扩展并使用普通 AWT方法将KeyPadWork实例添加到其他窗口。JFrameContainer.add(Component)

非常感谢!

于 2013-02-21T16:19:16.457 回答