私は1つのクラスでJTableを作成しましたが、同じテーブルを使用して別のクラスに値を設定する必要があります。私はどのように別のクラスで同じJTableを使用しますか?伝えてください。別のクラスのテーブルを使用
0
A
答えて
0
値を設定し、他のすべてのクラスからこのメソッドを呼び出すJTableを囲むクラスにパブリックメソッドを追加します。
0
JTable
を含むクラスは、このフィールドを何らかの形で公開する必要があります。あるいは、が好ましくはである場合、クラスは、JTable
の値を変更するメソッドを提供できます。
class A {
private JTable myJTable;
public JTable getMyJTable() {
return myJTable;
}
public void setMyJTableValue(Object value) {
// set the value accordingly
}
}
class B {
private A a;
public void methodWithAccessToA() {
// business logic ...
a.setMyJTableValue(myBusinessValue);
// ...
a.getMyJTable().setValue(myBusinessValue);
}
}
2
あなたが唯一の基礎となるTableModel
に、実際のテーブルへのアクセス権を持っている第二のクラスは必要ありません:他クラスは、(直接、またはしない)JTable
を含むクラスを参照する必要があります。これは、多くの方法で達成することができます。
- 秒はどちらのクラスがその設定されているモデルへの参照を保持モデル
- への参照を取得するために使用できる最初のクラスのパブリックメソッド
getTableModel()
インスタンスが作成される - fistクラスのpublicメソッド
addValue()
は、値を受け取り、モデル自体を公開せずにテーブルモデルに追加します。値を追加するなどの非常に特殊な操作を実行するだけでよい場合は、これが最適なソリューションです。
どの方法が最適なのかは、それぞれのシナリオによって異なります。
0
値を編集する必要がある場合は、テーブルモデルで作業してください。
JTable.getModel()
(またはgetTableModel()、私は覚えていない)、それはカプセル化に来るとき
1
は、たぶん私はあまりにも肛門のだが、私はTableModelのかJTableの公開はありませんそれ自体は通常。 JTableを含むクラスでは、JTableの値を追加/削除/設定するためのメソッドを作成します。適切な場合は、JTableがそのデータを変更する可能性のあるサービスを遵守しているクラスを持つこともできます。
+0
+1オブザーバーの考え方 – akf
関連する問題
- 1. 別のクラスのプロパティを使用する
- 2. 別のクラスを使用する
- 3. Netbeansを使用して別のクラスのラベルテキストを使用する
- 4. PHP:クラスをインスタンス化し、別のクラスのメソッドを使用する
- 5. objective-c - 別のクラスのあるクラスのブール値を使用
- 6. クラスのpygame.rectを別のクラスの中で使用する
- 7. サブテーブルを使用して別のテーブルを使用してテーブルを更新する
- 8. 別のテーブルのクエリで使用するテーブルのコピー
- 9. クラス内でデータテーブルを塗りつぶし、別のクラスで使用するテーブルを返す
- 10. 関連クラス:: morphMap()を別のクラスに使用する方法
- 11. Java:別のクラスの変数をリフレッシュする1つのクラスのActionListenerの使用
- 12. 別のテーブルからのデータを使用してDjangoの更新テーブル
- 13. テーブルを別のテーブルのフィールドにフォームを使用して更新する
- 14. ADOを使用して別のテーブルのクエリから新しいテーブルを作成
- 15. クラスをヘッダファイルの別のクラスの値の型として使用する
- 16. 別のファイルの別のクラスのレイアウトを使用できません
- 17. 別のコンポーネントからのReactクラスのメソッドを使用する
- 18. C#の別のクラスのコントロールを使用する
- 19. あるクラスの変数をJavaの別のクラスで使用する方法は?
- 20. 別のクラスのクラスのプライベートメソッドを使用する方法が必要
- 21. Sequel :: Modelの別のデータベースでテーブルを使用する
- 22. 別のクラスの機能を使用する
- 23. Log4Jを使用する同じクラスの別のLogger
- 24. 別のクラス/アクティビティのアダプタを使用する
- 25. 別のクラスの変数を使用する
- 26. 別のクラス/ファイルのPHPメソッドを使用する
- 27. 使用:別のクラスのCSSを変更するにはホバー?
- 28. 別のクラスの変数を使用するには?
- 29. SQLを使用して別のテーブルにデータを転送する
- 30. 別のクラスに1つのクラス変数を使用する方法
これを控えめにした人が私に理由を与えることはできますか? –
私はしませんでしたが、JTableを公開するのは悪い考えです。カプセル化など: – willcodejavaforfood
私はまた、 "代わりに、そして好ましくは、クラスがJTableの値を変更するメソッドを提供することができ、getJTable()またはgetJTableModel()に行くときにカプセル化が必要であると言いました。 –