Java 如何调用在JButton ActionListner中需要InterrupedException的方法
我想能够按下一个按钮,并使用Java2D创建一个小游戏。 我曾尝试使用try/catch,但它被卡在无限循环中(我想是因为create方法中的while循环) 以下是create方法的代码:Java 如何调用在JButton ActionListner中需要InterrupedException的方法,java,jbutton,actionlistener,interrupted-exception,Java,Jbutton,Actionlistener,Interrupted Exception,我想能够按下一个按钮,并使用Java2D创建一个小游戏。 我曾尝试使用try/catch,但它被卡在无限循环中(我想是因为create方法中的while循环) 以下是create方法的代码: public void create () throws InterruptedException { JFrame frame = new JFrame("Mini Tennis"); GameMain gamemain = new GameMain(); frame.add(g
public void create () throws InterruptedException {
JFrame frame = new JFrame("Mini Tennis");
GameMain gamemain = new GameMain();
frame.add(gamemain);
frame.setSize(350, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
while (true) {
gamemain.move();
gamemain.repaint();
Thread.sleep(10);
}
}
我相信您的无限循环正在阻止swing线程响应您的按钮 尝试将循环放在单独的线程中:
public void create () throws InterruptedException {
JFrame frame = new JFrame("Mini Tennis");
GameMain gamemain = new GameMain();
frame.add(gamemain);
frame.setSize(350, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
(new Thread() {
public void run() {
while (true) {
gamemain.move();
gamemain.repaint();
Thread.sleep(10);
}
}
).start();
}
public void create () throws InterruptedException {
JFrame frame = new JFrame("Mini Tennis");
GameMain gamemain = new GameMain();
frame.add(gamemain);
frame.setSize(350, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
(new Thread() {
public void run() {
while (true) {
gamemain.move();
gamemain.repaint();
Thread.sleep(10);
}
}
).start();
}