用JPanels列表制作表格

时间:2018-08-11 08:19:21

标签: java swing jtable jpanel

我需要Java应用程序中的表。首先,我曾经使用过JTable类的Object,但是我的表具有很多功能,现在我尝试使用JPanel组件列表代替表。

如何制作带有面板列表的表格?

1 个答案:

答案 0 :(得分:1)

如果您需要创建一个包含JPanel的由JTextArea组成的表,请以类似以下内容的开头:

JPanel table = new JPanel();
table.setLayout(new BoxLayout(table, BoxLayout.X_AXIS));
for (int rowIndex = 0; rowIndex < numberOfRows; rowIndex++) {
    table.add(getRow(numberOfColumns));
} 

其中getRow

定义
private Component getRow(int numberOfColumns) {

    JPanel row = new JPanel();
    //use GridLayout if you want equally spaced columns 
    row.setLayout(new BoxLayout(row, BoxLayout.Y_AXIS));
    for (int colIndex = 0; colIndex < numberOfColumns; colIndex++) {
        row.add(getCell());
    }
    return row;
}

getCell

private Component getCell() {
    JTextArea ta = new JTextArea("Add text");
    ta.setBorder(BorderFactory.createLineBorder(Color.BLACK));
    return ta;
}

但是,推荐的方法是使用JTable并尝试解决您在上一个post中描述的问题。