?? sample26_3.java
字號:
package wyf.jc;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
//定義該類繼承自JFrame
public class Sample26_3 extends JFrame implements ActionListener
{
//創建用于擺放按扭的JPanel容器
JPanel jp=new JPanel();
//創建按扭數組
JButton[] jb={new JButton("添加行"),new JButton("刪除行"),
new JButton("添加列"),new JButton("刪除列")};
//創建初始列標題
String[] head={"第1列"};
//創建初始表格數據
String[][] data={{"1行1列"}};
//創建表格模型
DefaultTableModel dtm=new DefaultTableModel(data,head);
//創建JTable對象
JTable jt=new JTable(dtm);
//將JTable封裝進滾動窗格
JScrollPane jsp=new JScrollPane(jt);
public Sample26_3()
{
//對按鈕進行循環初始化
for(int i=0;i<jb.length;i++)
{
//將按扭添加進JPanel容器中
jp.add(jb[i]);
//為按扭注冊動作事件監聽器
jb[i].addActionListener(this);
}
//將按扭容器添加進窗體的頂部
this.add(jp,BorderLayout.NORTH);
//將含JTable的滾動窗格添加進窗體的中間
this.add(jsp,BorderLayout.CENTER);
//設置窗體的關閉動作、標題、大小位置以及可見性
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("動態表格的實現");
this.setBounds(100,100,400,200);
this.setVisible(true);
}
//實現ActionListener接口中的方法
public void actionPerformed(ActionEvent e)
{
//獲得表格模型
DefaultTableModel temp=(DefaultTableModel)jt.getModel();
//獲得表格的列數
int c=temp.getColumnCount();
//獲得表格的行數
int r=temp.getRowCount();
if(e.getSource()==jb[0])
{//按下添加行按鈕執行的代碼
//創建新行的數據向量
Vector newR=new Vector();
for(int i=0;i<c;i++)
{
//為數據向量添加數據
newR.add((r+1)+"行"+(i+1)+"列");
}
//將新的數據向量添加進表格模型中
temp.getDataVector().add(newR);
//刷新表格重新繪制
((DefaultTableModel)jt.getModel()).fireTableStructureChanged();
}
else if(e.getSource()==jb[1])
{//按下刪除行按鈕執行的代碼
if(r>0)//檢查行數是否大于0
{
//刪除最后一行
temp.removeRow(r-1);
}
}
else if(e.getSource()==jb[2])
{//按下添加列按鈕執行的代碼
//創建新列的數據向量
Vector newC=new Vector();
for(int i=0;i<r;i++)
{
//為數據向量添加數據
newC.add((i+1)+"行"+(c+1)+"列");
}
//將新列添加進數據模型中
temp.addColumn("第"+(c+1)+"列",newC);
}
else if(e.getSource()==jb[3])
{//按下刪除列按鈕執行的代碼
if(c-1>0)//檢查當前列數是否大于1
{
//設置表的列數為當前列數減1,從而最后一列被刪除
temp.setColumnCount(c-1);
}
}
}
public static void main(String[] args)
{
//創建Sample26_3窗體對象
new Sample26_3();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -