Table table = new JTable();
时间: 2023-12-06 19:02:23 浏览: 94
这段代码创建了一个 `JTable` 对象,用于在界面中显示二维表格数据。`JTable` 是一个 Swing 组件,它可以用来显示和编辑表格数据。在这里,我们创建了一个新的 `JTable` 对象,并将其赋值给 `table` 变量,表示我们要在程序中使用这个表格组件来显示数据。
需要注意的是,创建 `JTable` 对象后,它并没有任何数据,需要通过数据模型来为其提供数据。常用的数据模型包括 `DefaultTableModel` 和 `AbstractTableModel` 等,开发者可以根据自己的需要选择合适的数据模型,并将其设置到表格中以便显示数据。例如,可以使用 `table.setModel(model)` 方法将数据模型 `model` 设置到表格中,以便在表格中显示数据。
相关问题
怎么样在 JTable table = new JTable(tableModel){ };美化表格
可以通过以下几种方式美化JTable表格:
1.改变表格的背景色和前景色
可以通过`table.setBackground(Color.WHITE);`和`table.setForeground(Color.BLACK);`方法来改变表格的背景色和前景色。
2.改变表格的字体和字号
可以通过`table.setFont(new Font("微软雅黑", Font.PLAIN, 14));`方法来改变表格的字体和字号。
3.改变表头的背景色和前景色
可以通过`table.getTableHeader().setBackground(Color.LIGHT_GRAY);`和`table.getTableHeader().setForeground(Color.BLACK);`方法来改变表头的背景色和前景色。
4.改变表头的字体和字号
可以通过`table.getTableHeader().setFont(new Font("微软雅黑", Font.PLAIN, 14));`方法来改变表头的字体和字号。
5.设置表格行高和列宽
可以通过`table.setRowHeight(30);`和`table.getColumnModel().getColumn(0).setPreferredWidth(100);`方法来设置表格行高和列宽。
6.隐藏表格网格线
可以通过`table.setShowGrid(false);`方法来隐藏表格网格线。
完整代码示例:
```
JTable table = new JTable(tableModel){
//设置表格背景色和前景色
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
Component c = super.prepareRenderer(renderer, row, column);
c.setBackground(Color.WHITE);
c.setForeground(Color.BLACK);
return c;
}
};
table.setFont(new Font("微软雅黑", Font.PLAIN, 14));//设置表格字体和字号
table.getTableHeader().setBackground(Color.LIGHT_GRAY);//设置表头背景色
table.getTableHeader().setForeground(Color.BLACK);//设置表头前景色
table.getTableHeader().setFont(new Font("微软雅黑", Font.PLAIN, 14));//设置表头字体和字号
table.setRowHeight(30);//设置表格行高
table.getColumnModel().getColumn(0).setPreferredWidth(100);//设置表格列宽
table.setShowGrid(false);//隐藏表格网格线
```
JPanel panel_center = new JPanel(); frame.getContentPane().add(panel_center, BorderLayout.CENTER); table = new JTable(); table.setModel(new DefaultTableModel(new Object[][] {}, headers)); panel_center.add(new JScrollPane(table)); JPanel panel = new JPanel(); frame.getContentPane().add(panel, BorderLayout.SOUTH);
这段代码是为了创建一个面板,将其添加到 `frame` 窗口的中央,并在该面板中显示一个表格。
首先,创建一个名为 `panel_center` 的 `JPanel` 对象。
然后,将 `panel_center` 添加到 `frame` 窗口的中央位置,使用 `BorderLayout.CENTER` 布局约束。
接下来,创建一个名为 `table` 的 `JTable` 对象,用于显示表格数据。
通过调用 `setModel()` 方法,将一个新的 `DefaultTableModel` 对象设置为 `table` 的数据模型。该数据模型使用一个空的二维数组和之前声明的 `headers` 数组作为列标题。
将带有滚动条的 `JScrollPane` 对象添加到 `panel_center` 面板中,以便在需要时可以滚动查看表格数据。
最后,创建一个名为 `panel` 的 `JPanel` 对象,并将其添加到 `frame` 窗口的南部位置,使用 `BorderLayout.SOUTH` 布局约束。
通过这段代码,实现了将一个表格添加到窗口中央的功能,并在窗口南部添加了一个面板,可能用于显示其他组件或功能。
阅读全文