Java如何将其他类的应用程序添加到gui类中



我的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) {
}
}

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

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

非常感谢!

相关内容

  • 没有找到相关文章

最新更新