【问题标题】:JTable Cell Font? (Java)JTable 单元格字体? (爪哇)
【发布时间】:2011-10-02 06:40:13
【问题描述】:

我正在创建的程序应该像Microsoft Excel 一样工作,JAVA 除外。它应该还支持单元格格式(这是我的问题)。我有用于检测单击了哪个单元格以及使用什么字体正常工作的代码 - 我只是无法弄清楚如何将 Font 应用于单元格! Google 给了我CellRenderers,但似乎只有当条件为true 时,单元格渲染器才会格式化单元格。我希望它在调用时使用指定的Font 格式化!

谁能请帮助我,我真的很困惑!!!

我已经看过Java Tutorials。

如果之前有人问过这个问题,我深表歉意!

【问题讨论】:

标签: java swing fonts jtable


【解决方案1】:

这将更改表格中所有单元格的字体 - 即使添加了新列或行:

JTable table;
......
Object dce = table.getDefaultEditor(Object.class);
if(dce instanceof DefaultCellEditor) {
    ((DefaultCellEditor) dce).getComponent().setFont([your font]);
}

【讨论】:

    【解决方案2】:

    这就是您要查找的内容,此代码 sn-p 更改了 jTable 中所有列的字体。 我确信稍微修改一下就可以涵盖您的场景。

    for (int i = 0; i < jTable1.getColumnCount(); i ++) {
        TableColumn col = jTable1.getColumnModel().getColumn(i);
        col.setCellEditor(new MyTableCellEditor());
    }
    
    
    public class MyTableCellEditor extends AbstractCellEditor implements TableCellEditor {
        JComponent component = new JTextField();
        public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int rowIndex, int vColIndex) {
            ((JTextField)component).setText((String)value);
            ((JTextField)component).setFont(new java.awt.Font("Arial Unicode MS", 0, 12));
            return component;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多