在JPanel中添加“子面板”

时间:2014-07-22 11:37:02

标签: java swing jpanel

我正在重构我的代码。我有一个JPanel:

public JPanel createLayout() {
    log.info("create Layout");

    JPanel panel = new JPanel();

    panel.add(TestTable());

    return panel;
}

我想将TestTable添加到此面板中。我的TestTable看起来像这样:

public void TestTable() {

        JLabel lFxRates = new JLabel("FXRates");

        //get data
        try {
            stm = new SettingsTableModel(settingsService.getTestByParameter("DebtService"));
            stm.setColumnNames(fxColumnNames);
        } catch (Exception e) {
            new HelperFunctions().showError("Error loading data!" + e);
        }

        fxTable = new JTable(stm);
        fxTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);

        return null;
    }

由于return null,我面临的问题是没有显示任何内容。我可以将thing添加到我的表中,以便稍后将其添加到我的JPanel中吗?

我非常感谢你的回答!

2 个答案:

答案 0 :(得分:3)

您遇到的问题是您没有添加任何内容,例如null。

您添加到面板的所有内容都必须从名为Component的父类继承。

所以,你的班级TestTable,我希望它是一个班级,必须从JTable继承。

答案 1 :(得分:1)

而不是“return null”,尝试添加“return fxTable”。

在panel.add(TestTable())中,TestTable()期待组件。