質問

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」を含めるのに十分な大きさではありません。プラスその周りのパディング。

解決策は、テーブルセルを拡大するか、パディングを減らすことです(常にボタンがテーブルセルと同じサイズであると仮定します)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top