JTable內容居中顯示

要讓JTable的內容居中顯示方法如下:

JTable tabledata = new JTable();

DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();// 設置table內容居中
// tcr.setHorizontalAlignment(JLabel.CENTER);
 tcr.setHorizontalAlignment(SwingConstants.CENTER);// 這句和上句作用一樣
 tabledata.setDefaultRenderer(Object.class, tcr);

參考:

import java.awt.Component;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;

public class MyJTable extends JTable {
 private MyCellRenderer renderer;

 public MyJTable(MyCellRenderer renderer) {
   super(8, 6);
   this.renderer = renderer;
 }

 public TableCellRenderer getCellRenderer(int row, int column) {
   return renderer;
 }

 public static void main(String[] args) {
   MyJTable t = new MyJTable(new MyCellRenderer());
   JScrollPane pane1 = new JScrollPane(t);//
   JFrame frame = new JFrame("JTableDemo");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setContentPane(pane1);
   frame.pack();
   frame.setVisible(true);

 }
}

class MyCellRenderer extends DefaultTableCellRenderer {

 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
     boolean hasFocus, int row, int column) {
   super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
   setHorizontalAlignment(SwingConstants.CENTER);
   return this;
 }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章