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

时间:2013-02-21 16:04:08

标签: java swing user-interface

我把我的键盘分开了,我想从其他类(gui)运行它,所以我可以在我的gui类(一些btn等)中获得我想要的任何东西,然后在我的键盘底部。

当我尝试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) {

}
}

1 个答案:

答案 0 :(得分:0)

这是解决方案,谢谢@Alderath

  

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

非常感谢!