JAVA语言编程基础教案25 成绩查询窗体的实现.docx
- 文档编号:11408471
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:42
- 大小:78.19KB
JAVA语言编程基础教案25 成绩查询窗体的实现.docx
《JAVA语言编程基础教案25 成绩查询窗体的实现.docx》由会员分享,可在线阅读,更多相关《JAVA语言编程基础教案25 成绩查询窗体的实现.docx(42页珍藏版)》请在冰豆网上搜索。
JAVA语言编程基础教案25成绩查询窗体的实现
山东理工职业学院单元教学过程设计首页
课程所属院(部):
软件工程学院2019-2020学年第一学期
课程名称
Java语言编程基础
任课教师
单元标题
项目二任务5成绩查询窗体的实现
上课地点
学时
4
授课班级
授课时间
第周
第周
第周
第周
第周
第周
星期
星期
星期
星期
星期
星期
第节
第节
第节
第节
第节
第节
月日
月日
月日
月日
月日
月日
教学目标
能力目标
知识目标
1.利用各种组件、布局模式进行登录查询设计与实现
1.了解如何通过窗体来显示二维表数据的方法;
2.掌握List数据显示在JTable中的方法;
3.掌握JTextArea和JScrollPane等控件的使用;
4.掌握JTable和JDialog的使用。
教学任务
利用各种组件、布局模式进行登录查询设计与实现
教学重、难点
重点:
了解如何通过窗体来显示二维表数据的方法
难点:
1.掌握List数据显示在JTable中的方法;
2.掌握JTextArea和JScrollPane等控件的使用;
3.掌握JTable和JDialog的使用。
教学材料或用具
教材、教案、课件、课程标准、案例素材及Eclipse开发软件
课后任务
1、知识巩固
2、请利用JTable对象制作本学期班级的课程表
山东理工职业学院单元教学过程设计
步骤及时间
教学内容
教师活动
学生活动
5分钟
【组织教学】
1、检查学生出勤,作好学生考勤记录。
2、课堂提问,了解学生掌握所学知识情况。
3、强调课堂纪律,加强互动,活跃课堂气氛。
组织教学
配合教师组织教学
5分钟
【课题导入】
在成绩管理系统中经常使用的一个功能是查询成绩信息,那么我们需要一个窗体专门为我们展示查询出的学生成绩信息,从而通过查询到的结果来决定是否进行修改、删除、增加等操作。
通过查询操作,我们需要显示学生的学号、姓名、班级、成绩等信息。
任务导入
聆听互动
110
分钟
【讲授新课】
11.4.1JDialog的使用
JDialog,即对话框,可以显示用户数据或接收用户输入,作为应用程序的子窗口,它一般不包括菜单条,也不需要改变窗口大小,分为模态对话框和非模态对话框。
模态对话框要求先关闭该对话框再进行其他操作。
非模态对话框不做此要求。
JDialog的常用构造方法如下所示:
表11-1JDialog构造方法
构造方法
方法含义
publicJDialog()
构造一个没有标题的非模态对话框
publicJDialog(Stringtitle)
构造一个具有标题的非模态对话框
publicJDialog(Frameowner)
构造一个具有指定拥有者Frame的非模态对话框
publicJDialog(Dialogowner,booleanmodal)
构造一个具有指定拥有者Dialog和模态的对话框
publicJDialog(Framegowner,booleanmodal)
构造一个具有指定拥有者Frame和模态的对话框
publicJDialog(Dialogowner,Stringtitle)
构造一个具有指定拥有者Dialog和标题的对话框
publicJDialog(JFrameowner,Stringtitle)
构造一个具有指定拥有者Frame和标题的对话框
【例11.1】JDialog应用示例
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjavax.swing.JDialog;
importjavax.swing.JFrame;
publicclassExp111extendsJDialog{
publicExp111(){
this.setTitle("对话框");//设置对话框标题
this.setBounds(0,0,300,200);//设置对话框位置和大小
this.setModal(true);//设置对话框为模态对话框
this.setVisible(true);//设置对话框可见
}
publicstaticvoidmain(String[]args){
JFramejf=newJFrame("测试对话框");//设置JFrame的标题
jf.setBounds(0,0,600,400);//设置JFrame边界
jf.setVisible(true);//设置可见
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭方式
//为jf添加鼠标监听器,当双击两次时,弹出定义的Exp51类型的对话框
jf.addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEvente){
if(e.getClickCount()==2)
newExp111();
}
});
}
}
运行结果:
图11-3对话框示例效果图
【注意】Exp111的对话框设置为模态对话框,因此只有关闭该对话框,才能进行其他操作,否则一直提示警示音。
11.4.2JTextArea的使用
JTextArea即文本域,可以用于显示多行文本。
表11-2JTextArea构造方法
构造方法
方法含义
PublicJTextArea()
构造一个JTextArea对象,使用默认模式,空字符串,0行,0列
publicJTextArea(Stringtext)
构造一个JTextArea对象,使用默认模式,指定字符串text,0行,0列
publicJTextArea(introws,intcolumns)
构造一个JTextArea对象,使用默认模式,空字符串、rows行,columns列
publicJTextArea(Stringtext,introws,
intcolumns)
构造一个JTextArea对象,使用默认模式,字符串为text、rows行,columns列
11.4.3JScrollPane的使用
JScrollPane即滚动面板,当有些控件的内容多于一屏时,而控件本身又不支持自身滚动,这时可以结合JScrollPane进行滚动显示。
表11-3JScrollPane构造方法
构造方法
方法含义
publicJScorllPane()
构造一个空的滚动面板
publicJScorllPane(componentview)
构造一个滚动面板,当关联的组件对象内容大于显示区域则产生滚动轴
publicJScorllPane(componentview,
intvsbPolicy,inthsbPolicy)
构造一个新的JScollPane对象,里面含有显示组件,并设置滚动轴出现时机
publicJScorllPane(intvsbPolicy,inthsbPolicy)
构造一个新的JScollPane对象,里面没有显示组件,并设置滚动轴出现时机
表11-4JScrollPane的滚动条
取值
方法含义
HORIZONTAL_SCROLLBAR_ALWAYS(/NEVER)
显示(不显示)水平滚动轴
VERTICAL_SCROLLBAR_ALWAYS(/NEVER)
显示(不显示)垂直滚动轴
HORIZONTAL_SCROLLBAR_AS_NEEDED
当组件内容水平区域大于显示区域显示滚动轴
VERTICAL_SCROLLBAR_AS_NEEDED
当组件内容垂直区域大于显示区域显示滚动轴
【例11.2】JScrollPane应用示例
importjavax.swing.JFrame;
importjavax.swing.JScrollPane;
importjavax.swing.JTextArea;
publicclassExp112extendsJFrame{
privateJTextAreajta;
privateJScrollPanescrollpane;
publicExp112(){
this.setTitle("滚动面板示例");
jta=newJTextArea(20,50);//构造文本域组件jta
//将jta设置为scrollpane的显示组件,当窗体拖曳放大时,滚动条消失
scrollpane=newJScrollPane
(jta,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
this.add(scrollpane);//将scrollpane添加到窗体上
this.setBounds(0,0,300,200);//设置窗体位置和大小
this.setVisible(true);//设置窗体可见
}
publicstaticvoidmain(String[]args){
newExp112();
}
}
运行结果:
图11-4滚动面板示例效果图
11.4.4JTable的使用
JTable是用来显示和编辑常规二维单元表。
并且,使用JTable之前要实现抽象类AbstractTableModel,它用来形成表格的数据结构。
1.构造DefaultTableModel组件
DefaultTableModel是AbstractTableModel的实现类。
2.构造JTable组件
格式:
JTable名称=newJTable();
JTable名称=newJTable(DefaultTableModel对象);
【例11.3】JTable应用示例
importjavax.swing.JFrame;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.JTextArea;
importjavax.swing.table.DefaultTableModel;
publicclassExp113extendsJFrame{
privateJTabletable=newJTable();//创建JTable对象table
privateDefaultTableModelmodel;//声明表格模型model
privateJScrollPanescrollpane;//声明滚动面板scrollpane
publicExp113(){
this.setTitle("表格示例");//设置标题窗体标题
//创建表头
String[]columnNames={"姓名","出生年月","性别","入学年份","是否是党员"};
//创建显示数据
Object[][]data={{"刘磊","1990-3-5","男",2011,newBoolean(false)},
{"王英","1992-4-5","女",2011,newBoolean(true)},
{"胡明月","1992-4-5","男",2011,newBoolean(false)},};
//利用表头和表格数据构造表格模型
model=newDefaultTableModel(data,columnNames);
table=newJTable();//构造表格对象table
table.setModel(model);//为表格设置表格模型
//将table设置为scrollpane的显示组件
scrollpane=newJScrollPane(table);
this.add(scrollpane);//将scrollpane添加到窗体上
this.setBounds(0,0,500,400);//设置窗体位置和大小
this.setVisible(true);//设置窗体可见
}
publicstaticvoidmain(String[]args){
newExp113();
}
}
运行结果:
图11-5JTable应用示例效果图
11.4.5JTree的使用
JTree类可以构造树状图展现一个层次关系分明的一组数据,形如Windows操作系统的资源管理器。
JTree的主要功能是把数据按照树状进行显示,并没有包含实际的数据,它只是提供了数据的一个视图。
JTree的构造方法和常用方法:
1.构造方法
JTree():
用于返回带有示例模型的JTree;
JTree(TreeNoderoot):
返回JTree,指定TreeNode作为其根。
2.常用方法
voidadd(root):
将节点root添加到父节点上;
voidsetVisibleRowCount(intnewCount):
设置要显示的行数。
【例11.4】JTree应用示例
importjavax.swing.*;
importjavax.swing.tree.*;
publicclassExp114extendsJFrame{
JTreetree;
DefaultMutableTreeNodetrMajor;
DefaultMutableTreeNodetrpc,trjd,trEco;
DefaultMutableTreeNodetrpc1,trpc2,trpc3,
trpc4,trjd1,trjd2,trjd3,trEco1,trEco2,trEco3;
publicExp114(){
//根结点
trMajor=newDefaultMutableTreeNode("学院学部");
//二级结点
trpc=newDefaultMutableTreeNode("软件工程学院");
trjd=newDefaultMutableTreeNode("机电工程学院");
trEco=newDefaultMutableTreeNode("光电工程学院");
//三级结点
trpc1=newDefaultMutableTreeNode("计算机应用");
trpc2=newDefaultMutableTreeNode("软件技术");
trpc3=newDefaultMutableTreeNode("网络技术");
trpc4=newDefaultMutableTreeNode("信息管理");
trjd1=newDefaultMutableTreeNode("机电一体化");
trjd2=newDefaultMutableTreeNode("模具设计");
trjd3=newDefaultMutableTreeNode("汽车营销");
trEco1=newDefaultMutableTreeNode("影视多媒体");
trEco2=newDefaultMutableTreeNode("电子信息");
trEco3=newDefaultMutableTreeNode("通信技术");
//添加三级结点
trpc.add(trpc1);
trpc.add(trpc2);
trpc.add(trpc3);
trpc.add(trpc4);
trjd.add(trjd1);
trjd.add(trjd2);
trjd.add(trjd3);
trEco.add(trEco1);
trEco.add(trEco2);
trEco.add(trEco3);
//添加二级结点
trMajor.add(trpc);
trMajor.add(trjd);
trMajor.add(trEco);
tree=newJTree(trMajor);//以trMajor为参数创建根目录
tree.collapseRow
(1);//总是显示根目录在前
tree.setToggleClickCount
(1);//设置鼠标单击数
this.getContentPane().add(tree);
setSize(300,300);
setVisible(true);
setTitle("院部管理");
}
publicstaticvoidmain(Stringargs[]){
newExp114();
}
}
运行效果:
图11-6JTree应用示例效果图
【知识拓展】
1.表格内容居中显示
表格内容默认居左显示,要想使得表格内容居中显示,需要使用到单元格渲染器。
实现关键代码如下:
DefaultTableCellRendererr=newDefaultTableCellRenderer();//构造渲染器
r.setHorizontalAlignment(JLabel.CENTER);//渲染器设置对齐方式为居中
table.setDefaultRenderer(Object.class,r);//为表格设置渲染器
【例11.5】表格内容居中应用示例
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.JTextArea;
importjavax.swing.table.DefaultTableCellRenderer;
importjavax.swing.table.DefaultTableModel;
publicclassExp115extendsJFrame{
privateJTabletable=newJTable();//创建JTable对象table
privateDefaultTableModelmodel;//声明表格模型model
privateJScrollPanescrollpane;//声明滚动面板scrollpane
publicExp115(){
this.setTitle("渲染器居中示例");//设置标题窗体标题
//创建表头
String[]columnNames={"姓名","出生年月"};
//创建显示数据
Object[][]data={{"刘磊","1990-3-5"},
{"王英","1992-4-5"}};
//利用表头和表格数据构造表格模型
model=newDefaultTableModel(data,columnNames);
table=newJTable();//构造表格对象table
table.setModel(model);//为表格设置表格模型
scrollpane=newJScrollPane(table);//将table设置为scrollpane的显示组件
DefaultTableCellRendererr=newDefaultTableCellRenderer();//构造渲染器
r.setHorizontalAlignment(JLabel.CENTER);//渲染器设置对齐方式为居中
table.setDefaultRenderer(Object.class,r);//为表格设置渲染器
this.add(scrollpane);//将scrollpane添加到窗体上
this.setBounds(0,0,500,300);//设置窗体位置和大小
this.setVisible(true);//设置窗体可见
}
publicstaticvoidmain(String[]args){
newExp115();
}
}
图11-8渲染器居中示例效果图
课件演示
解析本节课的流程和学习重点和难点
案例操作讲解
聆听
简单记录重要知识点、回答提问,观看并记忆
记录并记忆
回答教师提出的疑问
记忆例子的代码含义
90分钟
【技能训练】
一、任务展示
任务概览:
publicclassSelStuScoreextendsJDialog{
privateStuGradeDaosgdao=newStuGradeDaoImpl();
privateJTabletable;//声明表格对象
privateDefaultTableModelmodel;//声明表格模型对象
privateJScrollPanescrollpane;//声明滚动面板对象
publicSelStuScore(Stringtitle){}
publicvoidloadData(){}
}
图11-1查询窗体效果
二、步骤解析
步骤一:
创建成绩查询窗体;
代码如下:
packagecom.sdlg.view;
importjava.awt.Font;
importjava.awt.Image;
importjavax.swing.ImageIcon;
importjavax.swing.JDialog;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.table.DefaultTableModel;
publicclassSelStuScoreextendsJDialog{
privateJTabletable;//声明表格对象
privateDefaultTableModelmodel;//声明表格模型对象
privateJScrollPanescrollpane;//声明滚动面板对象
publicSelStuScore(Stringtitl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA语言编程基础教案25 成绩查询窗体的实现 JAVA 语言 编程 基础 教案 25 成绩 查询 窗体 实现