📄 demotablemodel.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 + -