我想把我的秒表放到JPanel中的JTextPane,但它没有出现:/我不知道我是否可以在课程(extends JLabel)
中放置(extends JPanel)
课程中的objetct。也许,这就是原因。
我的秒表课程:
public class StopWatch extends JLabel implements ActionListener {
private DecimalFormat df = new DecimalFormat("0.0");
private Timer timer = new javax.swing.Timer(100, this);
private long now = System.currentTimeMillis();
public StopWatch() {
this.setText(when());
}
public void actionPerformed(ActionEvent ae) {
setText(when());
}
public void start() {
timer.start();
}
public void stop() {
timer.stop();
}
private String when() {
return df.format((System.currentTimeMillis() - now) / 1000d);
}
}
这就是我使用它的方式:
public class Tlo extends JPanel {
....
StopWatch stopwatch = new StopWatch();
JTextPane time = new JTextPane();
time.setFont(new Font("Arial", Font.PLAIN, 28));
time.setBounds(135,598,115,34);
time.setBackground(new Color(182, 221, 232));
time.setEditable(false);
time.add(stopwatch);
add(time);
stopwatch.start();
...
}
我该如何解决?
答案 0 :(得分:0)
问题是,虽然JTextPane
继承自Container
类,但add方法不会将组件添加到JTextComponent
的文档中。只会呈现这些文档组件。
替换:
time.add(stopwatch);
与
time.insertComponent(stopwatch);