添加/修改/删除行的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);
}
}
运行结果:
添加三行,修改第三行,然后删除第四行的结果如下所示: