java - 是否可以同时显示 2 帧?
问题描述
所以我正在做一个小测验。它已经完成了,但我仍在向其中添加一些东西。每次出现问题时,我都想在其上添加一个倒计时的计时器。我已经单独创建了该倒计时,现在我正在尝试将其添加到不同的框架中。
我的问题是,是否可以将一个框架(计时器)添加到另一个框架(问题+答案)上?
我用 JFrame 做了所有事情!
这是倒计时的代码:
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);
}
}
解决方案
也许是因为您的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
看到了吗?
推荐阅读
- python - 使用向堆积线图添加数据标签
- angular - 更改空消息多选启动
- javascript - 在反应中将图像 ID 从组件传递到另一个组件(图像编辑器)的最简单方法是什么?
- powerbi - SSAS 表格是否支持聚合表?
- bootstrap-4 - Navbar side minu 先显示图标然后打开
- flutter - Flutter:如何找到错误的位置,构建错误,未找到:'dart:html'?
- deep-learning - flax (google) 和 dm-haiku (deepmind) 之间的主要区别是什么?
- javascript - 为什么 chrome.tabs.executeScript 方法的回调结果总是返回一个空对象?
- javascript - 删除动态附加的事件监听器到元素
- javascript - Promise.all 不等待最终结果