java 程序设计 实验五.docx
- 文档编号:1489287
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:34
- 大小:134.15KB
java 程序设计 实验五.docx
《java 程序设计 实验五.docx》由会员分享,可在线阅读,更多相关《java 程序设计 实验五.docx(34页珍藏版)》请在冰豆网上搜索。
java程序设计实验五
实验报告
课程名称:
JAVA程序设计
学生姓名:
孙文浩班级计算机141学号14416122
学院(系):
信息数理学院指导教师:
吕猛
实验时间:
2016年12月6日
实验名称:
实验五基于Swing的图形用户界面开发实验
实验五基于Swing的图形用户界面开发实验
一实验内容
(1)完成开发界面如图所示,实现如下功能
选中“查看已有名片”按钮,程序处于查看状态,可以在“名片列表”中选择要查看的名片,程序在“名片详实信息”栏显示该名片的详实信息,此状态中名片信息处于不可编辑状态
选中“添加新名片”按钮,程序处于添加状态,所有关于明天信息的项目都处于可编辑状态,设置完成相关信息后,单击“添加”按钮,在“名片列表”中出现新添加名片的名称。
单击“清空”按钮可以清空还没提交的内容
在查看状态和添加状态下,都可以通过点击“爱好”、“学历”单选按钮以显示名片的不同附加信息
(备注:
名片附加信息部分,当点击“爱好”按钮时显示的如图1所示,当点击“学历”按钮时显示如图2所示。
)
图1
图2
(2)记事本设计与实现
如图所示
(1)编程实现如图所示的界面
(2)实现文件、编辑、格式、查看,帮助菜单(3)实现记事本的基本功能
二实验目的
(1)理解组件的分类
(2)掌握容器、布局管理器、普通组件的使用
(3)理解事件处理机制的工作原理
(4)掌握事件的添加和功能代码的编写方法
三实验过程
(1)问题分析
答:
名片的设计除了使用最基本的组件,如JButton,Jlist,JCheckBox,JTextField,JRadioButton,CardLayout以外,最主要的是逻辑事件的编写,在成功布局完见面后,就需要编写事件处理。
首先,由于是名片信息,保存着一个人的基本信息,所以可以用一个类来表示,如PersonInf类,其次,由于是多个人的信息,可以通过ArrayList来存放类;其次就是当点击按钮的时候,正确添加和显示信息,此处用到cardLayout布局,可以减少界面的复杂度,在使用JList的时候,除了加滚动条意外,还需要listModel获取数据等。
(2)代码编写
答:
(1)
publicclassPersonInf{
publicStringyourname;
publicStringaddress1;
publicStringaddress2;
publicStringemail;
publicStringsing=null;
publicStringdance=null;
publicStringweb=null;
publicStringfootball=null;
publicStringbasketball=null;
publicStringvolleyball=null;
publicStringxueshi=null;
publicStringshuoshi=null;
publicStringboshi=null;
publicStringqita=null;
publicPersonInf(Stringyourname,Stringaddress1,Stringaddress2,Stringemail,Stringsing,Stringdance,
Stringweb,Stringfootball,Stringbasketball,Stringvolleyball,
Stringxueshi,Stringshuoshi,Stringboshi,Stringqita){
super();
this.yourname=yourname;
this.address1=address1;
this.address2=address2;
this.email=email;
this.sing=sing;
this.dance=dance;
this.web=web;
this.football=football;
this.basketball=basketball;
this.volleyball=volleyball;
this.xueshi=xueshi;
this.shuoshi=shuoshi;
this.boshi=boshi;
this.qita=qita;
}
}
importjava.awt.BorderLayout;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.EventQueue;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.border.EmptyBorder;
importjavax.swing.JInternalFrame;
importjavax.swing.JRadioButton;
importjavax.swing.JLayeredPane;
importjavax.swing.JSplitPane;
importjavax.swing.BorderFactory;
importjavax.swing.Box;
importjavax.swing.DefaultListModel;
importjava.awt.Component;
importjavax.swing.border.SoftBevelBorder;
importjavax.swing.event.ListSelectionEvent;
importjavax.swing.event.ListSelectionListener;
importjavax.swing.border.BevelBorder;
importjavax.swing.JLabel;
importjavax.swing.JTextField;
importjavax.swing.JButton;
importjavax.swing.border.EtchedBorder;
importjavax.swing.JFormattedTextField;
importjavax.swing.JSpinner;
importjavax.swing.JTable;
importjavax.swing.JList;
importjavax.swing.JScrollPane;
importjava.awt.Color;
importjavax.swing.JTextArea;
importjava.awt.event.ActionListener;
importjava.awt.event.ItemEvent;
importjava.awt.event.ItemListener;
importjava.util.ArrayList;
importjava.awt.event.ActionEvent;
importjava.awt.CardLayout;
publicclasscardextendsJFrame{
privateJPanelcontentPane;
publicJTextFieldnametext;
publicJTextFieldaddress1test;
publicJTextFieldaddress2test;
publicJTextFieldemailtest;
publicJButtonaddmessagebutton;
publicJButtonclearbutton;
privateJListlist;
//学历,爱好,添加新名片,查看名片的按钮
privateJRadioButtonrdbtnNewRadioButton_2;
privateJRadioButtonrdbtnNewRadioButton_3;
publicJRadioButtonrdbtnNewRadioButton_1;
publicJRadioButtonrdbtnNewRadioButton;
privateJPanelpanel_4;
//学历和爱好内的多选项
publicJCheckBoxsingbox;
publicJCheckBoxdancebox;
publicJCheckBoxwebbox;
publicJCheckBoxfootballbox;
publicJCheckBoxbasketballbox;
publicJCheckBoxvolleyballbox;
publicJCheckBoxxueshibox;
publicJCheckBoxboshibox;
publicJCheckBoxshuoshibox;
publicJCheckBoxqitabox;
ListSelectionModellistSelectionModel;
CardLayoutmycard;//用于切换爱好和学历卡片
//定义默认的list模型
DefaultListModeldefaultListModel=newDefaultListModel();
/**
*Launchtheapplication.
*/
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
cardframe=newcard();
frame.setVisible(true);
}catch(Exceptione){
e.printStackTrace();
}
}
});
}
/**
*Createtheframe.
*/
//窗体的构造函数,用于设定相关组件并且添加事件,合理安排组建的位置
publiccard(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,464,338);
contentPane=newJPanel();
contentPane.setBorder(newEmptyBorder(5,5,5,5));
setContentPane(contentPane);
contentPane.setLayout(null);
JPanelpanel=newJPanel();
panel.setBounds(0,0,459,316);
contentPane.add(panel);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 实验五 实验