//监听单击事件,放到jbinit里面或其它地方。
jTable1.getTableHeader().addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(MouseEvent e) {
this_mouseClicked(e);
}
});
void this_mouseClicked(MouseEvent e) {
if (e.getSource() == getTableHeader()){
//单击的表头列。
int tableColumn = getTableHeader().columnAtPoint(e.getPoint());
int modelcolumn = this.convertColumnIndexToModel(tableColumn);
sort_table(modelcolumn);
}
}
jTable1.getTableHeader().addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(MouseEvent e) {
this_mouseClicked(e);
}
});
void this_mouseClicked(MouseEvent e) {
if (e.getSource() == getTableHeader()){
//单击的表头列。
int tableColumn = getTableHeader().columnAtPoint(e.getPoint());
int modelcolumn = this.convertColumnIndexToModel(tableColumn);
sort_table(modelcolumn);
}
}
解决方案 »
- 如何判断返回值是否是指定的泛型.
- 准备j2ee方面找工作,没有项目经验请问我该如何添写简历,难道简历不写项目经验
- 如何设置JTextPane中文本的字体和颜色
- (重分请教:)Sun Java Creator 打成 WAR 包后如何布署在JBOSS下面 (来者都有分,帮顶也行)
- 一个很小的问题
- soket 接收数据问题
- 日期格式转化问题
- 如何在工具条上显示图片?
- 使用maven构建,mvn install报错
- 实现一个表达MP3、DVD的媒体类型,能和CD一样存放进这个Database。请提交这个MP3类和DVD类的代码
- 现在用 System.exit(0) or System.exit(1) 来退出弹出窗口,但是连父窗口一起关闭(紧急求解)
- 各位侠兄,问一个JavaScript的问题!十万火急!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*; public class HeadDemo extends JFrame {
private JTable table; public HeadDemo(){ setContentPane(new JPanel()); TableModel model = new AbstractTableModel() {
public int getColumnCount() { return 6; }
public int getRowCount() { return 25; }
public Object getValueAt(int row, int col) {
return new Integer(row * col);
}
}; table = new JTable(model);
table.getTableHeader().addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent me) {
Point p = me.getPoint();
JTableHeader header = (JTableHeader)me.getSource();
int selected = header.columnAtPoint(p);
System.out.println("Column Header Index: " + selected);
}
}); getContentPane().add(new JScrollPane(table));
pack();
setVisible(true);
} public static void main(String[] args) {
new HeadDemo ();
}
}
//所以MouseListener,和 MouseEvents都可以用。
//它从jcomponent继承而来,并且实现两个接口
//TableColumnMouseListener,Accessibleimport javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*; public class HeaderTable extends JTable { public HeaderTable() {
setModel(new AbstractTableModel() {
public int getColumnCount() { return 6; }
public int getRowCount() { return 26;}
public Object getValueAt(int row,int col) { return new Integer(row * col); }
});;
getTableHeader().addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent me) {
String buttonMask = new String();
int col = ((JTableHeader)me.getSource()).columnAtPoint(me.getPoint());
int clicks = me.getClickCount();
int mask = me.getModifiers();
switch(mask) {
case InputEvent.BUTTON1_MASK: buttonMask = "Left Button"; break;
case InputEvent.BUTTON3_MASK: buttonMask = "Right Button"; break;
default: buttonMask = "A button that is neither left nor right (or a combination)";
}
System.out.println(buttonMask + " clicked on column: " + col + " " + clicks + " time(s).");
}
});
} public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
HeaderTable table = new HeaderTable();
JScrollPane pane = new JScrollPane(table);
panel.add(pane);
frame.getContentPane().add(panel);
frame.setSize(500,500);
frame.setVisible(true);
}
}