Maison  >  Article  >  Java  >  Apprenez à utiliser List pour transférer les informations sur les étudiants

Apprenez à utiliser List pour transférer les informations sur les étudiants

巴扎黑
巴扎黑original
2017-07-20 10:22:331891parcourir

Les collections sont souvent utilisées dans le développement de programmes.Par exemple, dans les méthodes commerciales, les informations sur les étudiants, les informations sur les produits, etc. sont stockées dans des collections, puis renvoyées à l'appelant comme valeur de retour de la méthode, transmettant ainsi une grande quantité. de données commandées.

Cet exemple utilisera la collection List pour transmettre les informations sur les étudiants entre les méthodes. L'exemple d'effet est le suivant :

Processus de conception

1) Créer une nouvelle classe de formulaire ClassInfo dans le projet. Ajoutez JScrollPane au formulaire, puis placez le contrôle de table JTable dans JScrollPane.

2) Écrivez la méthode getTable(). Dans cette méthode, créez un objet table et définissez le modèle de données de la table, puis appelez la méthode getStudents() pour obtenir l'objet de collection des informations sur l'étudiant

Tout en parcourant l'objet de collection, ajoutez chaque élément à. les lignes du modèle de table et affichées dans le champ table.

 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) Écrivez la méthode getStudents(), qui transmettra l'objet de collection List à l'appelant et ajoutera plusieurs éléments à l'objet de collection, chaque valeur d'élément est une information sur l'étudiant. , y compris le nom, le sexe et la date de naissance.

 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     }

Code complet

 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 }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn