我的jTable 里面传的是2个 Vector集合 不用数据库 就是用集合框架怎么实现 我表中数据的排序谢谢!!!可能代码有点乱 麻烦高手 帮忙看看 谢谢!!!!import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JButton;
import java.util.Vector;
import javax.swing.event.TableModelListener;
import javax.swing.event.TableModelEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.ListSelectionModel;
import java.util.Hashtable;
import java.util.Iterator;public class MyApplet1 extends Applet {
boolean isStandalone = false;
BorderLayout borderLayout1 = new BorderLayout();
private JTextField stu_id = new JTextField();
JTextField stu_name = new JTextField();
JTextField stu_age = new JTextField();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = null;
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
JButton jButton6 = new JButton();
JButton jButton7 = new JButton(); //Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
} //Construct the applet
public MyApplet1() {
} //Initialize the applet
public void init() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
} Vector rows = new Vector();
Vector col = new Vector();
Vector row=null;
Hashtable ht=null;
//Component initialization
private void jbInit() throws Exception {
this.setLayout(null); col.add("stu_id");
col.add("stu_name");
col.add("stu_age");
jTable1 = new JTable(rows, col);
stu_id.setBounds(new Rectangle(69, 31, 112, 28));
stu_name.setBounds(new Rectangle(71, 100, 110, 27));
stu_age.setBounds(new Rectangle(71, 161, 109, 29));
jLabel1.setText("stu_id");
jLabel1.setBounds(new Rectangle(6, 30, 54, 25));
jLabel2.setText("stu_name");
jLabel2.setBounds(new Rectangle(4, 96, 66, 30));
jLabel3.setText("stu_age");
jLabel3.setBounds(new Rectangle(6, 160, 55, 29));
jScrollPane1.setBounds(new Rectangle(193, 17, 205, 236));
jButton1.setBounds(new Rectangle(4, 224, 71, 30));
jButton1.setText("添加");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
row = new Vector();
row.add(stu_id.getText());
row.add(stu_name.getText());
row.add(stu_age.getText());
// System.out.println("" + stu_id.getText());
// System.out.println("" + stu_name.getText());
rows.add(row);
jTable1 = new JTable(rows, col);
jScrollPane1.getViewport().add(jTable1);
// jTable1.setRowHeight(jTable1.getRowHeight());
jTable1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
int row=jTable1.getSelectedRow();
stu_id.setText((String)jTable1.getValueAt(row,0));
stu_name.setText((String)jTable1.getValueAt(row,1));
stu_age.setText((String)jTable1.getValueAt(row,2)); }
}); jTable1.setRowHeight(jTable1.getRowHeight());
stu_id.setText("");
stu_name.setText("");
stu_age.setText("");
}
});
jButton2.setBounds(new Rectangle(84, 224, 65, 29));
jButton2.setText("删除");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = jTable1.getSelectedRow();
rows.remove(i);
jTable1.setRowHeight(jTable1.getRowHeight());
}
}); jButton3.setBounds(new Rectangle(4, 267, 68, 29));
jButton3.setText("修改");
jButton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = jTable1.getSelectedRow();
rows.remove(i);
row = new Vector();
// jTable1.setRowHeight(jTable1.getRowHeight());
row.add(stu_id.getText());
row.add(stu_name.getText());
row.add(stu_age.getText());
rows.add(row);
jTable1 = new JTable(rows, col);
jScrollPane1.getViewport().add(jTable1);
// jTable1.setRowHeight(jTable1.getRowHeight());
}
});
jButton4.setBounds(new Rectangle(405, 16, 90, 30));
jButton4.setText("id升序");
// jButton4.addActionListener(new ActionListener(){
// public void actionPerformed(ActionEvent e) {
// System.out.println("111111111111");
// Iterator it= rows.iterator();
// while(it.hasNext()){
// System.out.println("22222222222");
// ht=(Hashtable)it.next();
// System.out.println("3333333333");
// ht.put(row.get(0),row);
// System.out.println("44444444444444444");
//// System.out.println(""+ht.get(ht).toString());
// }
// }
// });
jButton5.setBounds(new Rectangle(409, 72, 86, 25));
jButton5.setText("id降序");
jButton6.setBounds(new Rectangle(410, 129, 86, 27));
jButton6.setText("age升序");
jButton7.setBounds(new Rectangle(411, 189, 86, 23));
jButton7.setText("age降序");
this.add(stu_id);
this.add(stu_name);
this.add(stu_age);
this.add(jLabel1);
this.add(jLabel2);
this.add(jLabel3);
this.add(jScrollPane1);
this.add(jButton1);
this.add(jButton2);
this.add(jButton3);
this.add(jButton4);
this.add(jButton5);
this.add(jButton6);
this.add(jButton7);
jScrollPane1.getViewport().add(jTable1);
} //Get Applet information
public String getAppletInfo() {
return "Applet Information";
} //Get parameter info
public String[][] getParameterInfo() {
return null;
}}
import java.awt.event.*;
import java.applet.*;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JButton;
import java.util.Vector;
import javax.swing.event.TableModelListener;
import javax.swing.event.TableModelEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.ListSelectionModel;
import java.util.Hashtable;
import java.util.Iterator;public class MyApplet1 extends Applet {
boolean isStandalone = false;
BorderLayout borderLayout1 = new BorderLayout();
private JTextField stu_id = new JTextField();
JTextField stu_name = new JTextField();
JTextField stu_age = new JTextField();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = null;
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
JButton jButton6 = new JButton();
JButton jButton7 = new JButton(); //Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
} //Construct the applet
public MyApplet1() {
} //Initialize the applet
public void init() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
} Vector rows = new Vector();
Vector col = new Vector();
Vector row=null;
Hashtable ht=null;
//Component initialization
private void jbInit() throws Exception {
this.setLayout(null); col.add("stu_id");
col.add("stu_name");
col.add("stu_age");
jTable1 = new JTable(rows, col);
stu_id.setBounds(new Rectangle(69, 31, 112, 28));
stu_name.setBounds(new Rectangle(71, 100, 110, 27));
stu_age.setBounds(new Rectangle(71, 161, 109, 29));
jLabel1.setText("stu_id");
jLabel1.setBounds(new Rectangle(6, 30, 54, 25));
jLabel2.setText("stu_name");
jLabel2.setBounds(new Rectangle(4, 96, 66, 30));
jLabel3.setText("stu_age");
jLabel3.setBounds(new Rectangle(6, 160, 55, 29));
jScrollPane1.setBounds(new Rectangle(193, 17, 205, 236));
jButton1.setBounds(new Rectangle(4, 224, 71, 30));
jButton1.setText("添加");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
row = new Vector();
row.add(stu_id.getText());
row.add(stu_name.getText());
row.add(stu_age.getText());
// System.out.println("" + stu_id.getText());
// System.out.println("" + stu_name.getText());
rows.add(row);
jTable1 = new JTable(rows, col);
jScrollPane1.getViewport().add(jTable1);
// jTable1.setRowHeight(jTable1.getRowHeight());
jTable1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
int row=jTable1.getSelectedRow();
stu_id.setText((String)jTable1.getValueAt(row,0));
stu_name.setText((String)jTable1.getValueAt(row,1));
stu_age.setText((String)jTable1.getValueAt(row,2)); }
}); jTable1.setRowHeight(jTable1.getRowHeight());
stu_id.setText("");
stu_name.setText("");
stu_age.setText("");
}
});
jButton2.setBounds(new Rectangle(84, 224, 65, 29));
jButton2.setText("删除");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = jTable1.getSelectedRow();
rows.remove(i);
jTable1.setRowHeight(jTable1.getRowHeight());
}
}); jButton3.setBounds(new Rectangle(4, 267, 68, 29));
jButton3.setText("修改");
jButton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = jTable1.getSelectedRow();
rows.remove(i);
row = new Vector();
// jTable1.setRowHeight(jTable1.getRowHeight());
row.add(stu_id.getText());
row.add(stu_name.getText());
row.add(stu_age.getText());
rows.add(row);
jTable1 = new JTable(rows, col);
jScrollPane1.getViewport().add(jTable1);
// jTable1.setRowHeight(jTable1.getRowHeight());
}
});
jButton4.setBounds(new Rectangle(405, 16, 90, 30));
jButton4.setText("id升序");
// jButton4.addActionListener(new ActionListener(){
// public void actionPerformed(ActionEvent e) {
// System.out.println("111111111111");
// Iterator it= rows.iterator();
// while(it.hasNext()){
// System.out.println("22222222222");
// ht=(Hashtable)it.next();
// System.out.println("3333333333");
// ht.put(row.get(0),row);
// System.out.println("44444444444444444");
//// System.out.println(""+ht.get(ht).toString());
// }
// }
// });
jButton5.setBounds(new Rectangle(409, 72, 86, 25));
jButton5.setText("id降序");
jButton6.setBounds(new Rectangle(410, 129, 86, 27));
jButton6.setText("age升序");
jButton7.setBounds(new Rectangle(411, 189, 86, 23));
jButton7.setText("age降序");
this.add(stu_id);
this.add(stu_name);
this.add(stu_age);
this.add(jLabel1);
this.add(jLabel2);
this.add(jLabel3);
this.add(jScrollPane1);
this.add(jButton1);
this.add(jButton2);
this.add(jButton3);
this.add(jButton4);
this.add(jButton5);
this.add(jButton6);
this.add(jButton7);
jScrollPane1.getViewport().add(jTable1);
} //Get Applet information
public String getAppletInfo() {
return "Applet Information";
} //Get parameter info
public String[][] getParameterInfo() {
return null;
}}
自带了,点击列头排序
------------------------------
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.RowSorter;import java.util.Vector;
import javax.swing.event.TableModelListener;
import javax.swing.event.TableModelEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import javax.swing.ListSelectionModel;
import java.util.Hashtable;
import java.util.Iterator;public class MyApplet1 extends Applet {
boolean isStandalone = false; BorderLayout borderLayout1 = new BorderLayout(); private JTextField stu_id = new JTextField(); JTextField stu_name = new JTextField(); JTextField stu_age = new JTextField(); JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JScrollPane jScrollPane1 = new JScrollPane(); JTable jTable1 = null; JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JButton jButton3 = new JButton(); JButton jButton4 = new JButton(); JButton jButton5 = new JButton(); JButton jButton6 = new JButton(); JButton jButton7 = new JButton(); // Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) : (getParameter(key) != null
? getParameter(key)
: def);
} // Construct the applet
public MyApplet1() {
} // Initialize the applet
public void init() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
} Vector rows = new Vector(); Vector col = new Vector(); Vector row = null; Hashtable ht = null; // Component initialization
private void jbInit() throws Exception {
this.setLayout(null); col.add("stu_id");
col.add("stu_name");
col.add("stu_age");
jTable1 = new JTable(rows, col);
jTable1.setAutoCreateRowSorter(true);
// jTable1.setRowSorter(new TableRowSorter(jTable1.getModel()));
stu_id.setBounds(new Rectangle(69, 31, 112, 28));
stu_name.setBounds(new Rectangle(71, 100, 110, 27));
stu_age.setBounds(new Rectangle(71, 161, 109, 29));
jLabel1.setText("stu_id");
jLabel1.setBounds(new Rectangle(6, 30, 54, 25));
jLabel2.setText("stu_name");
jLabel2.setBounds(new Rectangle(4, 96, 66, 30));
jLabel3.setText("stu_age");
jLabel3.setBounds(new Rectangle(6, 160, 55, 29));
jScrollPane1.setBounds(new Rectangle(193, 17, 205, 236));
jButton1.setBounds(new Rectangle(4, 224, 71, 30));
jButton1.setText("添加");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
row = new Vector();
row.add(stu_id.getText());
row.add(stu_name.getText());
row.add(stu_age.getText());
// System.out.println("" + stu_id.getText());
// System.out.println("" + stu_name.getText());
rows.add(row);
jTable1 = new JTable(rows, col){
public void tableChanged(TableModelEvent e) {
super.tableChanged(e);
this.setRowSorter(new TableRowSorter(jTable1.getModel()));
}
};
jScrollPane1.getViewport().add(jTable1);
// jTable1.setRowHeight(jTable1.getRowHeight());
jTable1.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int row = jTable1.getSelectedRow();
stu_id.setText((String) jTable1.getValueAt(row, 0));
stu_name.setText((String) jTable1.getValueAt(row, 1));
stu_age.setText((String) jTable1.getValueAt(row, 2)); }
}); jTable1.setRowHeight(jTable1.getRowHeight());
stu_id.setText("");
stu_name.setText("");
stu_age.setText("");
}
});
jButton2.setBounds(new Rectangle(84, 224, 65, 29));
jButton2.setText("删除");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = jTable1.getSelectedRow();
rows.remove(i);
jTable1.setRowHeight(jTable1.getRowHeight());
}
}); jButton3.setBounds(new Rectangle(4, 267, 68, 29));
jButton3.setText("修改");
jButton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = jTable1.getSelectedRow();
rows.remove(i);
row = new Vector();
// jTable1.setRowHeight(jTable1.getRowHeight());
row.add(stu_id.getText());
row.add(stu_name.getText());
row.add(stu_age.getText());
rows.add(row);
jTable1 = new JTable(rows, col);
jScrollPane1.getViewport().add(jTable1);
// jTable1.setRowHeight(jTable1.getRowHeight());
}
});
jButton4.setBounds(new Rectangle(405, 16, 90, 30));
jButton4.setText("id升序");
// jButton4.addActionListener(new ActionListener(){
// public void actionPerformed(ActionEvent e) {
// System.out.println("111111111111");
// Iterator it= rows.iterator();
// while(it.hasNext()){
// System.out.println("22222222222");
// ht=(Hashtable)it.next();
// System.out.println("3333333333");
// ht.put(row.get(0),row);
// System.out.println("44444444444444444");
// // System.out.println(""+ht.get(ht).toString());
// }
// }
// });
jButton5.setBounds(new Rectangle(409, 72, 86, 25));
jButton5.setText("id降序");
jButton6.setBounds(new Rectangle(410, 129, 86, 27));
jButton6.setText("age升序");
jButton7.setBounds(new Rectangle(411, 189, 86, 23));
jButton7.setText("age降序");
this.add(stu_id);
this.add(stu_name);
this.add(stu_age);
this.add(jLabel1);
this.add(jLabel2);
this.add(jLabel3);
this.add(jScrollPane1);
this.add(jButton1);
this.add(jButton2);
this.add(jButton3);
this.add(jButton4);
this.add(jButton5);
this.add(jButton6);
this.add(jButton7);
jScrollPane1.getViewport().add(jTable1);
} // Get Applet information
public String getAppletInfo() {
return "Applet Information";
} // Get parameter info
public String[][] getParameterInfo() {
return null;
}}要想实现自己的排序方式,得自己写sorter
jButton4.setText("id升序");
// jButton4.addActionListener(new ActionListener(){
// public void actionPerformed(ActionEvent e) {
// System.out.println("111111111111");
// Iterator it= rows.iterator();
// while(it.hasNext()){
//
// }
// }
// });
有人说在这里面定义个数组 在用冒泡排序 不知道这么弄啊。有那位高手知道吗?谢谢 !!!
public void paixv(String name, String type) {
Object[] b = new Object[rows.size()];
for (int i = 0; i < b.length; i++) {
b[i] = (Vector) rows.get(i);
}
for (int i = 0; i < b.length; i++) {
for (int u = 0; u < (b.length - 1) - i; u++) {
Vector v1 = (Vector) b[u];
Vector v2 = (Vector) b[u + 1];
int num1 = 0;
int num2 = 0;
if (name.equals("Stu_id")) {
num1 = Integer.parseInt((String) v1.get(0));
num2 = Integer.parseInt((String) v2.get(0));
} else {
num1 = Integer.parseInt((String) v1.get(2));
num2 = Integer.parseInt((String) v2.get(2));
} if (type.equals("shenngxv")) {
if (num1 > num2) {
Object o1 = b[u];
b[u] = b[u + 1];
b[u + 1] = o1;
}
} else {
if (num1 < num2) {
Object o1 = b[u];
b[u] = b[u + 1];
b[u + 1] = o1;
}
} }
} rows.removeAll(rows);
for (int i = 0; i < b.length; i++) {
rows.add(b[i]);
jTable1.setRowHeight(jTable1.getRowHeight());
}
}
总算做出来了嘿嘿 结贴了啊 !!!!