说编写一个程序,要求有四个按钮,分别有,增加行,删除行,增加列,删除列.
代码如下:
package v7;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;public class AddRemoveCells implements ActionListener {
JTable table = null;
DefaultTableModel defaultModel = null; public AddRemoveCells() {
JFrame f = new JFrame();
String[] name = {
"字段 1", "字段 2", "字段 3", "字段 4", "字段 5"};
String[][] data = new String[5][5];
int value = 1;
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++)
data[i][j] = String.valueOf(value++);
} defaultModel = new DefaultTableModel(data, name);
table = new JTable(defaultModel); table.setPreferredScrollableViewportSize(new Dimension(400, 80));
JScrollPane s = new JScrollPane(table); JPanel panel = new JPanel();
JButton b = new JButton("增加行");
panel.add(b);
b.addActionListener(this);
b = new JButton("增加列");
panel.add(b);
b.addActionListener(this);
b = new JButton("删除行");
panel.add(b);
b.addActionListener(this);
b = new JButton("删除列");
panel.add(b);
b.addActionListener(this); Container contentPane = f.getContentPane();
contentPane.add(panel, BorderLayout.NORTH);
contentPane.add(s, BorderLayout.CENTER); f.setTitle("AddRemoveCells");
f.pack();
f.setVisible(true); }
        public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("增加列"))
defaultModel.addColumn("增加列");
if (e.getActionCommand().equals("增加行"))
defaultModel.addRow(new Vector());
if (e.getActionCommand().equals("删除列")) {
int columncount = defaultModel.getColumnCount() - 1;
if (columncount >= 0) { 
TableColumnModel columnModel = table.getColumnModel();
TableColumn tableColumn = columnModel.getColumn(columncount);
columnModel.removeColumn(tableColumn);
defaultModel.setColumnCount(columncount);
}
}
if (e.getActionCommand().equals("删除行")) {
int rowcount = defaultModel.getRowCount() - 1; 

if (rowcount >= 0) {
defaultModel.removeRow(rowcount);
defaultModel.setRowCount(rowcount); 

}
}
table.revalidate();
} public static void main(String args[]) {
new AddRemoveCells();
}
}
这是老师按照代码给我们讲的,至于解题的思路,就是为什么要这么去做,如果做这个题,第一步,然后每步每步都要怎么引导..
我是怎么看都不知道,看了知道,看后就不知道.因为根本就没理解...希望有人指点迷津~~~

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【zhangchonglian】截止到2008-07-14 22:08:46的历史汇总数据(不包括此帖):
    发帖的总数量:3                        发帖的总分数:50                       每贴平均分数:16                       
    回帖的总数量:4                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:3                        结贴的总分数:50                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    介绍一下Gui的框架:
    主窗口: JFrame f = new JFrame();
    这个窗口使用BorderLayout布局管理器,north位置放一个panel,这个panel里放四个按钮。
    center位置放一个JScrollPane,table空间放在这个panel中。
    主结构比较清晰,不明白的地方太多的话只能去查书了。