SWT学生成绩管理系统.docx
- 文档编号:4349525
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:15
- 大小:110.86KB
SWT学生成绩管理系统.docx
《SWT学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《SWT学生成绩管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
SWT学生成绩管理系统
1.其实用SWT做东西,基本的组件什么的都挺容易,难的是两个或多个面板的调用(我想这就是面向对象思想吧)。
当调用另一个Display时,一定要通过参数将主程序中的display传递到另一个程序中,然后在另一个程序用构造函数接受传递过来的display。
2.在用按钮调用另一个面板时,一定不要将面板设置为static类型的,否则第二次点击这个按钮时将会出错。
3.不管是主程序还是其它程序一定要有shell.open(),即将面板打开
4.在非主程序中还要有shell.close()即将面板关闭
下面看这个程序的要求:
要求:
1.实现增、删、改、查功能
2.使用SWT进行界面管理
下面大致的看一下这个程序的运行效果。
1、初次运行界面:
2、选择添加按钮:
输入信息,如果信息输入格式不正确:
输入正确的信息,就会添加到表格中。
3、选择删除按钮前,必须选中一条或多条信息,否则会出现:
选择将要删除的学生信息,点击删除按钮就会将改学生的信息在表格中删除。
4、选择修改按钮前,也必须选中一条信息,否则会出现:
选中信息后,点击修改按钮,就会出现修改学生信息窗口:
将信息修改后,点击确定按钮就会将原先的信息覆盖并显示在表格中
5、选择查询按钮,就会出现:
可以通过学号、姓名、成绩、班级或者他们中的任意一项或几项进行查询,如果一项都不写将出现:
如果没有您要查询的信息,将出现:
如果有您的信息,那么这个信息在表格中将以绿色显示:
这个程序还有许多要修改的地方。
//学生类
packagecom.dr.swt.XueChengXiTong;
publicclassStudent{
privateintid;
privateStringname;
privatefloatscore;
privateStringcls;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicfloatgetScore(){
returnscore;
}
publicvoidsetScore(floatscore){
this.score=score;
}
publicStringgetCls(){
returncls;
}
publicvoidsetCls(Stringcls){
this.cls=cls;
}
}
//主程序
packagecom.dr.swt.XueChengXiTong;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjava.util.ArrayList;
importjava.util.LinkedList;
importjava.util.List;
importjava.util.Stack;
importorg.eclipse.swt.SWT;
importorg.eclipse.swt.events.SelectionAdapter;
importorg.eclipse.swt.events.SelectionEvent;
importorg.eclipse.swt.graphics.Color;
importorg.eclipse.swt.graphics.Font;
importorg.eclipse.swt.layout.FillLayout;
importorg.eclipse.swt.widgets.Button;
importorg.eclipse.swt.widgets.Composite;
importorg.eclipse.swt.widgets.Display;
importorg.eclipse.swt.widgets.Layout;
importorg.eclipse.swt.widgets.MessageBox;
importorg.eclipse.swt.widgets.Shell;
importorg.eclipse.swt.widgets.Table;
importorg.eclipse.swt.widgets.TableColumn;
importorg.eclipse.swt.widgets.TableItem;
publicclassMainUI
{
staticTabletable=null;
publicstaticvoidmain(Stringargs[])
{
finalDisplaydisplay=newDisplay();
finalShellshell=newShell(display);
//创建窗体
shell.setLayout(newFillLayout());
shell.setText("学生成绩管理系统");
shell.setBounds(0,0,600,600);
shell.setVisible(true);
//创建表单
table=newTable(shell,SWT.MULTI|SWT.FULL_SELECTION);
table.setHeaderVisible(true);
table.setLinesVisible(true);
//创建列
TableColumncolumn1=newTableColumn(table,SWT.NONE);
column1.setText("学号");
column1.setWidth(100);
TableColumncolumn2=newTableColumn(table,SWT.NONE);
column2.setText("姓名");
column2.setWidth(100);
TableColumncolumn3=newTableColumn(table,SWT.NONE);
column3.setText("成绩");
column3.setWidth(100);
TableColumncolumn4=newTableColumn(table,SWT.NONE);
column4.setText("班级");
column4.setWidth(100);
//创建按钮容器
Compositepost=newComposite(shell,SWT.NONE);
Buttonbutton1=newButton(post,SWT.NONE);
//创建按钮
button1.setText("添加");
button1.setBounds(30,30,100,50);
Buttonbutton2=newButton(post,SWT.NONE);
button1.setBackground(newColor(display,SWT.COLOR_DARK_RED,200,20));
button2.setText("删除");
button2.setBounds(200,30,100,50);
button2.setFont(newFont(display,"宋体",20,SWT.NONE));
Buttonbutton3=newButton(post,SWT.NONE);
button3.setText("修改");
button3.setBounds(30,150,100,50);
Buttonbutton4=newButton(post,SWT.NONE);
button3.setEnabled(true);
button4.setText("查询");
button4.setBounds(200,150,100,50);
//table初始化
newTableItem(table,SWT.LEFT).setText(newString[]{"10","张三","60","08楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"11","李四","90","09电本"});
newTableItem(table,SWT.LEFT).setText(newString[]{"12","王倩","70","08计本"});
newTableItem(table,SWT.LEFT).setText(newString[]{"13","李明","80","09楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"14","刘德华","50","08机电"});
newTableItem(table,SWT.LEFT).setText(newString[]{"15","范伟","40","09楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"16","朱元璋","70","08经贸"});
newTableItem(table,SWT.LEFT).setText(newString[]{"17","周星驰","65","09楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"18","李连杰","55","08楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"19","赵薇","78","09楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"20","林心如","70","08机械"});
newTableItem(table,SWT.LEFT).setText(newString[]{"21","周润发","88","09楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"22","成龙","73","08汉语言"});
newTableItem(table,SWT.LEFT).setText(newString[]{"23","赵本山","80","09楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"24","郭德纲","56","08小品"});
newTableItem(table,SWT.LEFT).setText(newString[]{"25","周迅","35","09楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"26","王络丹","49","08土木"});
newTableItem(table,SWT.LEFT).setText(newString[]{"27","刘亦菲","60","09楼宇"});
newTableItem(table,SWT.LEFT).setText(newString[]{"28","张静初","55","08建工"});
newTableItem(table,SWT.LEFT).setText(newString[]{"29","文章","78","09通信"});
newTableItem(table,SWT.LEFT).setText(newString[]{"30","王力宏","80","09楼宇"});
//为添加按钮添加事件处理
button1.addSelectionListener(newSelectionAdapter(){
publicvoidwidgetSelected(SelectionEvente)
{
TableItem[]item=table.getItems();
for(inti=0;i { item[i].setBackground(newColor(display,255,255,255)); } System.out.println("test"); AddStudentUI.addStuShow(display,table); } }); //为删除按钮添加事件处理 button2.addSelectionListener(newSelectionAdapter(){ publicvoidwidgetSelected(SelectionEvente) { TableItem[]item=table.getItems(); for(inti=0;i { item[i].setBackground(newColor(display,255,255,255)); } if(table.getSelectionIndex()==-1) { MessageBoxbox=newMessageBox(shell); box.setMessage("请选择要删除的内容"); box.open(); } else { int[]selInices=table.getSelectionIndices();//将选中的序号放在数组中 table.remove(selInices); } } }); //为修改按钮添加事件处理 button3.addSelectionListener(newSelectionAdapter(){ publicvoidwidgetSelected(SelectionEvente) { TableItem[]item=table.getItems(); for(inti=0;i { item[i].setBackground(newColor(display,255,255,255)); } if(table.getSelectionIndex()==-1) { MessageBoxbox=newMessageBox(shell); box.setMessage("请选择要修改的内容"); box.open(); } else { ModifyStudentUI.modifyStuShow(display,table); } } }); //为查找按钮添加事件处理 button4.addSelectionListener(newSelectionAdapter(){ publicvoidwidgetSelected(SelectionEvente) { TableItem[]item=table.getItems(); for(inti=0;i { item[i].setBackground(newColor(display,255,255,255)); } FindStuUI.findStuShow(display,table); } }); shell.pack(); shell.open(); while(! shell.isDisposed()) { if(! display.readAndDispatch()) { display.sleep(); } } } } //添加学生程序 packagecom.dr.swt.XueChengXiTong; importjava.util.ArrayList; importjava.util.List; importorg.eclipse.swt.SWT; importorg.eclipse.swt.events.SelectionAdapter; importorg.eclipse.swt.events.SelectionEvent; importorg.eclipse.swt.widgets.Button; importorg.eclipse.swt.widgets.Display; importorg.eclipse.swt.widgets.Label; importorg.eclipse.swt.widgets.MessageBox; importorg.eclipse.swt.widgets.Shell; importorg.eclipse.swt.widgets.Table; importorg.eclipse.swt.widgets.TableItem; importorg.eclipse.swt.widgets.Text; classAddStudentUI { Displaydisplay=null; Shellshell=newShell(display); publicAddStudentUI(Displaydy){ display=dy; } publicstatic voidaddStuShow(Displaydy,Tabletable) { AddStudentUIast=newAddStudentUI(dy); ast.run(table); } privatevoidrun(finalTabletable){ shell.setBounds(500,200,250,400); shell.setText("添加学生信息"); //添加标签 Labelid=newLabel(shell,SWT.NONE); id.setText("学号"); id.setBounds(40,50,60,40); Labelname=newLabel(shell,SWT.NONE); name.setText("姓名"); name.setBounds(40,100,60,40); Labelscore=newLabel(shell,SWT.NONE); score.setText("成绩"); score.setBounds(40,150,60,40); Labelcls=newLabel(shell,SWT.NONE); cls.setText("班级"); cls.setBounds(40,200,60,40); //添加文本框 finalTexttext1=newText(shell,SWT.NONE); text1.setBounds(100,45,100,25); text1.setTextLimit (2);//学号必
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SWT 学生 成绩管理系统
![提示](https://static.bdocx.com/images/bang_tan.gif)