zoukankan      html  css  js  c++  java
  • 维护表格模型

    public class ExampleFrame_06 extends JFrame{
    
        private DefaultTableModel tableModel;
        private JTable table ;
        private JTextField aTextField;
        private JTextField bTextField;
        
        public ExampleFrame_06() {
            // TODO Auto-generated constructor stub
            super();
            setTitle("维护表格模型");
            setBounds(100,100,510,375);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
            final JScrollPane scrollPane = new JScrollPane();
            getContentPane().add(scrollPane, BorderLayout.CENTER);
            String[] columnNames = {"A","B"};
            String[][] tableValues = {{"A1","B1"},{"A2","B2"},{"A3","B3"}};
            tableModel = new DefaultTableModel(tableValues, columnNames);
            
            table = new JTable(tableModel);
            table.setRowSorter(new TableRowSorter<>(tableModel));
            
            table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            
            table.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    int selectedRow = table.getSelectedRow();
                    Object oa = tableModel.getValueAt(selectedRow, 0);
                    Object ob = tableModel.getValueAt(selectedRow, 1);
                    aTextField.setText(oa.toString());
                    bTextField.setText(ob.toString());
                }
            });
            
            scrollPane.setViewportView(table);
            final JPanel panel = new JPanel();
            getContentPane().add(panel,BorderLayout.SOUTH);
            panel.add(new JLabel("A: "));
            aTextField = new JTextField("A4",10);
            panel.add(aTextField);
            panel.add(new JLabel("B4",10));
            bTextField = new JTextField("B4",10);
            panel.add(bTextField);
            
            
            final JButton addbutton = new JButton("添加");
            addbutton.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub
                    String[] rowValues = {aTextField.getText(),bTextField.getText()};
                    tableModel.addRow(rowValues);
                    int rowCount = table.getRowCount()+1;
                    aTextField.setText("A" + rowCount);
                    bTextField.setText("B" + rowCount);
                }
            });
            
            
            panel.add(addbutton);
            
            final JButton upButton = new JButton("修改");
            upButton.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub
                    int selectedRow = table.getSelectedRow();
                    if(selectedRow != -1 ){
                        tableModel.setValueAt(aTextField.getText(), selectedRow, 0);
                        tableModel.setValueAt(bTextField.getText(), selectedRow, 1);
                    }
                }
            });
            panel.add(upButton);
            
            final JButton delButton = new JButton("删除");
            delButton.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub
                    int selectedRow = table.getSelectedRow();
                    if(selectedRow != -1){
                        tableModel.removeRow(selectedRow);
                    }
                }
            });
            panel.add(delButton);
        }
        
        
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ExampleFrame_06 exampleFrame_06 = new ExampleFrame_06();
            exampleFrame_06.setVisible(true);
        }
    
    }
  • 相关阅读:
    夺命雷公狗---DEDECMS----21dedecms按照地区取出电影内容
    夺命雷公狗---DEDECMS----20dedecms取出栏目页对应的内容
    夺命雷公狗---DEDECMS----19dedecms栏目列表页的完成
    夺命雷公狗---DEDECMS----18dedecms之无可奈何标签-sql标签取出今天更新
    mysql取出现在的时间戳和时间时间戳转成人类看得懂的时间
    SQL语句:find_in_set的使用方法
    夺命雷公狗---DEDECMS----17dedecms头条信息的取出
    夺命雷公狗---DEDECMS----16dedecms取出首页今日更新
    夺命雷公狗---DEDECMS----15dedecms首页栏目列表页导航部分完成
    夺命雷公狗---DEDECMS----14dedecms首页导航条的完成
  • 原文地址:https://www.cnblogs.com/dulute/p/10676124.html
Copyright © 2011-2022 走看看