[英]JTable Cell Font? (Java)
我正在创建的程序应该像Microsoft Excel
一样工作,除了JAVA
。 它还应该支持单元格格式(这是我的问题)。 我有用于检测单击了哪个单元格以及使用什么字体正常工作的代码 - 我只是不知道如何将Font
应用于单元格! Google
给了我CellRenderers
,但似乎只有当条件为true
时,单元格渲染器才会格式化单元格。 我希望它在调用时使用指定的Font
格式化!
谁能帮帮我,我真的很困惑!
我已经看过Java 教程。
如果以前有人问过这个问题,我深表歉意!
这就是您要查找的内容,此代码片段会更改 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;
}
}
这将更改表格中所有单元格的字体 - 即使添加了新列或行:
JTable table;
......
Object dce = table.getDefaultEditor(Object.class);
if(dce instanceof DefaultCellEditor) {
((DefaultCellEditor) dce).getComponent().setFont([your font]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.