所以我正在做一个小测验。它完成了,但我仍在添加一些东西。每当出现问题时,我都想在上面添加一个具有倒计时的计时器。我已经分别创建了该倒计时,现在尝试将其添加到其他框架中。
我的问题是,是否可以在另一个框架(问题和答案)上添加一个框架(计时器)?
我用JFrames做所有事情!
以下是倒计时的代码:
public class timer extends JFrame {
public timer() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new TestPane());
frame.pack();
frame.setVisible(true);
}
}
class TestPane extends JPanel {
JLabel label;
Timer timer;
int count;
public TestPane() {
label = new JLabel("...");
setLayout(new GridBagLayout());
add(label);
timer = new Timer(500, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
count++;
if (count < 100000) {
try{
Thread.sleep(500);
}
catch(InterruptedException error){
}
label.setText(Integer.toString(count));
} else {
((Timer) (e.getSource())).stop();
}
}
});
timer.setInitialDelay(0);
timer.start();
}
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 200);
}
}
答案 0 :(得分:0)
也许是因为Timer
类的名称错误吗?
public class Timer extends JFrame {
public Timer() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new TestPane());
frame.pack();
frame.setVisible(true);
}
}
您在Timer
代码中创建了TestPane
的新实例,但是您的类名是timer
,看到了吗?