0

これはしばらくの間、私を混乱させ、イライラさせてきました。私は友人のために小さなプログラムに取り組んでいます。基本的には、To Do リストです。ユーザーは、AddAssignmentクラスを使用してタスクを作成できます。ユーザーが入力しなければならないフィールドがいくつかありますが、私は最初のタスク名に取り組んでいます。ViewAssignmentsタスクが保存されると、クラスにあるリストに追加されます。タスクの名前の JTextField は として知られていtextFieldます。

クラスのボタンを押したときに、のテキストlblAssignmentNa、JLabel をViewAssignmentsのテキストに設定したい。textFieldbtnCreateAssignmentAddAssignment

textFieldJLabel のテキストを のテキストと同じに変更するコードのみを回答としていただければ幸いです。ありがとう。そして、もしあなたがこれを理解していないなら、申し訳ありません。さらに情報が必要な場合はお知らせください。

4

3 に答える 3

1

まず、AddAssigment の動作はクラスの名前として不適切であるため、クラス名を呼び出さないようにしてください。たとえば、AddAssignmentPanel である必要があります。

次に、このチュートリアルを読んでから、Property Change Listeners (基本的には の実装Observer Pattern) を使用する必要があります。

  • ObserverlblAssignmentNa あなたの場合、プロパティを持つクラスです(使用PropertyChangeListener
  • Observabletextfield あなたの場合、プロパティを持つクラスです(使用PropertyChangeSupport

だから、あなたはこのようなことをしなければなりません。

  1. オブザーバー クラスをオブザーバブル クラスに登録する
  2. イベントが発生した場合、あなたの場合、btnCreateAssignment押された場合は、オブザーバーに通知する必要があります。

したがって、 inViewAssigmentsは次のように定義する必要があります。

public class ViewAssigments extends Something implements PropertyChangeListener

オブザーバーとしてAddAssigment登録するイベントでは、呼び出す必要があり 、状態が変化したことを通知するためにオブザーバーに送信されます。ViewAssigment
btnCreateAssigmentpropertyChangeSupport.firePropertyChange(..)

さらに、クラスが拡張されている場合は、PropertyChangeSupport インスタンスを登録するJComponent準備ができています。ListenersfirePropertyChange(..)

于 2013-06-16T06:09:13.907 に答える
1

返信する前に、次のリストを確認してください。

完璧な質問を書く

あなたはただ言うことができます: このパラグラフの代わりにボタンが押されたときにラベルのテキストをテキストフィールドのテキストに設定する方法。ただし、これは役立ちます:

jLabel.setText(textField.getText());
于 2013-06-16T05:33:44.447 に答える
1

にリクエストを渡すことができるある種のセッター メソッドを作成しViewAssignmentssetAssignmentNameユーザーが をクリックするとbtnCreateAssignment、単にメソッドを呼び出してStringから値を渡しますtextField

于 2013-06-16T05:35:57.350 に答える