2017-05-30 5 views
2

現在、アプリケーションにボタン、テキストフィールドなどを追加しています。これは私が現在持っているものです:JAVAで複数の要素を短く追加する方法

add(update); 
    add(updateText); 
    add(afhalen); 
    add(opneemText); 
    add(saldo); 

私はこのコードを短く書くことができますか?私は追加する要素がずっとあり、それは素敵なものが好きではありません。

+2

GUIの作成は、通常、面倒な退屈なコードです。 – CraigR8806

+0

その「追加」メソッドとは何ですか?それはクラスにローカルですか? –

+0

答えとして与えられた、より強力な解決策に注意してください。あなたは通常どのくらいの行を持っていますか?一桁であれば、KISS(単純で愚かなまま)で、可読性に勝つのは – zencv

答えて

0

あなたはJComponentの配列(またはListなど任意のコレクション)で、コンポーネントを保存し、それが(アレイを使用して、ここで)やってループできます

for (int i = 0; i < componentsArary.length; i++) 
    add(componentsArary[i]); 

ほとんど唯一の他のです私が考えることができる解決策。

+0

ですが、すべての要素を同じ配列に追加する必要があります。 – XtremeBaumer

+0

確かに彼は何をしていても何かをしなければならないでしょう多かれ少なかれこのように見えますが、彼はそれらをある種のコレクションに追加することを避けることはできません – Kaiserbogey

0

メソッドをロードしてリストまたはvarargsを使用します。

public void add(JComponent a) { 
    // todo 
} 
public void add(JComponent a, JComponent... b) { 
    // todo  
} 

その後、あなたが行うことができます:

add(update, updateText, afhalen, opneemText, saldo); 

や配列を使用して:

JComponent[] s = ...; 
JComponent y = ...; 
add(y, s); 
0

あなたはこのようにinitができます。

List<YourObject> aList = Arrays.asList(obj1, obj2, obj3 ....); 
0

あなたはまず、これらのJComponentのを収集することができます(?):

リストmyComponents = Arrays.asList(comp1、comp2、...);その後、

とん:例えば

for (JComponent comp : myComponents) { 
    add(comp); 

関連する問題