怎样让JTable中的数据居中对齐?

yujialin 2008-02-08 06:08:24
JTable默认的是左对齐,怎样让它居中对齐?
...全文
998 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujialin 2008-02-16
  • 打赏
  • 举报
回复
晕,怎么给分啊,郁闷!
tangxiaoqin 2008-02-11
  • 打赏
  • 举报
回复
经验证 OK
tangxiaoqin 2008-02-10
  • 打赏
  • 举报
回复
mark
老紫竹 2008-02-10
  • 打赏
  • 举报
回复
我只提供一个可运行的样例,剩下的你自己分析吧!
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;
}
}
lzmailcn 2008-02-10
  • 打赏
  • 举报
回复
老紫竹的代码你就信了吧。DefaultTableCellRenderer其实就是一个JLabel,所以用setHorizontalAlignment(SwingConstants.CENTER)设为水平居中;

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧