2011-01-28 16 views
0

UI(Swing)から自分のクラスに値を入れて、ボタンをクリックしてメソッドを開始する必要があります。私は何をすべきか?java swingを使用

+0

をクリックした時点でそれまでのテキストフィールドの値を代入しますチュートリアルSwingのコード作成方法については、http://download.oracle.com/javase/tutorial/uiswing/index.htmlを参照してください。そうでない場合は、まだ問題が残っている場合は、あなたの質問が書かれているように多少あいまいすぎるので、あなたの現在の問題に関する詳細を提供する必要があります。 –

答えて

2

ここで、あなたはあなたにその値を渡したいのですが、すべての方法をすることができ、テキストフィールドの超簡単な例だとクリック、ボタンは、テキスト値を取得します。

public class ButtonExample extends JPanel 
{ 
    private JTextField _text; 

    public ButtonExample() 
    { 
     _text = new JTextField(); 

     setLayout(new BorderLayout()); 
     add(_text, BorderLayout.NORTH); 
     add(new JButton(new CaptureTextAction()), BorderLayout.SOUTH); 
    } 

    private class CaptureTextAction extends AbstractAction 
    { 
     private CaptureTextAction() 
     { 
      super("Click Me"); 
     } 

     @Override 
     public void actionPerformed(ActionEvent ae) 
     { 
      String textToCapture = _text.getText(); 

      // do something interesting with the text 
     } 
    } 
} 
0

スイングは、アプリケーションに提供するユーザーインターフェイスです。 このように動作します.... 適切なインターフェイスを提供するために必要なボタン、パネル、すべてのものがあります。つまり、テキスト入力が必要な場合は、textfieldまたはtextAreaをUIに入れます。

スイングアプリケーションはイベントに基づいており、コンソールベースのアプリケーションとウィンドウベースのアプリケーションの基本的な違いであり、コンソールベースのアプリケーションは順次コンパイルされ、順番にコードが実行されます。

一方、スイングアプリケーションはイベントベースで、イベントが発生して捕捉されるまでは何もしませんが、Javaではイベントを処理します。つまり、イベント発生後の処理はプログラマによって決定されます。

は、ボタンのクリックイベントの火災があり、その後のactionPerformed関数が呼び出される要素に添付リスナーがあり、それはあなたがアプリからユーザー名を取得するとし

を実行されていると

JButton btnSubmit = new JButton("Submit"); 
JTextField txtName = new JTextField("", 4); 

btnSubmit.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent e){ 
    String name = txtName.getText();//see below for explanation 
    printInfo();//write the function call statements here if you want them to be executed when button is clicked 

} 
}); 

ボタンをクリックするか、より一般的に任意のイベントがボタン上で発生するたびに、それは文字列プール内の文字列オブジェクトを作成し、ボタンがスイングを読む