JTable的列中添加JCheckBox组件
2015-01-07 11:25
501 查看
JTable的列中添加JCheckBox组件
转载▼
分类: 我的工作总结 |
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
public class MmCheck {
public static void main(String[] args) {
MyTableFrame myframe = new MyTableFrame();
}
}
class MyTableFrame extends JFrame {
JTable table;
MyTableFrame() {
table = new JTable();
add(new JScrollPane(initTable(table)));
setBounds(100, 100, 500, 300);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private JTable initTable(JTable table) {
DefaultTableModel dtm = new DefaultTableModel(new Object[] { "是否选中", "姓名",
"年龄", "班级", "性别" }, 0);
dtm
.addRow(new Object[] { new Boolean(true), "fox", "12",
"050101", "男" });
table.setModel(dtm);
TableColumnModel tcm = table.getColumnModel();
tcm.getColumn(0).setCellEditor(new DefaultCellEditor(new JCheckBox()));
tcm.getColumn(0).setCellRenderer(new MyTableRenderer());
tcm.getColumn(0).setPreferredWidth(20);
tcm.getColumn(0).setWidth(20);
tcm.getColumn(0).setMaxWidth(20);
return table;
}
}
class MyTableRenderer extends JCheckBox implements TableCellRenderer {
// 此方法可以查考JDK文档的说明
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Boolean b = (Boolean) value;
this.setSelected(b.booleanValue());
return this;
}
}
刚看到又一个比较好用的方法,让JCheckBox显示出来:
TableColumn tc = table.getColumnModel().getColumn(0);
tc.setCellEditor(table.getDefaultEditor(Boolean.class));
tc.setCellRenderer(table.getDefaultRenderer(Boolean.class));
只要这3行就能为jtable中的第一列的boolean值 转换为jcheckbox显示出来
相关文章推荐
- JTable的高级用法小结(在JTable中添加组件)by:Jungle Yang
- 在JTable中添加可视化组件
- [jtable]添加静态数据到表格组件
- 将JTable加入到JScrollPane后,无法向JScrollPane中添加其他的组件的解决方案
- 如何在JTable的单元格里添加图片,Button组件,Label组件等等组件
- 在JTable里面添加JCheckBox的几种方法
- java中添加了jtable组件,却显示不出来
- Jtable添加组件——转载
- JTable中添加JCheckBox(附完整测试程序)
- jtable表头及表格中添加jcheckBox
- 在JTable中添加可视化组件
- 在JTable中实现添加下拉框组件JComboBox
- JTable中添加组件后,改变当选中时的背景色
- 在JTable中实现添加下拉框组件JComboBox
- Flex组件组件添加自定义事件
- 相关WINDOWS"添加删除"组件无法打开的解决
- Vue.js 添加组件
- 如何在JTable中动态添加一行
- DSAPI多功能组件编程应用-文件类-添加删除程序到Windows启动
- 【Android游戏开发之七】(游戏开发中需要的样式)再次剖析游戏开发中对SurfaceView中添加组件方案!