java程序设计实验五

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C H A

N

G Z H O

U U N I V E R

S

I

T

Y

实验报告

课程名称: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)

public class PersonInf {

public String yourname;

public String address1;

public String address2;

public String email;

public String sing = null;

public String dance = null;

public String web = null;

public String football = null;

public String basketball = null;

public String volleyball = null;

public String xueshi = null;

public String shuoshi = null;

public String boshi = null;

public String qita = null;

public PersonInf(String yourname, String address1, String address2, String email, String sing, String dance,

String web, String football, String basketball, String volleyball,

String xueshi,String shuoshi,String boshi, String qita) {

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;

}

}

import java.awt.BorderLayout;

import javax.swing.*;

import java.awt.*;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.JInternalFrame;

import javax.swing.JRadioButton;

import javax.swing.JLayeredPane;

import javax.swing.JSplitPane;

import javax.swing.BorderFactory;

import javax.swing.Box;

import javax.swing.DefaultListModel;

import ponent;

import javax.swing.border.SoftBevelBorder;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener; import javax.swing.border.BevelBorder;

import javax.swing.JLabel;

import javax.swing.JTextField;

import javax.swing.JButton;

import javax.swing.border.EtchedBorder;

import javax.swing.JFormattedTextField;

import javax.swing.JSpinner;

import javax.swing.JTable;

import javax.swing.JList;

import javax.swing.JScrollPane;

import java.awt.Color;

import javax.swing.JTextArea;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.util.ArrayList;

import java.awt.event.ActionEvent;

import java.awt.CardLayout;

public class card extends JFrame {

private JPanel contentPane;

public JTextField nametext;

public JTextField address1test;

public JTextField address2test;

public JTextField emailtest;

public JButton addmessagebutton;

public JButton clearbutton;

private JList list;

//学历,爱好,添加新名片,查看名片的按钮

private JRadioButton rdbtnNewRadioButton_2;

相关文档
最新文档