⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demotablemodel.java

📁 java 开发工具书上的一些代码
💻 JAVA
字号:
/*
 * DemoTableModel.java
 *
 * Created on 2006年4月9日, 上午12:31
 */

package org.netbeans.swing.table;

import java.util.Vector;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.TableColumnModelEvent;
import javax.swing.event.TableColumnModelListener;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author  boyingking
 */
public class DemoTableModel extends javax.swing.JFrame {
    
    /** Creates new form DemoTableModel */
    public DemoTableModel() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jScrollPane1 = new javax.swing.JScrollPane();
        jTableUseModel = new javax.swing.JTable();
        jButtonAddRow = new javax.swing.JButton();
        jButtonDeleteRow = new javax.swing.JButton();
        jButtonAddColumn = new javax.swing.JButton();
        jButtonDeleteColumn = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("\u8868\u683c\u6a21\u578b\u5e94\u7528\u793a\u4f8b");
        jTableUseModel.setModel(this.initialTableModel());
        jScrollPane1.setViewportView(jTableUseModel);

        jButtonAddRow.setText("\u6dfb\u52a0\u884c");
        jButtonAddRow.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAddRowActionPerformed(evt);
            }
        });

        jButtonDeleteRow.setText("\u5220\u9664\u884c");
        jButtonDeleteRow.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonDeleteRowActionPerformed(evt);
            }
        });

        jButtonAddColumn.setText("\u6dfb\u52a0\u5217");
        jButtonAddColumn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAddColumnActionPerformed(evt);
            }
        });

        jButtonDeleteColumn.setText("\u5220\u9664\u5217");
        jButtonDeleteColumn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonDeleteColumnActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(22, 22, 22)
                .add(jButtonAddRow)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jButtonDeleteRow)
                .add(19, 19, 19)
                .add(jButtonAddColumn)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jButtonDeleteColumn)
                .add(20, 20, 20))
            .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 397, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 255, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(jButtonAddRow)
                    .add(jButtonDeleteRow)
                    .add(jButtonDeleteColumn)
                    .add(jButtonAddColumn)))
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButtonDeleteColumnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDeleteColumnActionPerformed
// TODO add your handling code here:
       DefaultTableModel myModel=(DefaultTableModel)jTableUseModel.getModel(); 
        int columnCount=myModel.getColumnCount()-1;
        if(columnCount>0)
        myModel.setColumnCount(columnCount);
    }//GEN-LAST:event_jButtonDeleteColumnActionPerformed

    private void jButtonAddColumnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddColumnActionPerformed
// TODO add your handling code here:
        DefaultTableModel myModel=(DefaultTableModel)jTableUseModel.getModel();
        Vector newColumn=new Vector();
        int columnCount=myModel.getColumnCount()+1;
        myModel.addColumn("第"+columnCount+"列");
    }//GEN-LAST:event_jButtonAddColumnActionPerformed

    private void jButtonDeleteRowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDeleteRowActionPerformed
// TODO add your handling code here:
        DefaultTableModel myModel=(DefaultTableModel)jTableUseModel.getModel();
        int rowNum=myModel.getRowCount();
        if(rowNum>0)
        myModel.removeRow(rowNum-1);
    }//GEN-LAST:event_jButtonDeleteRowActionPerformed

    private void jButtonAddRowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddRowActionPerformed
// TODO add your handling code here:
        DefaultTableModel myModel=((DefaultTableModel)jTableUseModel.getModel());
        Vector newRow=new Vector();
        int columnNum=myModel.getColumnCount();
        for(int i=0;i<columnNum;i++)
        {
            newRow.add("");
        }
        myModel.getDataVector().add(newRow);
        myModel.fireTableStructureChanged();
    }//GEN-LAST:event_jButtonAddRowActionPerformed
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DemoTableModel().setVisible(true);
            }
        });
    }
    public DefaultTableModel initialTableModel()
    {
        Vector title=new Vector();
        title.add("第1列");
        title.add("第2列");
        title.add("第3列");
        Vector firstRow=new Vector();
        firstRow.add("11111");
        firstRow.add("11111");
        firstRow.add("11111");
        Vector secondRow=new Vector();
        secondRow.add("22222");
        secondRow.add("22222");
        secondRow.add("22222");
        Vector thirdRow=new Vector();
        thirdRow.add("33333");
        thirdRow.add("33333");
        thirdRow.add("33333");
        Vector content=new Vector();
        content.add(firstRow);
        content.add(secondRow);
        content.add(thirdRow);
        DefaultTableModel myDefaultTableModel=new DefaultTableModel(content,title);
        return myDefaultTableModel;
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonAddColumn;
    private javax.swing.JButton jButtonAddRow;
    private javax.swing.JButton jButtonDeleteColumn;
    private javax.swing.JButton jButtonDeleteRow;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTableUseModel;
    // End of variables declaration//GEN-END:variables

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -