我正在创建的程序应该像Microsoft Excel
一样工作,JAVA
除外。它应该也支持单元格格式化(这是我的问题)。我有用于检测单击哪个单元格以及使用哪种字体正常工作的代码 - 我只是无法弄清楚如何将Font
应用于单元格! Google
给了我CellRenderers
,但似乎只有当条件为true
时,单元格渲染器才会格式化单元格。我希望它在调用时使用指定的Font
进行格式化!
有人可以 帮助我,我 真的很困惑 !!!
我已经查看了Java Tutorials。
如果以前曾问过这个问题我很抱歉!
答案 0 :(得分:5)
这就是你要找的东西,这段代码片段改变了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;
}
}
答案 1 :(得分:0)
这将更改表格中所有单元格的字体 - 即使添加了新的列或行:
df = read.table(text="Species Weight Avg_Cornea_Diameter
GreatGrey 971 19.50
GreatGrey 1209 19.00
GreatGrey 1793 21.00
Snowy 1572 22.50
Snowy 1500 23.50
Snowy 1490 22.00", header = TRUE)