Java-表-更改表格式 [英] Java - table - change table format

查看:83
本文介绍了Java-表-更改表格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何更改Java中的表格格式?

how can I change table format in java?

现在,我有左边的桌子,但是我希望桌子看起来像右边的桌子.

Now, I have left table, but I want my table looks like right table.

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

public class Farby extends JTable {
    public Farby(String[][] data, String[] fields) {
        super(data, fields);
    }

    @Override
    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
        Component c = super.prepareRenderer(renderer, row, column);
        c.setBackground(row % 2 == 0 ? getBackground() : Color.getHSBColor(250, 250, 128));
        return c;
    }

    public static void main(String[] args) {
        String[] fields = {"So long String", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
        String[][] a2 = new String[12][12];
        for (int i = 0; i < a2.length; i++) {
            for (int j = 0; j < a2[0].length; j++) {
                a2[i][j] = i + j + "";
            }
        }
        JFrame frame = new JFrame("Help");
        Farby table = new Farby(a2, fields);
        JScrollPane pane = new JScrollPane(table);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(pane, BorderLayout.CENTER);
    //    frame.add(pane);

        frame.setSize(800, 400);
    //    frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

推荐答案

您需要与

 table.getColumnModel().getColumn(1).setPreferredWidth(15);

这取决于您是否希望用户能够更改宽度.您可以循环调用以上内容以设置除第一个以外的所有内容.

it depends on if you want users to be able to change the width or not. you can call the above in a loop to set all but the first one.

这篇关于Java-表-更改表格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆