JTableレンダラーのボタンテキストが表示されません。どうして?
-
05-07-2019 - |
質問
JTableにカスタムセルレンダラーを設定していますが、動作しますが、代わりに" x"ボタンに表示されるのはテーブルセルです" ..." (3つのドット)。私は何を見逃しましたか?
/***************************************************************************
* Listener reagujący na dodanie nowej wartości
**************************************************************************/
private static class ButtonRenderer extends JButton implements
TableCellRenderer {
/***********************************************************************
* Konstruktor
**********************************************************************/
public ButtonRenderer() {
super("x");
}
/***********************************************************************
* @see TableCellRenderer#getTableCellRendererComponent(JTable, Object,
* boolean, boolean, int, int)
**********************************************************************/
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
return this;
}
}
解決
ボタンのサイズは、レンダリングされた「x」を含めるのに十分な大きさではありません。プラスその周りのパディング。
解決策は、テーブルセルを拡大するか、パディングを減らすことです(常にボタンがテーブルセルと同じサイズであると仮定します)。
所属していません StackOverflow