javax.swing.JComboBoxをorg.jdesktop.swingx.JXTableセルに配置するのに問題があります。私はこの問題についての前の質問を閲覧したが、役に立たなかった。JTableセル内のJComboBox
私が試した:
colModel.getColumnExt(HDTableAdapter.STATUS).setCellEditor(editorCB);
colModel.getColumnExt(HDTableAdapter.STATUS).setCellRenderer(rendererCB);
class comboBoxRenderer extends JComboBox implements TableCellRenderer {
public comboBoxRenderer(String[] items) {
super(items);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (isSelected) {
setForeground(table.getSelectionForeground());
super.setBackground(table.getSelectionBackground());
} else {
setForeground(table.getForeground());
setBackground(table.getBackground());
}
setSelectedItem(value);
return this;
}
}
class comboBoxEditor extends DefaultCellEditor {
public comboBoxEditor(String[] items) {
super(new JComboBox(items));
}
}
をしかし、この場合には、私は、細胞内の編集可能なコンボボックスではないを取得します。あなたのComboxEditorが間違って見える
、これを試してみてくださいJavaの命名規則を学び、あなたが驚いている理由を彼らに – kleopatra
を貼り付けてください? JComboBoxはデフォルトでは編集不可_ – kleopatra
1つのコメントは他を追いかけています JXTableビットに気付きました:_dont_レンダラーを実装しました(SwingXでも!)、サポートされていないコンポーネントタイプのComponentProviderをサブクラス化します(テストセクションのxxVisualCheck 、xx ==レンダラーか==レンダラーか== JXTable(たぶん正確には思い出しません) –
kleopatra