package test;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class TableRowHeightFrame extends JFrame { Vector col = new Vector();
DefaultTableModel dm = new DefaultTableModel(col,0);
JScrollPane jScrollPane1 = new JScrollPane();
JTable table = new JTable(dm); public TableRowHeightFrame() {
try {
loadString();
jbInit();
loadata();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TableRowHeightFrame frm = new TableRowHeightFrame(); frm.setBounds(400,300,600,400);
frm.setVisible(true); } private void jbInit() throws Exception {
this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
jScrollPane1.getViewport().add(table, null);
MouseAdapterListener listener = new MouseAdapterListener();
table.addMouseListener(listener);
table.addMouseMotionListener(listener); } void loadString(){
col.add("id");
col.add("name");
col.add("age");
col.add("address"); dm.setColumnIdentifiers(col);
} void loadata(){
dm.addRow(new Object[]{"1","zt","30","wuxi"});
dm.addRow(new Object[]{"2","zt","30","wuxi"});
dm.addRow(new Object[]{"3","zt","30","wuxi"});
dm.addRow(new Object[]{"4","zt","30","wuxi"});
} class MouseAdapterListener extends java.awt.event.MouseMotionAdapter implements MouseListener{
int oldY = 0;
int newY = 0;
int row = 0;
int oldHeight = 0;
boolean drag = false;
int increase = 0; public MouseAdapterListener(){ } public void mouseMoved(MouseEvent e) {
int onRow = table.rowAtPoint(e.getPoint()); int height=0;
for(int i = 0; i<= onRow; i++){
height = height+table.getRowHeight(i);
} if(height - e.getY() < 6){
drag = true;
table.setCursor(new Cursor(Cursor.N_RESIZE_CURSOR));
}
else{
drag = false;
table.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
} } public void mouseDragged(MouseEvent e) {
if(drag){
int value = oldHeight+e.getY()-oldY;
if(value < 10)
table.setRowHeight(row,10);
else
table.setRowHeight(row,oldHeight+e.getY()-oldY);
}
} public void mousePressed(MouseEvent e){
oldY = e.getY();
row = table.rowAtPoint(e.getPoint());
oldHeight = table.getRowHeight(row);
} public void mouseReleased(MouseEvent e) {
newY = e.getY();
table.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
} public void mouseClicked(MouseEvent e){
} public void mouseEntered(MouseEvent e){
} public void mouseExited(MouseEvent e){
}
}
}
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class TableRowHeightFrame extends JFrame { Vector col = new Vector();
DefaultTableModel dm = new DefaultTableModel(col,0);
JScrollPane jScrollPane1 = new JScrollPane();
JTable table = new JTable(dm); public TableRowHeightFrame() {
try {
loadString();
jbInit();
loadata();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TableRowHeightFrame frm = new TableRowHeightFrame(); frm.setBounds(400,300,600,400);
frm.setVisible(true); } private void jbInit() throws Exception {
this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
jScrollPane1.getViewport().add(table, null);
MouseAdapterListener listener = new MouseAdapterListener();
table.addMouseListener(listener);
table.addMouseMotionListener(listener); } void loadString(){
col.add("id");
col.add("name");
col.add("age");
col.add("address"); dm.setColumnIdentifiers(col);
} void loadata(){
dm.addRow(new Object[]{"1","zt","30","wuxi"});
dm.addRow(new Object[]{"2","zt","30","wuxi"});
dm.addRow(new Object[]{"3","zt","30","wuxi"});
dm.addRow(new Object[]{"4","zt","30","wuxi"});
} class MouseAdapterListener extends java.awt.event.MouseMotionAdapter implements MouseListener{
int oldY = 0;
int newY = 0;
int row = 0;
int oldHeight = 0;
boolean drag = false;
int increase = 0; public MouseAdapterListener(){ } public void mouseMoved(MouseEvent e) {
int onRow = table.rowAtPoint(e.getPoint()); int height=0;
for(int i = 0; i<= onRow; i++){
height = height+table.getRowHeight(i);
} if(height - e.getY() < 6){
drag = true;
table.setCursor(new Cursor(Cursor.N_RESIZE_CURSOR));
}
else{
drag = false;
table.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
} } public void mouseDragged(MouseEvent e) {
if(drag){
int value = oldHeight+e.getY()-oldY;
if(value < 10)
table.setRowHeight(row,10);
else
table.setRowHeight(row,oldHeight+e.getY()-oldY);
}
} public void mousePressed(MouseEvent e){
oldY = e.getY();
row = table.rowAtPoint(e.getPoint());
oldHeight = table.getRowHeight(row);
} public void mouseReleased(MouseEvent e) {
newY = e.getY();
table.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
} public void mouseClicked(MouseEvent e){
} public void mouseEntered(MouseEvent e){
} public void mouseExited(MouseEvent e){
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货