类Main具有构造JFrame的主要方法。 MainView类具有附加在JFrame上的面板和按钮。
我需要做的是点击某个按钮来处理JFrame窗口。
我已经尝试过各种方法,我从这里找到了Stackoverflow。但到目前为止还没有解决方案。
public final class Main {
static JFrame frame = null;
public static void main(String[] args) throws IOException {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
frame = new MainView("Blackjack 2017");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(650, 450);
frame.setVisible(true);
}
});
}
}
来自
public class MainView extends JFrame implements ActionListener {
private static final long serialVersionUID = 4728244239185625080L;
private Dealer dealer;
private User user;
private ControlPanel controlPanel;
public static Container c;
public MainView() {
}
public MainView(String title) throws IOException {
super(title);
dealer = new Dealer();
user = new User();
System.out.println(title + " frame made");
controlPanel = new ControlPanel();
controlPanel.setControlPanel();
c = getContentPane();
c.add(controlPanel);
controlPanel.getPlayBtn().addActionListener(this);
controlPanel.getExitBtn().addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Play")) {
System.out.println("play clicked");
c.removeAll();
c.add(playPanel);
c.validate();
} else if (e.getActionCommand().equals("Exit")) {
}
答案 0 :(得分:0)
查看Closing an Application以了解关闭框架(或对话框)的一些基础知识。
您可以使用ExitAction
类,这是一个通用Action
,可以添加到任何按钮(或菜单项),并且就像用户点击关闭按钮一样窗口。
代码的工作原理是将windowClosing
事件分派给窗口。因此,它假设您已为窗口调用setDefaultCloseOperation(...)
。