java jtable setmodel_Java带选择框的JTable

public static voidmain(String[] args) {final JFrame jf = new JFrame("请确认"); //创建窗口

jf.setSize(705, 450);

jf.setLocationRelativeTo(null); //把窗口位置设置到屏幕中心

jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); //当点击窗口的关闭按钮时退出程序(没有这一句,程序不会退出)

jf.setResizable(false);try{

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

}catch(Exception e1) {

e1.printStackTrace();

}

JPanel jp= newJPanel();

JScrollPane jscrollpane= newJScrollPane();final DefaultTableModel tableModel = newDefaultTableModel();

tableModel.getDataVector().clear();//清除tableModel

final JTable table = newJTable(tableModel){private static final long serialVersionUID = 1L;public boolean isCellEditable(int row, intcolumn){if (column != 4) {return false;

}returnautoCreateColumnsFromModel;

}

};

Object[] columnTitle= new Object[]{"列A", "列B", "列C", "列D", "是否导出"};//列名

Object[][] rowData = new Object[30][];for(int i = 0; i < 30; i++){

String[] str= new String[4];

str[0] = i+"";

str[1] = i*2+"";

str[2] = i*3+"";

str[3] = i*4+"";

rowData[i]= new Object[]{str[0], str[1], str[2], str[3], Boolean.TRUE};

}

tableModel.setDataVector(rowData, columnTitle);

table.setModel(tableModel);

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

table.getColumnModel().getColumn(0).setPreferredWidth(100);

table.getColumnModel().getColumn(1).setPreferredWidth(300);

table.getColumnModel().getColumn(2).setPreferredWidth(100);

table.getColumnModel().getColumn(3).setPreferredWidth(105);

table.getColumnModel().getColumn(4).setCellEditor(table.getDefaultEditor(Boolean.class));

table.getColumnModel().getColumn(4).setCellRenderer(table.getDefaultRenderer(Boolean.class));

DefaultTableCellRenderer cr= newDefaultTableCellRenderer();

cr.setHorizontalAlignment(JTextField.CENTER);

table.getColumnModel().getColumn(0).setCellRenderer(cr);

jscrollpane.setBounds(0, 0, 700, 330);

jscrollpane.setViewportView(table);//这句很重要

JButton cancelButton= new JButton("取消");

cancelButton.setBounds(165, 360, 80, 30);

cancelButton.setFocusPainted(false);

JButton okButton= new JButton("确定");

okButton.setBounds(405, 360, 80, 30);

okButton.setFocusPainted(false);

jp.setLayout(null);//将各个组件加入到JFrame

jp.add(cancelButton);

jp.add(okButton);

jp.add(jscrollpane);

jf.setContentPane(jp);//取消按钮监听

cancelButton.addActionListener(newActionListener() {

@Overridepublic voidactionPerformed(ActionEvent e) {

jf.dispose();

}

});//确定按钮监听

okButton.addActionListener(newActionListener() {

@Overridepublic voidactionPerformed(ActionEvent e) {

jf.dispose();

}

});

jf.setVisible(true);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值