JTable中令单元格能够既居中且文本自动换行显示的话,本人暂时没有找到好方法。
但是在JTable中混合使用JTextArea和DefaultTableCellRenderer能够,让指定某一行居中或者多行显示文本。
InfoDialog.java
import java.util.*;
import java.awt.*;
import javax.swing.*;
public class InfoDialog extends JDialog {
private static final int WIDTH = 700;
private static final int HEIGHT = 750;
private ShowInfoDialog(JFrame owner,String[][]datas) {
setSize(WIDTH, HEIGHT);
setVisible(true);
JTable table = this.drawTable(datas);
add(table);
}
private JTable drawTable(String[][] datas){
String [] titles = {"名称","地址","电话","邮件"};
DefaultTableModel model = new DefaultTableModel(datas,titles){
public boolean isCellEditable(int row, int col){
return false;
}
};
JTable table = new JTable(model);
JTableHeader tableHeader = table.getTableHeader();
tableHeader.setReorderingAllowed(false);//表格列不可移动
//表头加宽加高
tableHeader.setPreferredSize(new Dimension