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);
}