簡體   English   中英

自定義渲染器中單元格內容的JTable對齊

[英]JTable alignment of cell content in custom Renderer

我想將JTable第一列的內容與中心對齊,但無法正常工作。 如果我沒有設置自定義渲染器就可以使用它,但是它將覆蓋我要為行顏色進行的更改。

Eclipse告訴我,對於Component類型,未定義setHorizo​​ntalAlignment方法,但不會給我帶來任何麻煩。 有什么想法我想念的嗎?

final TableCellRenderer renderer = table_1.getDefaultRenderer(Object.class);
    table_1.setDefaultRenderer(Object.class, new TableCellRenderer()    {
      public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 
      {
        Component c = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        c.setBackground(row % 4 == 2 || row % 4 == 3 ? new Color(230,230,230) : Color.WHITE);
        c.setHorizontalAlignment(JLabel.CENTER);
        return c;
      }
    }); 

聲明並將變量c轉換為JLabel:

JLabel c = (JLabel) renderer.getTableCellRendererComponent(...);

DefaultTableCellRenderer的API將向您顯示該類實際上是從JLabel派生的,JLabel具有您感興趣的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM