本次小编制作一个JTable,并且能够完成想表格添加对象、添加属性和过滤对象,并且以一定顺序输出。
在这里插入代码片
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class Main1 extends JApplet{
private JTable table;
private String[] biaotou= {"name","sex","qq"};
private String[][] neirong;
private DefaultTableModel model=new DefaultTableModel(neirong,biaotou);
private TableRowSorter<TableModel> row=new TableRowSorter<TableModel>(model);
public Main1() {
table=new JTable(model);
table.setRowSorter(row);//排序
JButton guolv=new JButton("过滤");//过滤
JButton jia=new JButton("添加对象");//添加对象
JButton tian=new JButton("添加属性");//添加属性
JPanel panel=new JPanel();
panel.add(jia,BorderLayout.WEST);
panel.add(tian,BorderLayout.CENTER);
panel.add(guolv,BorderLayout.EAST);
add(new JScrollPane(table));
add(panel,BorderLayout.SOUTH);//页面设计
guolv.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成的方法存根
row.setRowFilter(RowFilter.regexFilter(JOptionPane.showInputDialog("选择"),new int[]{0}));//过滤
}});
jia.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
model.addRow(new String[] {"","",""});
}});
tian.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成的方法存根
model.addColumn(JOptionPane.showInputDialog("添加的属性"));
}});
}
}