2017-05-11 1 views
-1

スイングの要件があります。私は一定の時間間隔(例えば15秒)の後にテキストエリアを開く必要がありますを繰り返して。ここでスイングを使用して一定の時間間隔の後にテキストエリアを開く方法

は、ディスプレイのコードがテキストエリア

import javax.swing.*; 
public class TextAreaExample 
{ 
    TextAreaExample(){ 
     JFrame f= new JFrame(); 
     JTextArea area=new JTextArea("Welcome to javatpoint"); 
     area.setBounds(10,30, 200,200); 
     f.add(area); 
     f.setSize(300,300); 
     f.setLayout(null); 
     f.setVisible(true); 
    } 
public static void main(String args[]) 
    { 
    new TextAreaExample(); 
    }} 

ある今、私たちは時間のいくつかの間隔の後、再びテキストエリアを開き、再びなり、ここでスレッドを追加する必要がありだと思います。右?その場合、スレッド関連のコードはどこに追加すればよいですか?

上記のコードにスレッド関連の部分を追加することはできますか?

+1

ようこそStackOverflow!フレンドリーな思い出、あなたのために仕事をするためにここに誰も支払われません。実装に関する特定の質問がある場合、私はあなたを援助したい人がたくさんいると確信しています。残念ながら、私たちはコード作成サービスではありません。 – CraigR8806

+1

1)Java GUIは、異なるロケールで異なるPLAFを使用する異なるOS、画面サイズ、画面解像度などで動作する必要があります。したがって、ピクセルの完全なレイアウトには役立ちません。代わりに、レイアウトマネージャや[それらの組み合わせ](http://stackoverflow.com/a/5630271/418556)と[空白](http://stackoverflow.com/a/17874718/)のレイアウトパディングとボーダーを使用してください。 418556)。 2)表示されているか表示されていないかを切り替えるには、[[CardLayout'](http://download.oracle.com/javase/8/docs/api/java/awt/CardLayout.html) ](http://stackoverflow.com/a/5786005/418556)。 .. –

+0

.. 3)答えで述べたように、SwingベースのTimerを使用してカード間を移動します。 4)* "誰もスレッド関連の部分を上記のコードに追加できますか?" * SOはコーディングサービスではありません。提案を実装しようとすると、あなたが立ち往生した場合*具体的な*質問を私たちに戻って取得してください。 –

答えて

2

スイングタイマーを使用することをお勧めします。 Swingタイマー(javax.swing.Timerのインスタンス)は、指定された遅延後に1つまたは複数のアクションイベントを発生させます。ここに簡単な例があります:

timer = new Timer(speed, this); // this: class implementing ActionListener 
timer.setInitialDelay(pause); 
timer.start(); 

void actionPerformed(ActionEvent e) { 
    ... 
+0

これは何度も何度も何度もイベントを発生させるでしょうか?私はイベントを何度も放つ必要があります。 – RDX

+0

はい、繰り返します。私はapiを見てみることをお勧めします:https://docs.oracle.com/javase/8/docs/api/javax/swing/Timer.html – Thomas

関連する問題