Jtable中怎样使数字靠右对齐,文本居中对齐?

解决方案 »

  1.   

    if (value instanceof Integer)
                   {
                     setHorizontalAlignment(SwingConstants.RIGHT);
                   }
                  else
                  {
                    setHorizontalAlignment(SwingConstants.CENTER);
                  }
      

  2.   

    Renderer cellRenderer = new Renderer();
    MyTable.setDefaultRenderer(Object.class, cellRenderer);  class Renderer
          extends DefaultTableCellRenderer {
        public Component getTableCellRendererComponent(JTable table,
            Object value, boolean isSelected, boolean hasFocus, int row,
            int column) {
            if((value instanceof Integer){
              ( (JLabel) cell).setVerticalAlignment(JLabel.CENTER);
              ( (JLabel) cell).setHorizontalAlignment(JLabel.LEADING);
              ( (JLabel) cell).setVerticalTextPosition(JLabel.CENTER);
              ( (JLabel) cell).setHorizontalTextPosition(JLabel.CENTER);
            } else {
              ( (JLabel) cell).setVerticalAlignment(JLabel.CENTER);
              ( (JLabel) cell).setHorizontalAlignment(JLabel.CENTER);
              ( (JLabel) cell).setVerticalTextPosition(JLabel.CENTER);
              ( (JLabel) cell).setHorizontalTextPosition(JLabel.CENTER);
            }
        }}}