JTable拖拽更改行高
来源:互联网 发布:淘宝选词助手在哪里 编辑:程序博客网 时间:2024/05/28 22:13
import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.table.*;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); } void loadString() { col.add("id"); col.add("name"); col.add("age"); col.add("address"); dm.setColumnIdentifiers(col); } 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 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() < 3) { 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 < 30) table.setRowHeight(row, 30); else table.setRowHeight(row, oldHeight + e.getY() - oldY); table.setRowSelectionInterval(row, row); } } public void mousePressed(MouseEvent e) { oldY = e.getY(); row = table.rowAtPoint(e.getPoint()); oldHeight = table.getRowHeight(row); table.setRowSelectionInterval(row, 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) { } }}
0 0
- JTable拖拽更改行高
- DataGridView更改行高
- 改行
- EXTJS--grid 组件更改行高
- java JTable行高
- JTable 每行自适应行高
- 鼠标事件改变JTable的行高
- jtable
- JTable
- JTable
- JTable
- JTable
- JTABLE
- JTable
- JTABLE
- JTable
- jTABLE
- JTable
- linux下字符界面与桌面切换的快捷键总结
- myBatis + SpringMVC上传、下载文件
- apk 反编译和重新签名打包命令
- 5CDC的文字处理
- 6菜单
- JTable拖拽更改行高
- sra文件转为fastq
- ADF中使用JavaScript
- 永不放弃——马云给创业者的24堂课
- UltraISO装系统以及iso镜像下载地址--注册表命令
- ARM Linux内核启动过程
- JSP基础知识(二)
- Android线程池使用
- 开篇-2015年度规划