-5

我的面板中有一个 JTable,我想为它创建一个不同的类。

这是我的原始代码:

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

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

我想将数据字段包装在一个扩展 JTable 的类中,这样我就不必在我的主类中创建它们。我是 Java 新手,如何扩展 JTable 类,以便在构造对象时已经设置数据?

后期编辑:从我不知道如何制作两个课程并将它们一起使用的时候,这是一个非常糟糕的想法。为了使表的创建、自定义和一些与之相关的属性与 Main 类分开,您应该使用组合而不是继承

4

1 回答 1

2

如果您想扩展JTable,您仍然需要从类外部设置属性。我很确定您最好使用 aPopulator或类似的东西。这将是您的原始类和为您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 回答