用List传递学生信息
集合在程序开发中经常用到,例如,在业务方法中将学生信息、商品信息等存储到集合中,然后作为方法的返回值返回给调用者,以此传递大量的有序数据。
本实例将使用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传递学生信息的更多相关文章
- Ligerui Grid组件--学生信息列表
一.目录 1.多层架构+MVC+EF+AUTOFAC+AUTOMAPPER: 2.MVC中验证码的实现(经常用,记录备用) 3.Ligerui首页的快速搭建 4.Ligerui Grid组件--学生信 ...
- JAVA课程设计-学生信息管理系统(个人博客)
1. 团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模块或任务说明 负责person类的编写,建立person对象, 完成M ...
- node.js(小案例)_实现学生信息增删改
一.前言 本节内容主要对小案例做一个总结: 1.如何开始搭建小项目 2.路由设计 3.模块应用 4.项目源码以及实现过程github地址: 项目演示如下: 二.主要内容 1.项目的关键性js源码: 项 ...
- java操作数据库,以页面显示学生信息为例
该部分内容实现的功能主要是:从数据库中查询数据并展示到页面,在页面中新增数据信息,在页面中修改数据信息,在页面中删除数据信息. =================stuList.jsp======== ...
- 数据结构(c语言)之学生信息管理系统
程序思维导图 代码表示(代码参考:长春大学-牛言涛老师) 如有错误请指出欢迎交流 #include<stdio.h> #include<malloc.h>//动态存储分配函数头 ...
- 基于数据库MySQL的简易学生信息管理系统
通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...
- 学生信息管理系统(自己辛辛苦苦做了几天,虽然简陋,也凑合吧,bug不算太严重,主要是格式不太很完美)
/*学生成绩管理系统V3.0(链表版)某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).使用链表编程成实现如下菜单驱动的学生成绩管理系统.1.从文件读入每 ...
- C#复习(学生信息输入)
在控制台程序中使用结构体.集合,完成下列要求项目要求:一.连续输入5个学生的信息,每个学生都有以下4个内容:1.序号 - 根据输入的顺序自动生成,不需要手动填写,如输入第一个学生的序号是1,第二个是2 ...
- C++ 简单的学生信息管理系统
// // main.cpp // 2013-7-17作业1 // // Created by 丁小未 on 13-7-17. // Copyright (c) 2013年 dingxiaowei. ...
随机推荐
- Go的变量作用域
Go 语言变量作用域 作用域为已声明标识符所表示的常量.类型.变量.函数或包在源代码中的作用范围. Go 语言中变量可以在三个地方声明: 函数内部定义的变量称为局部变量 函数外部定义的变量称为全局变量 ...
- noip普及组2005 采药
采药 描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...
- 打造基于Clang LibTooling的iOS自动打点系统CLAS(二)
1. 配置LLVM和Clang 在这篇文章里,我们会基于上一篇所述的方案进行展开,详细讲解如何从0开始创建一个基于Clang LibTooling的编译器前端工具.在开始之前,我们假设你已经基本了解何 ...
- oracle多表连接查询竟然还有这种操作
仔细观察上面几个图,比较下 oracle数据库中的+操作符竟然可以替换left join 和right join sql server暂时没用到过
- 自写JS分页工具【基于JQ】
好久没有来逛园子,也好久没有更新博客,就像沉睡已久的人忽然被叫醒,忽然就被园友的回复惊醒了.园友提出了关于我之前一篇文章的疑问--可那已经是半年以前的博客了,加上我一直觉得分享给大家的应该是我最新的思 ...
- (译)package.json详解
原文链接 概述 本文囊括了所有package.json文件中你需要知道的细节.注意package.json必须是纯JSON的,而不仅仅是一个JavaScript对象字面量.该文件描述的很多行为都受np ...
- Mongodb 监测
原文地址:伍仪洲的博客 介绍 为什么要进行监控状态,因为在实际的情况中可能会发生一下无法预计的情况,比如阻塞的问题,阻塞的原因会有很多种情况造成,如果当我们查询文档的时候发生了阻塞,那么就会影响到后面 ...
- 【Maven】添加ueditor到maven本地仓库
问题出现:ueditor不存在远程和本地仓库,项目的pom.xml中无法添加依赖,导致无法使用mvn打包发布 解决办法:将ueditor-1.1.2.jar添加到本地仓库 办法1.使用命令行,这个没就 ...
- linux学习网站
centos中文站 cnblogs.com/bethal/p/6007962.html 最火软件 veryhuo.com 学网资讯 xue163.com/Network/ linux大神 linux ...
- 中篇: php 微信支付 基于Thinkphp3.2开发
⑤ 微信支付接口的使用 a.微信公众平台文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 b.微信支付开 ...