在这篇文章中,java applet注重实践;添加删除修改触发事件在该行的时间。



进口java AWT *;

导入java awt事件*。。;



进口javax.摆动。*;

进口javax.摆动。事件*;

进口javax.swing.event.tablemodellistener;

进口javax.摆动。表*;



公共课tablemodel07扩展JFrame {

私有静态最终长1l serialVersionUID =;

私人JTable表格; / /申报表。

私人默认表格模型类的台式; / /申报表模型。

私人JTextField atextfield; / /文本字段的声明。

私人JTextField btextfield; / /文本字段的声明。



/ main方法。

public static void main(String { } args){

构建类对象。

tablemodel07框架=新tablemodel07();

frame.setvisible(真的);

}



构建方法。

公共tablemodel07(){

窗口系列。

超级();

settitle(台);

窗口(100100500375);

setdefaultcloseoperation(JFrame。exit_on_close);



特定操作。

最后JScrollPane滚动窗格=新(JScrollPane); / /滚动的物体。

(得到内容面板),添加(滚动窗格,BorderLayout。中心); / /滚动窗口。

生成数组和数组。

字符串{ } columnnames = {

字符串{ } { } rowvalues = { {A1



构建表模型。

台式=新的默认表格模型类(rowvalues,ColumnNames);

注意:只有表模型,也不能显示在窗口表中,还必须完成两个步骤:

* 1。使用表模型创建一个表

* 2,表为滚动窗格滚动对象。* /

添加事件监视/表模型。

tablemodel.addtablemodellistener(新tablemodellistener(){)

公共无效tablechanged(tablemodelevent e){

Int(类型= e.gettype / /获得);事件类型。

行= e.getfirstrow(+ 1); / /得到的事件触发器的表行的索引。

柱= e.getcolumn(+ 1); / / / / int获得触发事件表列的索引。

如果(类型= = tablemodelevent。插入){ / /确定是否插入行触发器。

system.out.print(这一事件是插入线触发。)

System.out.println(插入第一+排+线!;

} else if(类型= = tablemodelevent。更新){ / /确定是否修改的行。

system.out.print(这一事件是线;改性;触发。)

System.out.println(这种变化是+ + 行行!;

} else if(类型= = tablemodelevent。删除){ / /确定是否删除行。

system.out.print(这一事件是删除线触发。)

System.out.println(删除+排+ 线!;

其他{ }

system.out.print(这个事件所引发的其他原因!;

}

}

});



表=新JTable(台式);

table.setselectionmode(listselectionmodel。single_selection); / /定义为单一的模式选择模式。

scrollpane.setviewportview(表);



建立文本框和按钮。

第一个内置的面板容器。

最后JPanel面板=新JPanel();

(得到内容面板),添加(面板、BorderLayout。南); / /面板下面的窗口。



构建/标签。

最后的JLabel标签=新JLabel(:);

panel.add(标签); / /标签面板。

atextfield =新的文本输入框(10);

panel.add(atextfield);



最后带blabel =新JLabel(B);

panel.add(blabel);

btextfield =新的文本输入框(10);

panel.add(btextfield);



构建按钮。

最后JButton addButton =新JButton(添加);

AddButton.addActionListener(新的action(){)

public void actionPerformed(ActionEvent e){

字符串{ }(rowvalues = { atextfield。gettext),(btextfield。gettext)}; / /文本框中的值。

tablemodel.addrow(rowvalues); / /添加表。

ATextField.setText(空);

BTextField.setText(空);

}

});

panel.add(addButton);



最后JButton delbutton =新JButton(删除);

DelButton.addActionListener(新的action(){)

public void actionPerformed(ActionEvent e){

int { }(上面=表。getselectedrows / /获得);选择行。

为(行= 0;行< selectedrows.length;行+ +){

从表中删除选定的行。

tablemodel.removerow({ }上面排排);;

}

}

});

panel.add(delbutton);





}

}



运行结果: