0

編集できないテキストフィールドがあるパネルがあります。textField.setText(timer);パネルに何かを追加できるようにしたいです。基本的には、JTextArea に 0:0:0 のように表示させたいだけです。

Timers、TimerTasks、ActionListeners、および並べ替えを作成してみました。私はこれのこつを得ることができません。たぶん、タイマーを追加している場所が原因ですか?現時点では、 に追加しようとしましたpublic void guiComponents() throws Exception{...}。このメソッドは、パネル、それが含まれるフレーム、およびその他のコンポーネントのすべてのプロパティを保持します。

たぶん、タイマーの概念全体を過小評価していません。元々、二重にネストされた for ループを使用してこのタスクを達成しようとしましたが、プログラムの残りの部分が実行されている間、これを実行する必要があるため、それはできませんでした。

4

1 に答える 1

3

これには JTextField を使用しないでください。JLabel を使用してテキストを表示します。何かのようなもの:

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

public class TimerTime extends JFrame implements ActionListener
{
    JLabel timeLabel;

    public TimerTime()
    {
        timeLabel = new JLabel( new Date().toString() );
        getContentPane().add(timeLabel, BorderLayout.NORTH);
    }

    public void actionPerformed(ActionEvent e)
    {
        timeLabel.setText( new Date().toString() );
    }

    public static void main(String[] args)
    {
        TimerTime frame = new TimerTime();
        frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
        frame.pack();
        frame.setVisible(true);

        int time = 1000;
        javax.swing.Timer timer = new javax.swing.Timer(time, frame);
        timer.setInitialDelay(1);
        timer.start();
    }
}
于 2013-04-17T04:30:43.210 に答える