不好意思,今晚头疼,所以下面代码特别恶心,就将就着看吧。/////////////////////////////////////////////UserListPanel .java
package test.swing;import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.util.*;public class UserListPanel extends JPanel implements ActionListener {
BorderLayout borderLayout1 = new BorderLayout();
JPanel _tabPanel = new JPanel();
BorderLayout borderLayout2 = new BorderLayout();
JPanel _btnPanel = new JPanel();
JButton _delBtn = new JButton();
JScrollPane _scrollPanel = new JScrollPane();
JTable _table = new JTable();
DefaultTableModel _model = new DefaultTableModel();
Vector _header = new Vector();
Vector _data = new Vector() ; public UserListPanel() {
try {
initTable();
initPanel();
}catch(Exception ex) {
ex.printStackTrace();
}
}
private void initTable(){
_header.add( "Name" );
_header.add( "Gender" );
_header.add( "Age" );
Vector aRec = null ;
aRec = new Vector() ;
aRec.add( "Bill" );
aRec.add( "M" );
aRec.add( "22" );
_data.add( aRec );
aRec = new Vector() ;
aRec.add( "Kelly" );
aRec.add( "F" );
aRec.add( "25" );
_data.add( aRec );
aRec = new Vector();
aRec.add("Hollon");
aRec.add("M");
aRec.add("32");
_data.add(aRec) ;
}
private void initPanel() throws Exception {
setLayout(borderLayout1);
_tabPanel.setLayout(borderLayout2);
_delBtn.setText("Delete");
add(_tabPanel, BorderLayout.CENTER);
_tabPanel.add(_scrollPanel, BorderLayout.CENTER);
_scrollPanel.getViewport().add(_table, null);
_model.setDataVector( _data , _header );
_table.setModel( _model );
add(_btnPanel, BorderLayout.SOUTH);
_btnPanel.add(_delBtn, null);
_delBtn.addActionListener( this );
}
public void actionPerformed(ActionEvent ae ){
int selIndex = _table.getSelectedRow() ;
if( selIndex < 0 || selIndex >= _table.getRowCount() ){
return ;
}
_model.getDataVector().remove( selIndex ) ;
_table.repaint();
}
}/////////////////////////////////////////////MainFrame.javapackage test.swing;import javax.swing.*;
import java.awt.*;
public class MainFrame extends JFrame {
BorderLayout borderLayout1 = new BorderLayout(); public MainFrame() {
try {
jbInit();
}
catch(Exception ex) {
ex.printStackTrace();
}
} void jbInit() throws Exception {
this.getContentPane().setLayout(borderLayout1);
this.getContentPane().add( new UserListPanel() ) ;
this.setSize( 200,150 );
this.show();
this.setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);
}
public static void main(String args[]){
new MainFrame();
}
}
package test.swing;import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.util.*;public class UserListPanel extends JPanel implements ActionListener {
BorderLayout borderLayout1 = new BorderLayout();
JPanel _tabPanel = new JPanel();
BorderLayout borderLayout2 = new BorderLayout();
JPanel _btnPanel = new JPanel();
JButton _delBtn = new JButton();
JScrollPane _scrollPanel = new JScrollPane();
JTable _table = new JTable();
DefaultTableModel _model = new DefaultTableModel();
Vector _header = new Vector();
Vector _data = new Vector() ; public UserListPanel() {
try {
initTable();
initPanel();
}catch(Exception ex) {
ex.printStackTrace();
}
}
private void initTable(){
_header.add( "Name" );
_header.add( "Gender" );
_header.add( "Age" );
Vector aRec = null ;
aRec = new Vector() ;
aRec.add( "Bill" );
aRec.add( "M" );
aRec.add( "22" );
_data.add( aRec );
aRec = new Vector() ;
aRec.add( "Kelly" );
aRec.add( "F" );
aRec.add( "25" );
_data.add( aRec );
aRec = new Vector();
aRec.add("Hollon");
aRec.add("M");
aRec.add("32");
_data.add(aRec) ;
}
private void initPanel() throws Exception {
setLayout(borderLayout1);
_tabPanel.setLayout(borderLayout2);
_delBtn.setText("Delete");
add(_tabPanel, BorderLayout.CENTER);
_tabPanel.add(_scrollPanel, BorderLayout.CENTER);
_scrollPanel.getViewport().add(_table, null);
_model.setDataVector( _data , _header );
_table.setModel( _model );
add(_btnPanel, BorderLayout.SOUTH);
_btnPanel.add(_delBtn, null);
_delBtn.addActionListener( this );
}
public void actionPerformed(ActionEvent ae ){
int selIndex = _table.getSelectedRow() ;
if( selIndex < 0 || selIndex >= _table.getRowCount() ){
return ;
}
_model.getDataVector().remove( selIndex ) ;
_table.repaint();
}
}/////////////////////////////////////////////MainFrame.javapackage test.swing;import javax.swing.*;
import java.awt.*;
public class MainFrame extends JFrame {
BorderLayout borderLayout1 = new BorderLayout(); public MainFrame() {
try {
jbInit();
}
catch(Exception ex) {
ex.printStackTrace();
}
} void jbInit() throws Exception {
this.getContentPane().setLayout(borderLayout1);
this.getContentPane().add( new UserListPanel() ) ;
this.setSize( 200,150 );
this.show();
this.setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);
}
public static void main(String args[]){
new MainFrame();
}
}
_model.fireTableDataChanged();
代替_table.repaint();
:)
不懂的可以查看API啊