JTable的使用问题

1.设置指定列单元格的前景色


//获取TableColumn对象
TableColumn tableColumn = jTable.getColumn("月薪");

//初始化Table的渲染器
DefaultTableCellRenderer cellRenderer = new DefaultTableCellRenderer();
//设置单元格的前景色
cellRenderer.setForeground(Color.red);

//将渲染器设置到获取到的列
tableColumn.setCellRenderer(cellRenderer);

2.设置指定单元格的背景色

//获取TableColumn对象
TableColumn departmentColumn = jTable.getColumn("部门");

//重新申明渲染器
DefaultTableCellRenderer cellRenderer2 = new DefaultTableCellRenderer();
//设置单元格的背景色
cellRenderer2.setBackground(Color.blue);

//将渲染器放入
departmentColumn.setCellRenderer(cellRenderer2);

3.设置不能拖动一列

jTable.getTableHeader().setReorderingAllowed(false);

4.设置每一列的大小不能改变

jTable.getTableHeader().setResizingAllowed(false);

5.设置每一行颜色交替

DefaultTableCellRenderer cellRenderer3 = new DefaultTableCellRenderer(){

public Component getTableCellRendererComponent(JTable arg0,Object arg1, boolean arg2, boolean arg3, int arg4, int arg5) {
// TODO Auto-generated method stub

if(arg4%2 == 0){
this.setBackground(Color.pink);
}
else {
this.setBackground(Color.white);
}

return super.getTableCellRendererComponent(arg0, arg1, arg2, arg3, arg4, arg5);
}
};

//每一格设置渲染器
for(int i=0; i<jTable.getColumnCount(); i++){
TableColumn tableColumn = jTable.getColumn(jTable.getColumnName(i));
tableColumn.setCellRenderer(cellRenderer3);
}

6.在表格中创建下拉框

JComboBox jComboBox = new JComboBox();
jComboBox.addItem("人事部");
jComboBox.addItem("经理部");
jComboBox.addItem("开发部");
jComboBox.addItem("财务部");

//获取列
TableColumn tableColumn = jTable.getColumn("部门");
//生成表格编辑器
DefaultCellEditor defaultCellEditor = new DefaultCellEditor(jComboBox);
//设置表格编辑器
tableColumn.setCellEditor(defaultCellEditor);

7.设置单元格中的对齐方式

DefaultTableCellRenderer cellRenderer3 = new DefaultTableCellRenderer();
cellRenderer3.setHorizontalAlignment(JLabel.CENTER);
for (int i = 0; i < jTable.getColumnCount(); i++) {
TableColumn tc = jTable.getColumn(jTable.getColumnName(i));
tc.setCellRenderer(cellRenderer3);
}

8.在对数据进行添加时,可以使用DefaultTableModel类的对象的addRow方法直接添加到TalbeModel中,当然,对应数据库也要进行操作。

注意!在为JTable指定样式的时候,后面定义的会覆盖前面定的(例如:5对其他样式就有覆盖作用,如果5放在后面会将前面所有的样式都覆盖掉)

转载于:https://www.cnblogs.com/zengyinanos/p/4974678.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JTable是Swing组件工具包中的一个表格控件,可以用于展示和编辑数据。使用JTable需要以下步骤: 1. 创建数据模型:JTable的数据模型是TableModel,可以使用DefaultTableModel或自定义TableModel来实现。TableModel定义了表格的行数、列数、列名和单元格数据等信息。 2. 创建JTable实例:使用TableModel创建JTable实例,并设置表格的大小和样式等属性。 3. 填充数据:将数据填充到TableModel中,JTable会自动显示数据。 4. 可选的添加表格监听器:可以添加TableModelListener来监听表格数据的变化,或添加SelectionListener来监听用户选择行或列的事件。 以下是一个简单的JTable使用例子: ```java import javax.swing.*; import javax.swing.table.DefaultTableModel; public class JTableExample { public static void main(String[] args) { // 创建数据模型 DefaultTableModel model = new DefaultTableModel(); model.addColumn("姓名"); model.addColumn("年龄"); model.addRow(new Object[]{"张三", 20}); model.addRow(new Object[]{"李四", 30}); // 创建JTable实例 JTable table = new JTable(model); table.setPreferredScrollableViewportSize(new Dimension(400, 200)); table.setFillsViewportHeight(true); // 创建ScrollPane来显示表格 JScrollPane scrollPane = new JScrollPane(table); // 创建窗口并添加表格 JFrame frame = new JFrame("JTable Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(scrollPane); frame.pack(); frame.setVisible(true); } } ``` 在这个例子中,我们首先创建了一个DefaultTableModel作为数据模型,添加了两列“姓名”和“年龄”,并填充了两行数据。然后使用JTable构造函数传入数据模型创建了一个表格实例,并设置了表格的大小和样式。最后将表格添加到JScrollPane中,再将ScrollPane添加到JFrame中显示出来。 这只是一个简单的JTable例子,更复杂的表格操作需要使用更多的API和事件监听器来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值