相关疑难解决方法(0)

尝试使用适当的行标题创建JTable

我试图创建一个JTable,其行标题看起来就像一个列标题,我花了太多时间在它上面:/我的情况类似于这个问题:JTable行标题实现 ,也许这一个: 自定义jtable具有表格单元格标题颜色的cellrenderer

他们似乎还没有把我带到那里.我搜索了很多例子,但都缺乏.甚至没有任何带有行标题的表的例子来自Oracle/Sun. 看起来这种表不应该那么罕见.

这个只是格式化第一列,但它看起来不像列标题:http: //java-swing-tips.blogspot.com/2011/01/jtable-rowheader.html

这个似乎使用JList作为行标题,并且它有对齐问题(每行关闭+1像素),并且当我设置外观时看起来不那么好. http://www.java2s.com/Code/Java/Swing-Components/TableRowHeaderExample.htm

这个似乎是我需要使用的想法(行标题是一个单独的JTable,但随后作为行标题加载到JScrollPane),但我需要调整它到我的代码,然后确保行标题得到正确标题的外观和感觉.
http://www.chka.de/swing/table/row-headers/JTable.html

这就是我所做的减去最后一点.我尝试将表头的渲染器也作为行标题的渲染器.行标题/第一列现在是灰色而不是白色,就像它只是另一个数据列时一样,但仍然看起来不像列标题.这是正确的吗?或者我应该坚持将它作为主表中的常规列保留并使用它做其他事情?

所以这是我更新表的代码.此方法仅为列标题采用String数组,为行标题采用String数组,为主数据采用2D String数组.我有一个JTable dispTableRowHeader的行头和一个JTable dispTable主数据表.

    private void updateDispTable(String[][] graphicalTable, String[] graphicalTableColumnHeader, String[] graphicalTableRowHeader) {

    //set model for the main data table, put in data. Also prevent editing cells
    dispTable.setModel(new javax.swing.table.DefaultTableModel(
        graphicalTable,
        graphicalTableColumnHeader
    ){
        @Override
        public boolean isCellEditable(int rowIndex, int mColIndex) {
            return false;
        }
    });

    //some mods for main data table
    dispTable.getTableHeader().setReorderingAllowed(false);//Was also able to do this within NetBeans GUI Builder by doing Table …
Run Code Online (Sandbox Code Playgroud)

java swing header jtable look-and-feel

12
推荐指数
2
解决办法
1万
查看次数

行中的JTable重复值

我有一个JTable填充自定义DataModel(粘贴在下面),当我调用该populate()方法时,它似乎用重复数据填充表 - 每一行都反复填充相同的值.然而,仔细检查(通过简单地println()'数据'字段),数据模型没有错 - 它以我期望的格式保存正确的数据.是什么赋予了?

import java.util.ArrayList;    
import javax.swing.table.AbstractTableModel;

@SuppressWarnings("serial") // we don't expect this app to ever use serialized classes.  EVER.
public class CollectionDataModel extends AbstractTableModel {
    private ArrayList<ArrayList<String>> data;

    public CollectionDataModel() {
        data = new ArrayList<ArrayList<String>>();
    }

    @Override
    public int getColumnCount() {
        if(data.isEmpty()) return 0;
        return data.get(0).size();
    }

    @Override
    public int getRowCount() {
        return data.size();
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        if(rowIndex > getRowCount()) return null;
        if(columnIndex …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

12
推荐指数
1
解决办法
1万
查看次数

Swing HTML drawString

我正在尝试为特定目的创建一些特殊组件,在该组件上我需要绘制一个HTML字符串,这是一个示例代码:

 public class MyComponent extends JComponent{
     public MyComponent(){
        super();
     }

     protected void paintComponent(Graphics g){
        //some drawing operations...
        g.drawString("<html><u>text to render</u></html>",10,10);
     }
 }
Run Code Online (Sandbox Code Playgroud)

不幸的是,drawString方法似乎没有识别HTML格式,它愚蠢地绘制字符串就像它一样.

有没有办法让这项工作?

html java swing jcomponent graphics2d

10
推荐指数
6
解决办法
8619
查看次数

标签 统计

java ×3

swing ×3

jtable ×2

graphics2d ×1

header ×1

html ×1

jcomponent ×1

look-and-feel ×1