我有一个为所有JComponents工作而创建的自定义JTable(15行20列)。我目前正在使用它来混合JComboBoxes,JTextFields和JButtons。哦,我正在使用Java5(一项要求)。Java行为 - JTable和TableCellRenderer
我有两个问题:
1)第一个关于的TableCellRenderer类,它的一个方法:
public Component getTableCellRendererComponent(final JTable table,
final Object value,
final boolean isSelected,
final boolean hasFocus,
final int row,
final int column) {...}
它所做的就是投的Object value
参数一个JComponent,并有可能改变背景颜色。没什么大不了。我的问题是为什么这个方法经常被称为sooooo。当选择一个单元时,它被称为23次。当两个UNRELATED应用程序(我使用Win7)之间的Alt-Tabbing时,这个方法被调用超过200次(并且仅用于JButtons和JTextFields)! 这是否有必要,如果不是,我该如何阻止不必要的渲染调用?
2)第二个问题关于JTable本身。当我编辑单元格(JTextField中的光标并闪烁),然后单击另一个单元格时,该单元格仅被选中。如果我然后点击另一个单元格,但是,我开始编辑该单元格。我能想到的是,从最初的编辑组件中,我选择了JTable,然后选择其中的组件。有什么方法可以改变它吗?以一种方式(总是在第一次点击时选择jtable)或另一种(总是在第一次点击时进入单元格)。如果可能,我宁愿选择第一个选项。
Thansk给任何人谁可以授予一些见解/帮助!
只是一个问题,因为我永远不会碰到Java5,Java5和Java6之间的TableRenderer是否有重大变化,btw特别描述+1 – mKorbel
由于这将是对API的更改,因此没有任何更改。 – camickr
真的是我的白痴问题,感谢宝贵的信息 – mKorbel