实现Java JTable的应用案例
2014-11-17 09:47
411 查看
代码如下
运行结果
<ignore_js_op>
详细说明:http://java.662p.com/thread-3683-1-1.html
import Java.awt.Component; import java.awt.Dimension; import java.awt.FontMetrics; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.UIManager; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumnModel; public class Main extends DefaultTableCellRenderer { private static final long serialVersionUID = 1L; public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { JTableHeader header = table.getTableHeader(); setForeground(header.getForeground()); setBackground(header.getBackground()); setFont(header.getFont()); setOpaque(true); setBorder(UIManager.getBorder("TableHeader.cellBorder")); // 得到列的宽度 TableColumnModel columnModel = table.getColumnModel(); int width = columnModel.getColumn(column).getWidth(); value = getShowValue(value.toString(), width); setText(value.toString()); setSize(new Dimension(width, this.getHeight())); setHorizontalAlignment(JLabel.CENTER); return this; } private Object getShowValue(String value, int colWidth) { FontMetrics fm = this.getFontMetrics(this.getFont()); int width = fm.stringWidth(value.toString()); int test = fm.stringWidth("好"); System.out.println(test * value.length()); System.out.println(width); if (width < colWidth) { return value; } StringBuffer sb = new StringBuffer("<html>"); char str; int tempW = 0; for (int i = 0; i < value.length(); i++) { str = value.charAt(i); tempW += fm.charWidth(str); if (tempW > colWidth) { sb.append("<br>"); tempW = 0; } sb.append(str); } sb.append("</html>"); return sb.toString(); } }
运行结果
<ignore_js_op>
详细说明:http://java.662p.com/thread-3683-1-1.html
相关文章推荐
- java---接口实现多态性应用案例
- java多线程的理论、应用场景、实现方法及实际案例
- JSF(Java Server Face)与在Web UI实现托拽式快速开发的应用
- JSF(Java Server Face)与在Web UI实现托拽式快速开发的应用
- Java 虚拟机类装载:原理、实现与应用
- 应用Java技术实现数据库应用系统
- 基于局域网络应用Java语言实现远程智能终端的控制
- 应用Java技术实现数据库应用系统
- [零基础学JAVA]Java SE应用部分-31.Java IO操作(05)IO操作实例讲解之实现简单MIS 推荐
- 使用技巧:共享内存在Java中实现和应用
- JAVA基础应用: 如何实现希尔排序算法
- Java:Web应用下实现定时任务的简便方法
- JAVA 多进程应用 多个定时器作业的SWING界面及实现 -- s00n
- 数据结构习作之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java) (技术含量少许)
- 应用Java技术实现数据库应用系统(收藏)
- Java:Web应用下实现定时任务的简便方法
- JSF(Java Server Face)与在Web UI实现托拽式快速开发的应用
- 数据结构之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java) (转载)
- 在java的web应用中实现定期执行任务方法一
- Java 虚拟机类装载:原理、实现与应用