这一节学习JTable的基本操作:行选择和列宽度的调整

一、行选择分为单行(ListSelectionModel.SINGLE_SELECTION),多行连续(ListSelectionModel.SINGLE_INTERVAL_SELECTION)和多行非连续(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION)示例代码如下:

 

View Code
 1 import java.awt.BorderLayout;
 2 import java.awt.Container;
 3 
 4 import javax.swing.JFrame;
 5 import javax.swing.JScrollPane;
 6 import javax.swing.JTable;
 7 import javax.swing.ListSelectionModel;
 8 
 9 public class JTableTest extends JFrame {
10 
11     public JTableTest() {
12         Container contentPane = getContentPane();
13         
14         JTable table = new JTable(100, 10);
15         
16         //单行模式
17         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
18         //连续多行选择模式
19         table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
20         //非连续多行选择模式
21         table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
22         JScrollPane jScrollPane = new JScrollPane(table);
23         contentPane.add(jScrollPane, BorderLayout.CENTER);
24 
25     }
26     public static void main(String args[]) {
27         JFrameLaunch.launch(new JTableTest(), "Tables and Scrollpanes", 800,
28                 600);
29     }
30 }

 

二、列宽度调整分为五种,分别为:AUTO_RESIZE_ALL_COLUMNS(在所有的调整大小操作中,按比例调整所有的列)、AUTO_RESIZE_LAST_COLUMN(在所有的调整大小操作中,只对最后一列进行调整)、AUTO_RESIZE_NEXT_COLUMN(在 UI 中调整了一个列时,对其下一列进行相反方向的调整)、AUTO_RESIZE_OFF(不自动调整列的宽度;使用滚动条)、AUTO_RESIZE_SUBSEQUENT_COLUMNS(在 UI 调整中,更改后续列以保持总宽度不变;此为默认行为)示例代码如下:

View Code
 1 import java.awt.BorderLayout;
 2 import java.awt.Container;
 3 
 4 import javax.swing.JFrame;
 5 import javax.swing.JScrollPane;
 6 import javax.swing.JTable;
 7 
 8 public class JTableTest extends JFrame {
 9 
10     public JTableTest() {
11         Container contentPane = getContentPane();
12 
13         JTable table = new JTable(100, 10);
14         
15         // 在所有的调整大小操作中,按比例调整所有的列。
16         table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
17 
18         // 在所有的调整大小操作中,只对最后一列进行调整。
19         table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
20         
21         // 在 UI 中调整了一个列时,对其下一列进行相反方向的调整。
22         table.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
23 
24         // 在 UI 调整中,更改后续列以保持总宽度不变;此为默认行为。
25         table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
26 
27         // 不自动调整列的宽度;使用滚动条。
28         table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
29 
30         JScrollPane jScrollPane = new JScrollPane(table);
31         contentPane.add(jScrollPane, BorderLayout.CENTER);
32 
33     }
34 
35     public static void main(String args[]) {
36         JFrameLaunch.launch(new JTableTest(), "Tables and Scrollpanes", 800,
37                 600);
38     }
39 }

 

 

posted on 2012-10-22 15:25  codevoter  阅读(215)  评论(0编辑  收藏  举报

ASP.NET HOSTING