是的,所以我的队友创建了一个包含倒计时的JApplet
我必须使用他的JApplet
并将其放入JPanel/JTab
(其位于JFrame
内),这是来自NetBeans Palette的内容。
简单地说,我有一个包含许多组件的页面,我只想在右上角倒计时。
在netbeans中使用GUI构建器,我创建了一个JPanel
和一个事件。在事件处理程序中,我把:
private void jPanel1ComponentShown(java.awt.event.ComponentEvent evt) {
// TODO: Countdown
Package.Packagename.Countdown.init();
}
我得到的错误信息是:
非静态方法init()无法从静态上下文中引用。
Applet可以自行运行,我只是不能把它放在这里。
答案 0 :(得分:3)
"我必须拿起他的JApplet并将其放入JPanel"
JApplet
是顶级容器,不应放在JPanel
内。但是,您可以获取JApplets
组件内容并将其放在JPanel
-OR -
不要试图使用朋友的applet代码,只需创建自己的代码即可。实施倒计时实际上并不困难。只需手动编码即可。
将标签拖放到相框的一角(jLabel
)
然后使用类似的东西
public class MyFrame extends javax.swing.JFrame {
int time = 100;
public MyFrame () {
initComponents();
jLabel.setText(String.valueOf(count));
javax.swing.Timer timer = new javax.swingTimer(1000, new java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent e) {
if (count == 0) {
((javax.swing.Timer)e.getSource()).stop();
} else {
count--;
jLabel.setText(String.valueOf(count));
}
}
});
timer.start();
}
}
如果您愿意,只需创建一个Timer
类成员,您可以从另一个actionPerformed
拨打start()
或stop()
答案 1 :(得分:1)
Applet是一个在桌面应用程序中无关的Web组件。
创建一个小部件(包含在JPanel
或其他内容中的内容),您将在applet和桌面应用中使用这些小部件。