教你如何用List进行学生信息传递

集合在程序开发中经常用到,例如,在业务方法中将学生信息、商品信息等存储到集合中,然后作为方法的返回值返回给调用者,以此传递大量的有序数据。

本实例将使用List集合在方法之间传递学生的信息。实例效果如下:

设计过程

1)在项目中新建窗体类ClassInfo。 在窗体中添加JScrollPane,再在JScrollPane中放置表格控件JTable。

2)编写getTable()方法。在该方法中创建表格对象并设置表格的数据模型,然后调用getStudents()方法获取学生信息的集合对象,

在遍历该集合对象的同时,把每个元素添加到表格模型的行,并显示到表格控件中。

 1 private JTable getTable() {   2       if (table == null) {   3           table = new JTable();// 创建表格控件   4           table.setRowHeight(23);// 设置行高度   5           String[] columns = { "姓名", "性别", "出生日期" };// 创建列名数组   6           // 创建表格模型   7           DefaultTableModel model = new DefaultTableModel(columns, 0);   8           table.setModel(model);// 设置表格模型   9           List<String> students = getStudents();// 调用方法传递list集合对象  10           for (String info : students) {// 遍历学生集合对象  11               String[] args = info.split(",");// 把学生信息拆分为数组  12               model.addRow(args);// 把学生信息添加到表格的行  13           }  14       }  15       return table;  16   }

3)编写getStudents()方法,该方法将向调用者传递List集合对象,并为集合对象添加多个元素,每个元素值都是一个学生信息,其中包括姓名、性别、出生日期。

 1 private List<String> getStudents(){   2         //创建List集合对象   3         List<String> list = new ArrayList<String>();   4         list.add("钱东强,男,1990-1-4");//字符串之间用英文的逗号隔开   5         list.add("孙西,女,1990-1-4");   6         list.add("周五燕,男,1990-1-4");   7         list.add("王东,女,1990-1-4");   8         list.add("冯晓,男,1990-1-4");   9         list.add("陈玉山,女,1990-1-4");  10         list.add("蒋钦大,男,1990-1-4");  11         return list;  12           13     }

完整代码

 1 package cn.str.opera;   2    3 import java.awt.BorderLayout;   4    5 public class ClassInfo extends JFrame {   6    7     private JPanel contentPane;   8     private JTable table;   9   10     /** 11      * Launch the application. 12      */  13     public static void main(String[] args) {  14           15            try {  16                 UIManager  17                         .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");  18             } catch (Throwable e) {  19                 e.printStackTrace();  20             }  21         EventQueue.invokeLater(new Runnable() {  22             public void run() {  23                 try {  24                     ClassInfo frame = new ClassInfo();  25                     frame.setVisible(true);  26                 } catch (Exception e) {  27                     e.printStackTrace();  28                 }  29             }  30         });  31     }  32   33     /** 34      * Create the frame. 35      */  36     public ClassInfo() {  37         getContentPane().setLayout(new BorderLayout(0, 0));  38         setTitle("\u7528List\u96C6\u5408\u4F20\u9012\u5B66\u751F\u4FE1\u606F");  39         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  40         setBounds(100, 100, 450, 300);  41         contentPane = new JPanel();  42         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  43         contentPane.setLayout(new BorderLayout(0, 0));  44         setContentPane(contentPane);  45           46           47         JScrollPane scrollPane = new JScrollPane();  48         contentPane.add(scrollPane,BorderLayout.CENTER);  49         scrollPane.setViewportView(getTable());  50           51     }  52   53     private JTable getTable() {  54         if(table == null){  55             table = new JTable();//创建表格控件  56             table.setRowHeight(23);  57             String[] columns = {"姓名","性别","出生日期"};//创建列名数组  58             //创建表格模型  59             DefaultTableModel model = new DefaultTableModel(columns,0);  60             table.setModel(model);//设置表格模型  61             List<String> students = getStudents();  62             for(String info:students){// 遍历学生集合对象  63                 String[] args = info.split(",");// 按英文逗号,把学生信息拆分为数组  64                 model.addRow(args);  65             }     66               67         }         68         return table;         69     }  70       71     private List<String> getStudents(){  72         //创建List集合对象  73         List<String> list = new ArrayList<String>();  74         list.add("钱东强,男,1990-1-4");//字符串之间用英文的逗号隔开  75         list.add("孙西,女,1990-1-4");  76         list.add("周五燕,男,1990-1-4");  77         list.add("王东,女,1990-1-4");  78         list.add("冯晓,男,1990-1-4");  79         list.add("陈玉山,女,1990-1-4");  80         list.add("蒋钦大,男,1990-1-4");  81         return list;  82           83     }     84   85 }

以上就是教你如何用List进行学生信息传递的详细内容,更多请关注其它相关文章!

人生难免遇风雨,天空晴朗有阴云,别因雨水湿透衣衫而难过,

教你如何用List进行学生信息传递

相关文章:

你感兴趣的文章:

标签云: