パネルにjComboBoxの束があります。パネルを循環させ、各コントロールのsetSelectedIndex(0)を設定する最良の方法は何ですか?そう等々コンテナの子コンポーネントを反復している場合jComboBoxを循環する
答えて
パネルに追加されているすべてのコンボボックスを追跡し、それらをループするリストを作成します。例:
List<JComboBox> list = new ArrayList<JComboBox>();
JComboBox box = new JComboBox();
panel.add(box);
list.add(box); //store reference to the combobox in list
// Later, loop over the list
for(JComboBox b: list){
b.setSelectedIndex(0);
}
ありがとうございました。 – Rabin
あなたは、各Component
がContainer
のインスタンスであるかどうかをチェックすることによって、Component
秒のツリーを反復処理し、することができます。この機能はComponentIterator
にラップすることができます。これは階層内のルートコンポーネントで初期化されます。これにより、コンポーネントツリーを反復処理し、各JComboBox
を特定の値に初期化することができます。
しかし、この「一般的な」アプローチは、あなたのコードが時間とともに進化するにつれて予想外の結果になる可能性があるため、お勧めしません。代わりに、JComboBox
を作成して初期化する単純なファクトリメソッドを書くのはおそらく意味があります。例えば
private JComboBox createCombo(Object[] items) {
JComboBox cb = new JComboBox(items);
if (items.length > 0) {
cb.setSelectedIndex(0);
}
return cb;
}
ここでは、任意の使用のだ場合ComponentIterator
実装です:
public class ComponentIterator implements Iterator<Component> {
private final Stack<Component> components = new Stack<Component>();
/**
* Creates a <tt>ComponentIterator</tt> with the specified root {@link java.awt.Component}.
* Note that unless this component is a {@link java.awt.Container} the iterator will only ever return one value;
* i.e. because the root component does not contain any child components.
*
* @param rootComponent Root component
*/
public ComponentIterator(Component rootComponent) {
components.push(rootComponent);
}
public boolean hasNext() {
return !components.isEmpty();
}
public Component next() {
if (components.isEmpty()) {
throw new NoSuchElementException();
}
Component ret = components.pop();
if (ret instanceof Container) {
for (Component childComponent : ((Container) ret).getComponents()) {
components.push(childComponent);
}
}
return ret;
}
public void remove() {
throw new UnsupportedOperationException();
}
}
ありがとうございました。 – Rabin
- 1. Pythonで循環(循環)インポートを回避するには?
- 2. カラムを循環するR
- 3. 行を循環するシェルコマンド?
- 4. リストアイテムを循環する
- 5. 循環シフトアレイR
- 6. 循環依存
- 7. 非循環コンポーネントグラフ
- 8. 循環参照
- 9. Mininet循環トポロジ
- 10. 外部キーを解決するための循環参照と循環参照
- 11. 循環的継承
- 12. 循環バッファのスレッドセーフ
- 13. Rベースグラフィックス循環ヒストグラム
- 14. Java循環参照
- 15. Autofac循環依存
- 16. SQLAlchemyモデル循環インポート
- 17. C#の循環ネームスペース
- 18. java.util.LinkedListの循環ループ
- 19. C++循環依存
- 20. React TypeError:循環オブジェクト
- 21. クラス循環参照
- 22. は、循環依存
- 23. Javaの循環勾配と非循環勾配の相違
- 24. Visual Studio:ブレークポイントを循環する
- 25. 循環的なレベルアニメーションを反転する
- 26. 配列内の値を循環する
- 27. 配列角度2を循環する
- 28. divを非循環にする
- 29. CollectionViewアイテムを循環的にページングする
- 30. クエリウィンドウを循環するSSMS 2008 RC
詳しく教えてください。または利用可能なコードはありますか? –
サイクルスルーはどういう意味ですか? –