package JTable表头换行; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableColumnModel; public class TableDemo extends JFrame { /** * */ private static final long serialVersionUID = 1L; private boolean DEBUG = true; public TableDemo(){ super("RecorderOfWorkers"); HeaderRendererHh renderer = new HeaderRendererHh(); TextAreaHeaderRenderer txtrenderer=new TextAreaHeaderRenderer(); MyTableModel myModel=new MyTableModel(); JTable table=new JTable(myModel); TableColumnModel cmodel = table.getColumnModel(); for (int i = 0; i < cmodel.getColumnCount(); i++) { //cmodel.getColumn(i).setHeaderRenderer(renderer); cmodel.getColumn(i).setHeaderRenderer(txtrenderer); } table.setPreferredScrollableViewportSize(new Dimension(500,70)); JScrollPane scrollPane=new JScrollPane(table); getContentPane().add(scrollPane,BorderLayout.CENTER); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } class MyTableModel extends AbstractTableModel{ final String[] columnNames ={"First Name","Postion","单件数量","MonthlyPay","Married"}; final Object[][] data={{"Wangdong","Executive","0106879231",new Integer(5000),new Boolean(false)}, {"LiHong","Secretay","0106879231",new Integer(3500),new Boolean(true)}, {"ZhaoXin","Safeguard","0106879231",new Integer(4500),new Boolean(false)}, {"Chenlei","Saleman","0106879231",new Integer(4000),new Boolean(false)}}; public int getColumnCount() { // TODO Auto-generated method stub return columnNames.length; } public int getRowCount() { // TODO Auto-generated method stub return data.length; } public String getColumnName(int col){ return columnNames[col]; } public Object getValueAt(int row, int col) { // TODO Auto-generated method stub return data[row][col]; } public Class getColumnClass(int c){ return getValueAt(0,c).getClass(); } public boolean isCellEditable(int row,int col){ if(col<2){ return false; }else{ return true; } } public void setValueAt(Object value,int row,int col){ if(DEBUG){ System.out.println("Setting value at "+row+","+col+" to "+value+"(an instance of "+value.getClass()+")"); } if(data[0][col] instanceof Integer&&!(value instanceof Integer)){ try{ data[row][col]=new Integer(value.toString()); fireTableCellUpdated(row,col); }catch(NumberFormatException e){ JOptionPane.showMessageDialog(TableDemo.this,"11111"); } }else{ data[row][col]=value; fireTableCellUpdated(row,col); } if(DEBUG){ System.out.println("New value of data:"); printDebugData(); } } private void printDebugData(){ int numRows=getRowCount(); int numCols=getColumnCount(); for(int i=0;i<numRows;i++){ System.out.print("row"+i+":"); for(int j=0;j<numCols;j++){ System.out.print(" "+data[i][j]); } System.out.println(); } System.out.println("---------------------------"); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub TableDemo frame=new TableDemo(); frame.pack(); frame.setVisible(true); } }
最近下载更多
duanjb LV1
8月15日
1219610676 LV4
2023年12月7日
1a2s3d4f5g6h LV1
2023年6月21日
yaowusui LV1
2023年4月27日
xizi10086 LV2
2023年4月25日
2252536772 LV21
2022年11月9日
微信网友_6187879953633280 LV1
2022年10月23日
lcb813 LV1
2022年7月1日
微信网友_5996744821641216 LV1
2022年6月10日
newbeall LV1
2022年2月26日
最近浏览更多
duanjb LV1
8月15日
2860615178 LV4
5月29日
3334004690 LV10
5月27日
1219610676 LV4
2023年12月7日
李朝磊 LV18
2023年12月3日
yangxb2 LV10
2023年10月20日
lingtiejing LV15
2023年6月25日
1a2s3d4f5g6h LV1
2023年6月21日
啊伟大伟大
2023年6月19日
暂无贡献等级
yaowusui LV1
2023年5月3日