给表格内容换行和表格选中行设置背景色

//2. TableCellTextAreaRenderer类首先要继承JTextArea而且要实现TableCellRenderer接口class TableCellTextAreaRenderer extends JTextArea implements TableCellRenderer {
    public TableCellTextAreaRenderer() {
        setLineWrap(true);
        setWrapStyleWord(true);
    }   

    public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
           if(isSelected){
        //设置表格选中的那一行的颜色
        setBackground(new Color(200,105,120));
        setForeground(table.getForeground());
    }else{
        setBackground(table.getBackground());
        setForeground(table.getForeground());
    }

 // 计算当下行的最佳高度
        int maxPreferredHeight = 0;
        for (int i = 0; i < table.getColumnCount(); i++) {
            setText("" + table.getValueAt(row, i));
            setSize(table.getColumnModel().getColumn(column).getWidth(), 0);
            maxPreferredHeight = Math.max(maxPreferredHeight, getPreferredSize().height);
        }   

        if (table.getRowHeight(row) != maxPreferredHeight)  // 少了这行则处理器瞎忙
            table.setRowHeight(row, maxPreferredHeight);   

        setText(value == null ? "" : value.toString());
        return this;
    }
}   
//1.创建一个简单的JTable,注意在setDefaultRenderer方法class C extends JFrame {
    public C() {
        JTable tbl = new JTable(new String[][]{{
                "JTable 里单元格内容的显示器是 TableCellRenderer。",
                "默认的显示器(DefaultTableCellRenderer) 继承 JLabel 所以不方便多行显示。",
                "要多行显示应该继承 JTextArea(参看下面的 TableCellTextAreaRenderer 类)。",
                "当然,别忘了调用 JTable.setDefaultRenderer() 登记你的显示器。"}},
                "A B C D".split(" "));
        tbl.setDefaultRenderer(Object.class, new TableCellTextAreaRenderer());   

        add(new JScrollPane(tbl));
        setSize(800, 200);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }   

    public static void main(String[] args) { new C(); }
}   
时间: 2024-10-12 22:45:19

给表格内容换行和表格选中行设置背景色的相关文章

eazyUI 修改datagrid选中行默认背景色

<style> .datagrid-row-selected { background: #D1EEEE; color: #fff; } </style> 在html代码中,加入这段CSS样式,重新设置选中行背景色即可

隐藏列获取不到值,表格选中行提示未选中

1,隐藏某列之后,获取该列的值为空,将绑定属性加到其它未隐藏字段的关联query字段,以逗号隔开 2,当使用到标准产品功能,选中某一行,提示未选中,需要用默认的表格名称queryGrid 例:生成凭证选中行提示未选中,要使用默认id(queryGrid)

asp.net GridView 表格之选中行

一.GridView 表格之选中行 asp.net选中行的功能最初以为只能通过属性中AllowGenerateSelectButton(运行时是否自动生成选择按钮)来实现,需要点击生成的选择按钮来操作,但这样使用并是很方便. 经寻找找到了改进办法如下效果 鼠标经过时背景色会改变,选中后可获取响应行的数据 实现方法如下: 首先前台设计属性框中事件绑定RowDataBound(在对时局进行了绑定后激发)事件 后台代码如下: /// <summary> /// 在对数据进行了绑定后激发 /// 主要

通过JS获取页面表格选中行信息

在ASP.NET中表格的显式方法多种多样,有html标签<table></table>,有asp服务器控件GridView,还有Repeater控件等都可以帮我们在页面显式表格信息.GridView控件比较强大,它有自带的属性和方法可以用来对显式的表格数据进行各种操作.但是如果使用传统html标签<table></table>或者是Repeater控件来显式数据,又该如何取到选中行的数据呢.这里我们来介绍一下利用JS来取页面表格数据的方法. 如图所示,我们需

javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

jsp页面表格布局Html代码 <body > <center> <input type="text" value="111" id="mytext"> <table border="1" width="60%" id="mytable"> <tr> <td id="td1">第一行第一列<

ExtJS表格——行号、复选框、选择模型

本篇的内容是为表格添加行号,和复选框,最后谈一下Ext的选择模型.内容比较简单,就直接上代码了.一. 设置行号   行号的设置主要问题在于删除某一行后需要重新计算行号  Ext.onReady(function() {         var cm = new Ext.grid.ColumnModel([                     new Ext.grid.RowNumberer(),           --在这里设置行号                    { header:

表格控件的多选模式总结

公司在推开发平台,使用flex做的,我的一个项目也在用.综合来讲,这个平台不是很好用,一帮子小孩做的系统,缺乏项目经验,也缺乏基本的UI基础,但是公司要推,没办法.今天测试系统,发现了一个表格选中模式的问题(表格的选中模式已经是在平常不过的ui操作模式了,随便一个商品化的表格控件都支持).一方面平台没有做出很好的支持,再有开发人员也缺乏这方面扥经验(还都是具有好几年工作经验的开发人员),做出来的程序是在难用.忍不住就写了这篇文章. ================================

bootstrap-table 使用遇到的问题总结:1.右上角button样式自定义;2.右上角引用图标自定义;3.表头/表格内容显示不对齐;4.自定义设置表头及表格边框样式

问题一:右上角button样式自定义 方法: //修改bootstrap-table右上角按钮样式 $(".table-box .columns-right button").removeClass("btn-secondary").css({"backgroundColor": "#fafafa","border": "1px solid #c2c2c2","color&qu

serialize()序列表表格内容为字符串。

序列表表格内容为字符串,用于 Ajax 请求 HTML 代码: <p id="results"><b>Results: </b> </p> <form>   <select name="single">     <option>Single</option>     <option>Single2</option>   </select>