2016-09-24 11 views
0

javabasedの処理(processing.org)でコーディングした後の純粋なJavaの新しいもの。処理では、メインクラスに設定メソッド(コンストラクタ)と描画メソッドがあります。基本的なJavaのメインメソッドと更新

描画メソッドは、プログラムを終了するまで何度も繰り返します。ドローで私は他のクラスから私のメソッドを実行します。

Javaでこれを行うにはどうすればよいですか?たとえば、カウンタをカウントするためのこのコードでは?

public class Testing3 { 

    public static void main(String[] args) { 
     MyClass c = new MyClass(); 
     System.out.println("c = " + c.getCount()); 
    } 
} 

とクラス:

public class MyClass { 

    private int value; 

    public MyClass() { 

    } 

    public void setCount(int startV) { 
     value = startV; 
    } 

    public int getCount() { 
     value++; 
     int counter = value % 10; 
     return counter; 
    } 
} 

私はもちろん、私は、whileループとループそれそのようにPRINTMESSAGEを置くことができます知っているが、私は他の方法があると思いますか?

私はまた、netbeansのGUIビルダーで少しスイングを使用しています。そこでは、メインメソッド内でオブジェクトに到達することができません。"static以外の変数は静的コンテンツから参照できません"。以下のような機能を介してのみ。しかし、ビルダーなどで作ったボタンを押さずにカウンターを手に入れたいのですが?

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {} 

私はそのnewbyの質問を知っていますが、私はちょっと混乱しています。

+0

コアのJavaでは、実際にはこれをループで行う必要があります。しかし、JavaFXには、一定の間隔でイベントを発生させるTimerクラスがあります。イベントハンドラは、これらのイベントがトリガされるたびにコードを実行できます。 – espendennis

+1

Swingで一定の間隔(1回または繰り返し)で何かを発生させるには、[javax.swing.Timer](https://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html) 。 '非静的変数を取得する'私は[mcve] – copeg

答えて

0

私は正確に(一つだけ質問がありますと仮定して)あなたの質問を理解していなかったが、私は、これはあなたが

 import java.awt.FlowLayout; 
     import java.awt.event.ActionEvent; 
     import java.awt.event.ActionListener; 
     import javax.swing.JButton; 
     import javax.swing.JFrame; 
     import javax.swing.JLabel; 

     class Listener implements ActionListener{ 
      int n; 
      JLabel label; 
      public Listener(int n,JLabel label){ 
       this.n=n; 
       this.label=label; 
      } 
      @Override 
      public void actionPerformed(ActionEvent arg0) { 
       n++; 
       label.setText(""+n);  
      } 
     } 

     public class SwingTest { 
      public static void main(String[] args) { 
       int n=0; 
       JFrame frame= new JFrame("My First JAVA SWING App"); 
       frame.setLayout(new FlowLayout()); 
       JLabel label=new JLabel("value here"); 
       JButton button=new JButton("click!!!"); 
       button.addActionListener(new Listener(n,label)); 
       frame.add(button); 
       frame.add(label); 
       frame.setSize(200, 100); 
       frame.setVisible(true); 
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      } 
     } 

これは SwingTest.java

という名前のファイルにする必要があります探しているものだと思います
+1

を投稿することをお勧めします。ボタンを使って実行して更新するのに問題はありません:-)私はちょっと私がカウンター私はボタンでチクチクを作成していない場合は、ティッキングを表示します。しかし、私はjavax.swing.Timerが助けてくれると思います。 – acroscene