添加/修改/删除行的java表法

本文的java程序代码,主要练习如何使用表模型、表、行添加,修改数据,删除行。

进口java AWT *;

导入java awt事件*。。;

进口javax.摆动。*;

进口javax.摆动。表*;



公共课frame_06扩展JFrame {

私人默认表格模型类的台式; / /定义表格对象。

私人JTable表格; / /定义表格对象。

私人JTextField atextfield;

私人JTextField btextfield;

/ main方法。

public static void main(String { } args){

frame_06框架=新(frame_06); / /类的实例化。

frame.setvisible(真的);

}

构建方法。

公共frame_06(){

(超级);继承自父类。

settitle(维护模式);

窗口(100100500375);

setdefaultcloseoperation(JFrame。exit_on_close);



定义滚动面板。

最后JScrollPane滚动窗格=新JScrollPane();

GetContentPane(),添加(滚动窗格,BorderLayout。中心);

字符串{ } columnnames = {

字符串{ } { } tablevalues = { {A1

指定表模型。

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

表=新JTable(台式); / /创建指定的表格模型的形式。

table.setrowsorter(新tablerowsorter <>(台式)); / /设置表排序装置。



设置收音机选择模式的表。

table.setselectionmode(listselectionmodel。single_selection);

将鼠标事件侦听器添加到表中。

table.addmouselistener(新导入鼠标事件适配器(){)

单击事件。

public void mouseClicked(MouseEvent e){

获取选定的行索引。

selectedrow = table.getselectedrow int();

获取表模型中的单元格值。

对象OA = tablemodel.getvalueat(selectedrow,0);

对象OB = tablemodel.getvalueat(selectedrow,1);

ATextField.setText((OA ToString)); / / OA值显示一个文本框。

BTextField.setText((OB ToString)); / / OB值显示B文本框。

}

});

scrollpane.setviewportview(表);

窗格。定义面板,B框

Final JPanel panel=new JPanel ();

GetContentPane(),添加(面板、边框布局。南);

panel.add(新JLabel(:));

atextfield =新的文本输入框(A4

panel.add(atextfield);



panel.add(新方法(B));

btextfield =新的文本输入框(,

panel.add(btextfield);



添加按钮。

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

响应事件。

AddButton.addActionListener(新的action(){)

public void actionPerformed(ActionEvent e){

字符串{ }(rowvalues = { atextfield。gettext),btextfield.gettext()}; / /点按钮,立即响应事件。

tablemodel.addrow(rowvalues); / /响应的事件处理后。

int行数= table.getrowcount(+ 1); / /表中添加一个空白行。

ATextField.setText(A +行数); / /文本文本框中重新分配。

BTextField.setText(B+行数);



}

});

panel.add(addButton);

;修改按钮。

最后JButton updbutton =新JButton(修改);

对事件的鼠标响应。

UpdButton.addActionListener(新的action(){)

public void actionPerformed(ActionEvent e){

Int(selectedrow =表。getselectedrow / /获得);选择指数。

如果(selectedrow!= 1){

tablemodel.setvalueat(atextfield.gettext(),selectedrow,0);

tablemodel.setvalueat(btextfield.gettext(),selectedrow,1);



}

}

});

panel.add(updbutton);

删除按钮。

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

对事件的鼠标响应。

DelButton.addActionListener(新的action(){)

public void actionPerformed(ActionEvent e){

Int(selectedrow =表。getselectedrow); / /选定的行的索引。

如果(selectedrow!= 1){

从表中删除一行。

tablemodel.removerow(selectedrow);

}



}

});

panel.add(delbutton);

}



}



运行结果:

添加三行,修改第三行,然后删除第四行的结果如下所示: