您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > java-程序设计-实验五
CHANGZHOUUNIVERSITY实验报告课程名称: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);panel.setLayout(null);BoxhorizontalBox=Box.createHorizontalBox();horizontalBox.setBounds(131,203,121,-41);panel.add(horizontalBox);BoxhorizontalBox_1=Box.createHorizontalBox();horizontalBox_1.setBounds(0,0,1,1);panel.add(horizontalBox_1);JPanelpanel_1=newJPanel();panel_1.setBounds(16,27,166,66);panel_1.setBorder(BorderFactory.createLoweredSoftBevelBorder());panel.add(panel_1);rdbtnNewRadioButton_1=newJRadioButton(查看已有名片);rdbtnNewRadioButton_1.setSelected(true);panel_1.add(rdbtnNewRadioButton_1);rdbtnNewRadioButton_1.addActionListener(newcardseechangelistener());rdbtnNewRadioButton=newJRadioButton(添加新名片);panel_1.add(rdbtnNewRadioButton);rdbtnNewRadioButton.addActionListener(newcardseechangelistener());ButtonGroupgroup2=newButtonGroup();group2.add(rdbtnNewRadioButton_1);group2.add(rdbtnNewRadioB
本文标题:java-程序设计-实验五
链接地址:https://www.777doc.com/doc-6112670 .html