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

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

设计过程

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

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

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

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

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

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

     }     

完整代码

 package cn.str.opera;  

 import java.awt.BorderLayout;  

 public class ClassInfo extends JFrame {  

     private JPanel contentPane;
     private JTable table;  

     /**
      * Launch the application.
      */
     public static void main(String[] args) {  

            try {
                 UIManager
                         .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
             } catch (Throwable e) {
                 e.printStackTrace();
             }
         EventQueue.invokeLater(new Runnable() {
             public void run() {
                 try {
                     ClassInfo frame = new ClassInfo();
                     frame.setVisible(true);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
             }
         });
     }  

     /**
      * Create the frame.
      */
     public ClassInfo() {
         getContentPane().setLayout(new BorderLayout(0, 0));
         setTitle("\u7528List\u96C6\u5408\u4F20\u9012\u5B66\u751F\u4FE1\u606F");
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setBounds(100, 100, 450, 300);
         contentPane = new JPanel();
         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
         contentPane.setLayout(new BorderLayout(0, 0));
         setContentPane(contentPane);  

         JScrollPane scrollPane = new JScrollPane();
         contentPane.add(scrollPane,BorderLayout.CENTER);
         scrollPane.setViewportView(getTable());  

     }  

     private JTable getTable() {
         if(table == null){
             table = new JTable();//创建表格控件
             table.setRowHeight(23);
             String[] columns = {"姓名","性别","出生日期"};//创建列名数组
             //创建表格模型
             DefaultTableModel model = new DefaultTableModel(columns,0);
             table.setModel(model);//设置表格模型
             List<String> students = getStudents();
             for(String info:students){// 遍历学生集合对象
                 String[] args = info.split(",");// 按英文逗号,把学生信息拆分为数组
                 model.addRow(args);
             }     

         }
         return table;
     }  

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

     }     

 }  

用List传递学生信息的更多相关文章

  1. Ligerui Grid组件--学生信息列表

    一.目录 1.多层架构+MVC+EF+AUTOFAC+AUTOMAPPER: 2.MVC中验证码的实现(经常用,记录备用) 3.Ligerui首页的快速搭建 4.Ligerui Grid组件--学生信 ...

  2. JAVA课程设计-学生信息管理系统(个人博客)

    1. 团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模块或任务说明 负责person类的编写,建立person对象, 完成M ...

  3. node.js(小案例)_实现学生信息增删改

    一.前言 本节内容主要对小案例做一个总结: 1.如何开始搭建小项目 2.路由设计 3.模块应用 4.项目源码以及实现过程github地址: 项目演示如下: 二.主要内容 1.项目的关键性js源码: 项 ...

  4. java操作数据库,以页面显示学生信息为例

    该部分内容实现的功能主要是:从数据库中查询数据并展示到页面,在页面中新增数据信息,在页面中修改数据信息,在页面中删除数据信息. =================stuList.jsp======== ...

  5. 数据结构(c语言)之学生信息管理系统

    程序思维导图 代码表示(代码参考:长春大学-牛言涛老师) 如有错误请指出欢迎交流 #include<stdio.h> #include<malloc.h>//动态存储分配函数头 ...

  6. 基于数据库MySQL的简易学生信息管理系统

    通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...

  7. 学生信息管理系统(自己辛辛苦苦做了几天,虽然简陋,也凑合吧,bug不算太严重,主要是格式不太很完美)

    /*学生成绩管理系统V3.0(链表版)某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).使用链表编程成实现如下菜单驱动的学生成绩管理系统.1.从文件读入每 ...

  8. C#复习(学生信息输入)

    在控制台程序中使用结构体.集合,完成下列要求项目要求:一.连续输入5个学生的信息,每个学生都有以下4个内容:1.序号 - 根据输入的顺序自动生成,不需要手动填写,如输入第一个学生的序号是1,第二个是2 ...

  9. C++ 简单的学生信息管理系统

    // // main.cpp // 2013-7-17作业1 // // Created by 丁小未 on 13-7-17. // Copyright (c) 2013年 dingxiaowei. ...

随机推荐

  1. Struts2.5的的环境搭建及跑通流程

    Struts2.5 struts是开源框架.使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间.如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,st ...

  2. 关于《Unity3D/2D游戏开发从0到1》书籍再版说明

    关于<Unity3D/2D游戏开发从0到1>第一版本在2015年7月1日全国发行,累计得到不少国内高校教师.培训机构的好评.但是由于Unity官方对于技术不断的升级与版本的快速迭代,基于U ...

  3. ubuntu安装mysql可视化工具MySQL-workbench及简单操作

    一.使用命令行在ubuntu下安装mysql可视化工具MySQL-workbench Step1:安装MySQL-workbench 方案一:如果你已经装好mysql的相关服务,那么直接使用如下命令即 ...

  4. JTAG基础知识

    前言 本知识翻译收集来自http://www.fpga4fun.com,版权归原网站所有. 1.什么是JTAG:Joint Test Action Group:联合测试工作组 JTAG是一种IEEE标 ...

  5. sgu102 Coprimes

    102. Coprimes time limit per test: 0.25 sec. memory limit per test: 4096 KB For given integer N (1&l ...

  6. jquery的2.0.3版本源码系列(5):349-817行,extend添加的工具方法

    expando 生成唯一JQ字符串(内部)noconflict避免冲突isReady DOM是否加载完成(DOMContentLoaded)readyReady

  7. [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第1讲(实现思路与游戏界面的实现)

    整体效果展示: 一.实现思路 如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图. 游戏界面的完成 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现.在此时,英雄飞机能 ...

  8. 【DDD】领域驱动设计精要

    本文算是<领域驱动设计>这本书的读书笔记,加上自己的一些读后感.网上有很多这本书的读书笔记,但是都是别人的,不如自己总结的理解深刻.建议大家在读这本书时结合<实现领域驱动设计> ...

  9. memcached常用命令

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt104 一.Memcache面向对象的常用接口包括:Memcache::con ...

  10. Project 7:自然数的拆分

    自然数的拆分:任何一个大于1的自然数N,总可以拆分成若干个自然数之和,并且有多种拆分方法.例如自然数5,可以有如下一些拆分方法: 5=1+1+1+1+1 5=1+1+1+2 5=1+2+2 5=1+4 ...