//关闭自动模式
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); //改变宽度
int vColIndex = 0;
TableColumn col = table.getColumnModel().getColumn(vColIndex);
int width = 100;
col.setPreferredWidth(width);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); //改变宽度
int vColIndex = 0;
TableColumn col = table.getColumnModel().getColumn(vColIndex);
int width = 100;
col.setPreferredWidth(width);
JTable table; public MyTableColumnModelListener(JTable table) {
this.table = table;
}
public void columnAdded(TableColumnModelEvent e) {
}
public void columnRemoved(TableColumnModelEvent e) {
}
public void columnMoved(TableColumnModelEvent e) {
}
public void columnMarginChanged(ChangeEvent e) {
//加这里
}
public void columnSelectionChanged(ListSelectionEvent e) {
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;public class Frame1 extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JScrollPane jScrollPane1 = new JScrollPane();
JScrollPane jScrollPane2 = new JScrollPane();
Object[][] tabledata = {{"1","2","3"},
{"1","2","3"}
};
Object[] headdata = {"a","b","c"};
DefaultTableModel model1 = new DefaultTableModel();
DefaultTableModel model2 = new DefaultTableModel();
JTable jTable1 = new JTable(model1);
JTable jTable2 = new JTable(model2); /**Construct the frame*/
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**Component initialization*/
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");
jScrollPane1.setPreferredSize(new Dimension(4, 150));
contentPane.add(jScrollPane1, BorderLayout.NORTH);
jScrollPane1.getViewport().add(jTable1, null);
contentPane.add(jScrollPane2, BorderLayout.CENTER);
jScrollPane2.getViewport().add(jTable2, null);
model1.setDataVector(tabledata,headdata);
model2.setDataVector(tabledata,headdata);
JTableHeader head1=jTable1.getTableHeader();
head1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter(){
public void mouseDragged(MouseEvent e) {
head_dragger();
}
});
}
/**Overridden so we can exit when window is closed*/
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public void head_dragger(){
TableColumn tablecolumn ;
for(int i=0;i<jTable1.getColumnModel().getColumnCount();i++){
tablecolumn = jTable2.getColumnModel().getColumn(i);
int W = jTable1.getColumnModel().getColumn(i).getWidth();
tablecolumn.setWidth(W);
tablecolumn.setPreferredWidth(W);
}
}
}