/***************************************** 展示Jtable簡易用法 *************************************************/ import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; public class ui31 extends JFrame implements ActionListener,ItemListener { Container c; JButton bot0; Color pencolor[]=new Color[5]; String[] cname={"白色","綠色","藍色","紅色","黃色"} ; Object[][] ccnt ={{"0","0","0","0","0"}}; JComboBox cbox; int now_x=0,now_y=0; JTable dsp; JScrollPane scroll; //用來控制捲動軸 public ui31() { super("Jtable簡易用法"); int i; int x; c=getContentPane(); pencolor[0]=Color.white; pencolor[1]=Color.green; pencolor[2]=Color.blue; pencolor[3]=Color.red; pencolor[4]=Color.yellow; c.setLayout(new FlowLayout(FlowLayout.CENTER)); cbox=new JComboBox(cname);// 設定選項 cbox.setMaximumRowCount(3);//設定下拉長度,比選項少,才能捲 bot0=new JButton("結束"); dsp=new JTable(ccnt,cname); //設定JTable c.add(bot0); scroll=new JScrollPane(cbox);//設定捲動 c.add(scroll); c.add(dsp.getTableHeader()); c.add(dsp); cbox.addItemListener(this);//設定顏色選擇 bot0.addActionListener(this); setSize(350,500); setVisible(true); } public void paint(Graphics g) { super.paint(g); } /***按鈕事件的傾聽方法****/ public void actionPerformed(ActionEvent e) //按鈕事件的處理方法 { if (e.getSource()==bot0) { System.exit(0); } repaint(); } public void itemStateChanged(ItemEvent e) { int cnt,xpt; xpt=cbox.getSelectedIndex();//看看選到哪一個就把計數器加一 cnt=Integer.parseInt(dsp.getValueAt(0, xpt).toString()); cnt=cnt+1; //System.out.println("xpt="+xpt+"cnt"+cnt+"fdfdd="+dsp.getValueAt(0, xpt).toString()); dsp.setValueAt(Integer.toString(cnt),0,xpt); repaint(); } public static void main(String args[]) //程式起點 { ui31 app=new ui31(); //畫圖 //處理視窗關閉要求 app.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0);} }); } }