Swing 表格的使用

2025-10-30 06:14:46

1、构造方法1:

JTable(int numRows,int numColumns):裁脾裕使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable。

Swing 表格的使用

Swing 表格的使用

2、构造方法2:

JTable(Object[][] rowData,Object[] columnNames):构造一个 JTable 来显示二 维数组 rowData 中的值,辞撤其泛铲列名称为 columnNames。

Swing 表格的使用

Swing 表格的使用

1、常用方法如下:

Swing 表格的使用

1、创建一个实例,设置表格只能选择单行,点击删除可以删除选中的表格行。

Swing 表格的使用

Swing 表格的使用

Swing 表格的使用

2、Demo32_JTable2 类代码如下:

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);

}

}

3、SwingUtils 类代码如下:

public class SwingUtils {

public static void setCenter(JFrame jf) {

int screenWidth=Toolkit.getDefaultToolkit().getScreenSize().width;

int screenHeight=Toolkit.getDefaultToolkit().getScreenSize().height; 

int jframeWidth = 800;

int jframeHeight = 600;

jf.setBounds((screenWidth/2)-(jframeWidth/2), (screenHeight/2)-(jframeHeight/2), 

        jframeWidth, jframeHeight);

}

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢