1、技术关键: JTable控件用来显示和编辑常规的二维单元表。JTable有很多用来自定义其呈现和编辑的工具,同时提供了这些功能的默认设立。从而可以轻松地设立简朴表。 public void setRowHeight(int rowHeight) 行高 对于表头来讲这个方法不行。需要用到getTableHeader()方法 package com.swing02; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Font;
2、import java.awt.GridLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.SwingConstants; import javax.swi
3、ng.border.EmptyBorder; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.UIManager; public class ResizeTableTest extends JFrame { private static final long serialVersionUID = 3602612L; //面板容器 private JPanel contentPane; //表格
4、 private JTable table1; //表格 private JTable table2; public static void main(String[] args) { try { //皮肤 UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); } catch (Throwable e) { e.printStackTrace();
5、 } EventQueue.invokeLater(new Runnable() { public void run() { try { ResizeTableTest frame = new ResizeTableTest(); frame.setVisible(true); } catch (Exception e) { e.printS
6、tackTrace(); } } }); } public ResizeTableTest() { addWindowListener(new WindowAdapter() { @Override public void windowActivated(WindowEvent e) { do_this_windowActivated(e); }
7、 }); //标题 setTitle("设立表格的宽度与高度"); //关闭 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //大小及位置 setBounds(100, 100, 450, 300); //面板容器 contentPane = new JPanel(); //面板容器边框 contentPane.setBorder(new EmptyBorder
8、5, 5, 5, 5)); //添加面板容器边框 setContentPane(contentPane); //面板容器布局格式 contentPane.setLayout(new GridLayout(1, 2, 5, 5)); //面板 JPanel panel1 = new JPanel(); //添加面板 contentPane.add(panel1); //面板布局格式 panel1.setLayout(
9、new BorderLayout(0, 0)); //标签 JLabel label1 = new JLabel("默认表格"); //标签内容水平居中 label1.setHorizontalAlignment(SwingConstants.CENTER); //标签字体 label1.setFont(new Font("微软雅黑", Font.PLAIN, 16)); //面板添加标签 panel1.add(label1, BorderLayout
10、NORTH); //滚动条 JScrollPane scrollPane1 = new JScrollPane(); //滚动条 panel1.add(scrollPane1, BorderLayout.CENTER); //表格 table1 = new JTable(); //滚动条添加表格 scrollPane1.setViewportView(table1); //面板2 JPanel panel2 = n
11、ew JPanel(); //容器添加面板 contentPane.add(panel2); //面板2布局格式 panel2.setLayout(new BorderLayout(0, 0)); //标签 JLabel label2 = new JLabel("自定义表格"); //标签对齐方式 label2.setHorizontalAlignment(SwingConstants.CENTER); //标签字体
12、 label2.setFont(new Font("微软雅黑", Font.PLAIN, 16)); //面板添加标签 panel2.add(label2, BorderLayout.NORTH); //滚动条 JScrollPane scrollPane2 = new JScrollPane(); //添加滚动条 panel2.add(scrollPane2, BorderLayout.CENTER); //表格2 table2 = new JTab
13、le(); //表格字体 table2.setFont(new Font("微软雅黑", Font.PLAIN, 14)); //表格行高 table2.setRowHeight(35); //构造 JTableHeader,使用 cm 作为列模型对其进行初始化。 // table2.getTableHeader() 返回此 JTable 所使用的 tableHeader JTableHeader header = table2.getTableHeader();
14、 //设立字体 header.setFont(new Font("微软雅黑", Font.PLAIN, 16)); //设立表头的高度 header.setPreferredSize(new Dimension(header.getWidth(), 40)); //显示表 scrollPane2.setViewportView(table2); } protected void do_this_windowActivated(WindowEvent e) {
15、 //表格模型 DefaultTableModel model = new DefaultTableModel(); //将表格模型中的数据清空 model.setRowCount(0); //设立表头 model.setColumnIdentifiers(new Object[] { "排名", "语言" }); //增长行 model.addRow(new Object[] { "1", "Java" }); model.addRow(new Object[] { "2", "C" }); model.addRow(new Object[] { "3", "C#" }); //添加表内容 table1.setModel(model); //添加表内容 table2.setModel(model); } }






