Swing 表格(JTable)的使用
程序员文章站
2024-02-01 18:27:16
...
表格是程序中一种很常见的组件,Swing中的表格是:JTable,表格的功能是把数据以二维表格的形式显示出来,并且允许用户对表格中的数据进行编辑。今天我们来介绍一下JTable的简单使用
一、构造方法:
构造方法1:
JTable(int numRows,int numColumns):使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable。
构造方法2:
JTable(Object[][] rowData,Object[] columnNames):构造一个 JTable 来显示二 维数组 rowData 中的值,其列名称为 columnNames。
二、常用方法
三、实例
创建一个实例,点击删除可以删除选中的表格行。
package swing;
import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
/**
* JTabel 表格
* Swing 中表格的数据可以根据需求动态变化,本例子演示如何从表格中删除用户选择的行
*/
public class Demo32_JTable2 extends JFrame{
private JPanel contentPane;
private JTable table;
public static void main(String[] args){
Demo32_JTable2 frame = new Demo32_JTable2();
}
public Demo32_JTable2() {
addWindowListener(new WindowAdapter(){
@Override
public void windowActivated(WindowEvent e){
do_this_windowActivated(e);
}
});
setTitle("图书信息表");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SwingUtils.setCenter(this);//设置窗体大小600*800并居中
contentPane=new JPanel();
contentPane.setBorder(new EmptyBorder(5,5,5,5));
contentPane.setLayout(new BorderLayout(0,0));
setContentPane(contentPane);
JPanel panel=new JPanel();
contentPane.add(panel,BorderLayout.SOUTH);
JButton button=new JButton("删除");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
do_button_actionPerformed(e);
}
});
panel.add(button);
JScrollPane scrollPane=new JScrollPane();
contentPane.add(scrollPane,BorderLayout.CENTER);
table=new JTable();
table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
scrollPane.setViewportView(table);
setVisible(true);
}
protected void do_this_windowActivated(WindowEvent e){
DefaultTableModel tableModel=(DefaultTableModel) table.getModel(); //获得表格模型
tableModel.setRowCount(0); //清空表格中的数据
tableModel.setColumnIdentifiers(new Object[]{"书名","出版社","出版时间","丛书类别","定价"}); //设置表头
tableModel.addRow(new Object[]{"Java从入门到精通(第2版)","清华大学出版社","2010-07-01","软件工程师入门丛书","59.8元"}); //增加列
tableModel.addRow(new Object[]{"PHP从入门到精通(第2版)","清华大学出版社","2010-07-01","软件工程师入门丛书","69.8元"});
tableModel.addRow(new Object[]{"Visual Basic从入门到精通(第2版)","清华大学出版社","2010-07-01","软件工程师入门丛书","69.8元"});
tableModel.addRow(new Object[]{"Visual C++从入门到精通(第2版)","清华大学出版社","2010-07-01","软件工程师入门丛书","69.8元" });
table.setRowHeight(30);
table.setModel(tableModel); //应用表格模型
}
protected void do_button_actionPerformed(ActionEvent e){
DefaultTableModel model=(DefaultTableModel) table.getModel(); //获得表格模型
int[] selectedRows=table.getSelectedRows();
for(int i=0;i<selectedRows.length;i++){
model.removeRow(selectedRows[0]);
System.out.println();
}
table.setModel(model);
}
}
推荐阅读
-
Swing 表格(JTable)的使用
-
html表格标签的使用_html/css_WEB-ITnose
-
Java~Swing中下拉式菜单JMenuBar(菜单栏)、JMenu(菜单)和JMenuItem(菜单项)的使用
-
Swing选项卡(JTabbedPane)的使用
-
Java Swing组件JCheckBox和JRadioButton的简单使用
-
使用html5实现表格实现标题合并的实例代码
-
vue 中使用 vxe-table 制作可编辑表格的使用过程
-
python使用openpyxl库读写Excel表格的方法(增删改查操作)
-
使用c#在word文档中创建表格的方法详解
-
Android使用Jsoup解析Html表格的方法