-5

パネルに JTable があり、別のクラスを作成したいと考えています。

これが私の元のコードです:

   Object[][] data = {
     // some data that the table will use    
    }

    JTable scoreTable = new JTable(data, columname);
    add(scoreTable);

JTable を拡張するクラスでデータ フィールドをラップしたいので、メイン クラスでデータ フィールドを作成する必要はありません。Java は初めてですが、オブジェクトを構築するときにデータが既に設定されているように JTable クラスを拡張するにはどうすればよいですか?

LATER EDIT:2つのクラスを作成して一緒に使用する方法がわからなかったときから、これは本当に悪いアイデアでした。テーブルの作成、カスタマイズ、およびそれに関連するいくつかのプロパティを Main クラスから分離しておくには、継承ではなく構成を使用する必要があります

4

1 に答える 1

2

を拡張したい場合JTableでも、クラスの外部からプロパティを設定する必要があります。Populatorまたは同様のものを使用する方が良いと確信しています。これは、元のクラスとJTableを生成する の間のクラスになりJTableます (必要に応じて、それを最初のクラスに返します)。

class MyMain {
    void someMethod() {
        JTable table = (new Populator()).createJTable();
        add(table);
    }
}

class Populator {
    Object[][] data = {
        {" A", ""},
        {" B", ""},
        {" C", ""},
        {" D", ""},
        {" E", ""},
        {" F", ""},
        {" G", ""},
        {" H", ""},
        {" bonus", ""},
        {" Total", ""}
    };

    String[] columname = {"", ""};

    JTable createJTable() {
        JTable tabelscor = new JTable(data, columname);
        //tabelscor.setBounds(500, 120, 160, 250);
        tabelscor.setEnabled(false);

        return tabelscor;
    }
}
于 2013-05-02T09:54:55.953 に答える