私は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. C++の別のクラスのテンプレートクラスを使用
- 2. 別のクラスのウィンドウビルダjframeを使用
- 3. 別のクラスのプロパティを使用する
- 4. 別のクラスを使用する
- 5. 別のクラスでArraylistを使用する
- 6. 別のクラスのメソッドとフィールドを別のクラスの中で使用する
- 7. CONVERTを使用して別のテーブルのCASEとSELECTを使用
- 8. Netbeansを使用して別のクラスのラベルテキストを使用する
- 9. 1テーブルのデータを使用して別のテーブルをクエリする
- 10. 別のクラスの複数のインスタンスを使用するクラス
- 11. 別のクラスのあるクラスの変数を使用する:Java
- 12. クラスのpygame.rectを別のクラスの中で使用する
- 13. objective-c - 別のクラスのあるクラスのブール値を使用
- 14. _metaクラスを使用して別のクラスのフィールドリストを表示
- 15. PHP:クラスをインスタンス化し、別のクラスのメソッドを使用する
- 16. Javaの別のクラスでクラス引数を使用する方法
- 17. サブテーブルを使用して別のテーブルを使用してテーブルを更新する
- 18. 別のテーブルのクエリで使用するテーブルのコピー
- 19. 関連クラス:: morphMap()を別のクラスに使用する方法
- 20. 別のクラスを使用する静的クラス
- 21. クラス内でデータテーブルを塗りつぶし、別のクラスで使用するテーブルを返す
- 22. Java:別のクラスの変数をリフレッシュする1つのクラスのActionListenerの使用
- 23. テーブルのVarcharカラムを使用して別のテーブルのテキストカラムを検索
- 24. バックボーンを使用してサブビューを作成する(別のテーブルの中のテーブル)JS
- 25. oracleのlike節を使用して別のテーブルのテーブルを更新します。
- 26. Hibernate内の別のクラスのアノテーションを使用してクラスをマップするベストプラクティス
- 27. クラス内のaddKeyListenerを使用して、別のクラスのキーをリッスンしますか?
- 28. 別のテーブルの選択句内のあるテーブルのカラム値を使用
- 29. クラスをヘッダファイルの別のクラスの値の型として使用する
- 30. 別のファイルの別のクラスのレイアウトを使用できません
これを控えめにした人が私に理由を与えることはできますか? –
私はしませんでしたが、JTableを公開するのは悪い考えです。カプセル化など: – willcodejavaforfood
私はまた、 "代わりに、そして好ましくは、クラスがJTableの値を変更するメソッドを提供することができ、getJTable()またはgetJTableModel()に行くときにカプセル化が必要であると言いました。 –