如何使defaulttablemodel表标题加粗 [英] How to make the defaulttablemodel table header bold

查看:125
本文介绍了如何使defaulttablemodel表标题加粗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用defaulttablemodel BOLD使jtable的标头. 这是我的代码

I want to make the header of a jtable with defaulttablemodel BOLD. Here's my code

class TablePanel extends JPanel {

    private String[] COLUMNS = {"FAMILY MEMBERS", "STAR (NAKSHATRA)"};
       private DefaultTableModel model = new DefaultTableModel(COLUMNS, 0){

        public boolean isCellEditable(int row, int column) {
                return false;
           }

       };
       DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer(){

        public void setHorizontalAlignment(int alignment) {
               alignment = (int) CENTER_ALIGNMENT;
           };

       };
       public JTable table = new JTable(model){
         public void setDefaultRenderer(java.lang.Class<?> columnClass, TableCellRenderer renderer) {
             columnClass= String.class;
             renderer=centerRenderer;
         };  
         public void setBackground(Color bg) {
             bg = Color.yellow;
         };

       };


我想将列标题设置为粗体.对此的任何提示都值得赞赏


I want to make the column headers BOLD. any hint on this is appreciated

推荐答案

奇怪的是,表列标题使用与表相同的概念来呈现器...

Strangely enough, a table column header uses the same concept to renderer as the table does...

DefaultTableCellRenderer header = new DefaultTableCellRenderer();
header.setFont(header.getFont().deriveFont(Font.BOLD));
JTable table = new JTable();
TableColumnModel model = table.getColumnModel();
model.getColumn(0).setHeaderRenderer(header);

例如.但是我不认为这会变成您想要的方式...

For example. But I don't think it will turn out the way you want it to...

相反,您可以尝试类似...

Instead, you could try something like...

DefaultTableModel model = new DefaultTableModel(new Object[]{"<html><b>Happy</b></html>", "Sad"}, 0);
JTable table = new JTable(model);

这篇关于如何使defaulttablemodel表标题加粗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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