当前位置:文档之家› 第七章 Java图形用户界面练习汇编

第七章 Java图形用户界面练习汇编

第七章 Java图形用户界面练习汇编
第七章 Java图形用户界面练习汇编

第七章图形用户界面

在应用程序开发中,友好的用户界面是一个最基本的要求,本章将使用Java中提供的java.AWT和javax.Swing类包中有关组件设计用户界面。

7.1 实验一:一般用户界面的实现

实验目的

(1). 了解AWT和Swing常用容器组件和基本组件的作用和功能。

(2). 了解各类布局管理器的作用和功能。

(3). 使用各类布局管理器和组件创建程序的图形用户界面。

实验要求

使用java.AWT和javax.Swing类包中提供了设计用户界面的各种组件,诸如Frame、JFrame、Panel、JPanel等容器组件、TextField、JTextField、Label、JLabel、Button、JButton 等基本组件等,编写程序创建并实现简洁明了的用户界面。

实验内容

使用AWT和Swing组件创建一般的应用程序用户界面。

实验示例7.1.1在前边定义了公司的职员信息类,成员变量包括ID(身份证)、name(姓名)、sex(性别)、birthday(生日)、home(籍贯)、address(居住地)和number(职员号),设计一个录入或显示职工信息的程序界面(以FlowSaylout布局安排组件)。

实现该示例的步骤如下:

⑴简要分析

可以采用Frame容器组件构建用户界面,使用Label组件显示标识,使用TextField组件输入或显示个人信息,使用Button组件确定诸如输入、显示或退出操作。

可以建立一个Frame类的派生类EmployeeMess来完成用户界面的构建。

⑵根据上述简要分析,给出如下参考程序代码(EmployeeMess.java):

/*公司职员信息界面程序 EmployeeMess.java

*使用AWT组件构建,采用FlowLayout布局

*/

图7-1 示例7.1.1用户界面

import java.awt.*;

public class EmployeeMess extends Frame

{

TextField ID = new TextField(18);

TextField name = new TextField(10);

TextField birthday = new TextField(10);

TextField sex = new TextField(2);

TextField home = new TextField(18);

TextField address = new TextField(18);

TextField brithday = new TextField(10);

TextField number = new TextField(5);

Button oprate = new Button("操作");

Button exit = new Button("退出");

public EmployeeMess()

{

super("公司职员信息");

this.setLayout(new FlowLayout());

this.add(new Label("身份证号码")); //把组件加入到框架窗口中

this.add(ID);

this.add(new Label("姓名"));

this.add(name);

this.add(new Label("性别"));

this.add(sex);

this.add(new Label("出生日期"));

this.add(birthday);

this.add(new Label("籍贯"));

this.add(home);

this.add(new Label("居住地"));

this.add(address);

this.add(new Label("职工号"));

this.add(number);

this.add(oprate);

this.add(exit);

this.pack();//按合适大小显示对象

this.setVisible(true); //设置组件是可见的

}

} ⑶ 编译EmployeeMess.java 程序,生成EmployeeMess.class 类文件,以供其他应用程序所用。

⑷ 程序及分析

程序中使用了AWT 组件来构建用户界

面,在Frame 容器上摆放Label 、TextField 和

Button 组件,由于采用了FlowLayout 布局,所以布局在容器上组件的大小不会随容器大小的改变而改变,而组件所在的行会改变。

⑸ 测试EmployeeMess 类的功能。编写一个简单的应用程序,创建EmployeeMess 对象,验证EmployeeMess 的功能。参考代码如下:

public class TestEmployeeMess

{

public static void main( String[] args )

{

new EmployeeMess();

}

图7-2 示例7.1.2程序界面

} 编译并运行测试程序,用户界面经鼠标拖动改变大小后,如图7-1所示。

注意:该程序不能正常退出,只能强行退出。

自由练习7.1 仿照实验示例7.1.1,设计一个录入或显示学生信息的程序界面。学生信息量包括ID(身份证)、name(姓名)、sex(性别)、birthday(生日)、home(籍贯)、number(学号)和result (入学成绩),以FlowSaylout 布局安排组件。

实验示例7.1.2 编程实现一个如图7-2的小

学生习题训练用户界面。

实现该示例的步骤如下:

⑴ 简要分析

为了使该界面应用于其他程序,可以使用JPanel 组件构建界面。根据要求该界面有3行组成:第一行由一个标签(JLabel )和一个按钮

(JButton )组件构成;第二行可以由4个标签(分别表示两个运算数、运算符号和等号)和一个文本框(JTextField )组件构成;第3行由一个按钮构成。

由上所述,由于第1行和第2行含有多个组件,可以将它们分别以FlowLayout 流布局放在JPanel 容器中。这样就可以GridLayout 布局按3行的形式将所有组件摆放到界面上。

⑵ 根据上述简要分析,可以给出如下参考程序代码(StudentSreen.java):

/* 小学生训练题界面

* StudentScreen.java

*/

import java.awt.*;

import javax.swing.*;

public class StudentScreen extends JPanel

{

JLabel num1=new JLabel("0 "); //显示第1个运算数

JLabel num2=new JLabel("0 "); //显示第2个运算数

JLabel op=new JLabel("+"); //显示运算符号

JLabel info=new JLabel("测试时间10分钟,按'开始'键开始!");

JTextField answer=new JTextField(10); //输入运算结果

JButton next = new JButton("下一题"); //操作按钮

JButton start = new JButton("开始"); //操作按钮

JPanel pan1=new JPanel();

JPanel pan2=new JPanel();

JPanel pan3=new JPanel();

public StudentScreen()

{

setLayout(new GridLayout(3,1));

pan1.add(info); //将第1行的组件放在pan1容器中

pan1.add(start);//……………………

pan2.add(num1); //将第2行的组件放在pan2容器中

pan2.add(op); //……………………

pan2.add(num2); //……………………

pan2.add(new JLabel("="));//……………………

pan2.add(answer); //……………………

add(pan1); //将pan1(第1行的组件)摆放在界面上

add(pan2); //将pan2(第2行的组件)摆放在界面上

add(next); ////将next按钮(第3行的组件)摆放在界面上

}

}

⑶编译StudentSreen.java程序,生成StudentSreen.class类文件,以供其他应用程序所用。

⑷程序及分析

本程序使用swing组件构建用户屏幕,采用JPanel容器嵌套JPanel容器的方式,目的是该界面可以添加到Frame或JFrame容器上,为其他程序所用。

⑸测试StudentSreen类的功能。编写一个简单的应用程序,将StudentSreen对象添加到JFrame窗口上,验证StudentSreen的功能。参考代码如下:

import javax.swing.*;

public class TestStudentScreen extends JFrame

{

TestStudentScreen()

{

add(new StudentScreen());

setVisible(true);

pack();

setDefaultCloseOperation(3);

}

public static void main(String [] args)

{

new TestStudentScreen();

}

}

编译并执行该程序,观看程序的界面效果。

实验示例7.1.3 在实验示例7.1.1中设计的用户界面,是用FlowSayout布局组件的,组件的大小不随容器的变化而变化,布局有些不太整齐,修改此用户界面,改用GridLayout 布局,使界面整洁一些。

实现该示例的步骤如下:

⑴简要分析

为了界面的整洁性,可以使用Swing组件构建用户界面,为了使该界面能部署在JFrame 窗体容器上,采用JPanel容器来构建用户界面屏幕,并在JPanel容器中嵌套两个JPanel 容器,一个JPanel容器上布局用于显示标识的Label组件和输入或显示个人信息的TextField 组件,以一行四列的形式摆放组件;另一个JPanel容器上布局Button组件,以一行两列的形式摆放。

⑵根据上述简要分析,给出如下参考程序代码(EmployeeMess2.java):

/*公司职员信息界面程序 EmployeeMess2.java

*使用Swing组件构建,采用GridLayout布局

*/

import java.awt.*;

import javax.swing.*;

public class EmployeeMess2 extends JPanel

{

JTextField ID = new JTextField(18);

JTextField name = new JTextField(10);

JTextField birthday = new JTextField(10);

JTextField sex = new JTextField(2);

JTextField home = new JTextField(18);

JTextField address = new JTextField(18);

JTextField number = new JTextField(5);

JButton oprate = new JButton("操作");

JButton exit = new JButton("退出");

JPanel jp1=new JPanel();

JPanel jp2=new JPanel();

public EmployeeMess2()

{

this.setLayout(new GridLayout(2,1));//设置JPanel容器上组件布局为2行1列 jp1.setLayout(new GridLayout(0,4)); //设置jp1容器上组件的布局为n行4列 jp1.add(new JLabel("身份证号码")); //把组件加入jp2容器中

jp1.add(ID); //..................

jp1.add(new JLabel("姓名")); //..................

jp1.add(name); //..................

jp1.add(new JLabel("性别")); //..................

jp1.add(sex); //..................

jp1.add(new JLabel("出生日期")); //..................

jp1.add(birthday); //..................

jp1.add(new JLabel("籍贯")); //..................

jp1.add(home); //..................

jp1.add(new JLabel("居住地")); //..................

jp1.add(address); //..................

jp1.add(new JLabel("职工号")); //..................

jp1.add(number); //..................

jp2.setLayout(new GridLayout(1,2)); //设置jp2容器上组件的布局为1行2列 jp2.add(oprate); //将按钮添加到jp2容器上

jp2.add(exit); //.....................

this.add(jp1); //将jp1放入当前容器中

this.add(jp2); //............................

this.setSize(200,200);

}

}

⑶编译EmployeeMess2.java程序,生成EmployeeMess2.class类文件,以供其他应用程序所用。

⑷程序及分析

程序中使用了swing组件来构建用户界面,在JPanel容器上嵌套摆放了两个JPanel容器组件,在两个Jpanel容器上分别布局了表示职工信息的组件和操作按钮组件。

由于全部采用了GridLayout布局,所以嵌套在JPanel容器上的两个JPanel组件的大小是一样的,同样布局在第一个JPanel容器上的所有组件其大小是一样,而布局在第二个JPanel容器上的两个按钮其大小也是一样的。它们会随界面大小的改变而改变,而组件所在的行不会改变。

⑸测试EmployeeMess2类的功能。编写一个

简单的应用程序,创建一个JFrame窗口对象,将

EmployeeMess2对象添加到JFrame窗口上,验证

EmployeeMess2的功能。参考代码如下:

import javax.swing.*;

public class TestEmployeeMess2

{

public static void main( String[] args )

图7-3 示例7.1.3 用户界面

{

实验三 图形用户界面设计(汽院含问题详解)

实验三图形用户界面设计 实验目的 1.掌握Java语言中GUI编程的基本方法 2.掌握Java语言中AWT组件的基本用法 3.掌握Java语言中Swing组件的基本用法 实验导读 1.通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地进行 交互。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 JDK写程序所有功能都是靠虚拟机去操作本地操作系统。比如window下,就是JDK用windows API实现功能。而awt包中很多组件是组件自身去调用本地操作系统代码swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。 图3.1 AWT常用组件继承关系图 Container为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。 2.布局,容器中的组件的排放方式。常见的布局管理器: FlowLayout(流式布局管理器):从左到右的顺序排列。Panel默认的布局管理器。 BorderLayout(边界布局管理器):东,南,西,北,中。Frame默认的布局管理器。 GridLayout(网格布局管理器):规则的矩阵

第10章_图形用户界面(GUI)制作

第十章 图形用户界面(GUI )制作 10.1 入门 【例10.1-1】对于传递函数为121 2++=s s G ζ的归一化二阶系统,制作一个能绘制该系统 单位阶跃响应的图形用户界面。本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标网格控制键的形成;(D )如何使用该界面。 (1)产生图形窗和轴位框:如图10.1-1所示。 clf reset H=axes('unit','normalized','position',[0,0,1,1],'visible','off'); set(gcf,'currentaxes',H); str='\fontname{隶书}归一化二阶系统的阶跃响应曲线'; text(0.12,0.93,str,'fontsize',13); h_fig=get(H,'parent'); set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.4]); h_axes=axes('parent',h_fig,... 'unit','normalized','position',[0.1,0.15,0.55,0.7],... 'xlim',[0 15],'ylim',[0 1.8],'fontsize',8); 图 10.1-1 产生坐标轴 (2)在坐标框右侧生成作解释用的“静态文本”和可接收输入的“编辑框”:如图10.1-2所示。 h_text=uicontrol(h_fig,'style','text',... 'unit','normalized','position',[0.67,0.73,0.25,0.14],... 'horizontal','left','string',{'输入阻尼比系数','zeta ='}); h_edit=uicontrol(h_fig,'style','edit',... 'unit','normalized','position',[0.67,0.59,0.25,0.14],... 'horizontal','left',... 'callback',[... 'z=str2num(get(gcbo,''string''));',... 't=0:0.1:15;',...

java图形界面之电子算盘

Java图形用户界面 院系: 计算机系姓名:后人好乘凉 一实验目的 ●使学生综合运用图形用户界面设计的概念; ●使学生熟悉使用中间面板,组成层次复杂的GUI界面; ●使学生掌握使用事件驱动编程; 二实验环境及实验准备 ●所需硬件环境为微机; ●所需软件环境为JDK、Eclipse; ●掌握Java下界面容器与基本组件的基本知识与应用; ●掌握Java下事件处理模型; ●掌握Java下图形绘制的方法; 三实验内容 (一)、设计实现电子算盘,并完成测试; [题目描述及要求] 给小朋友设计一个电子算盘。要求绘制电子算盘界面,设计并实现打珠算过程(界面参考如下图示)。 电子算盘参考界面示意 程序源代码: package calculator;

import java、awt、Color; //导入 import java、awt、GridLayout; import java、awt、Container; import javax、swing、JLabel; import javax、swing、JButton; import javax、swing、ImageIcon; import javax、swing、JPanel; import javax、swing、JFrame; import javax、swing、JTextField; import java、awt、event、*; public class Calculator extends JFrame{ public int totalNumber; public int t = 0; public boolean[] isAddFive = new boolean[5]; public int number[] = new int[5]; public ImageIcon picture = new ImageIcon(System、getProperty("user、 dir") + "/算珠、jpg" ); //添加图片 public ImageIcon picture1= new ImageIcon(System、getProperty("user、 dir") + "/算珠1、jpg" ); Container con = getContentPane(); JPanel j1 = new JPanel(); JPanel j2 = new JPanel(); JPanel j3 = new JPanel(); JPanel time=new JPanel(); JLabel q = new JLabel(); JLabel nA = new JLabel(); JLabel Time=new JLabel(new ImageIcon("、/时钟、jpg")); //添加时钟标签的图片 JTextField a = new JTextField(); JButton Buttons_1[][] = new JButton[2][5]; JButton Buttons_2[][] = new JButton[5][5]; GridLayout gl_1 = new GridLayout(2,5); GridLayout gl_2 = new GridLayout(5,5); GridLayout gl_3 =new GridLayout(); public Calculator() { super("电子算盘"); setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE); setBounds(100,100,600,400); setVisible(true); setLayout(null); AbacusPanel(); } public void AbacusPanel() // 算盘面板

java图形用户界面设计

实验名称:图形用户界面设计 一、实验目的 1.掌握常用图形界面组件(按钮、文本框等)对象的创建及其常用方法的使用。如,按钮的常用方法是getLabel(),文本框的常用方法有setText(),getText()等。 2.掌握常用的布局管理类CardLayou,BorderLayout,FlowLayout,GridLayout的使用策略。能够将它们联合起来使用。 3.掌握java语言的事件处理。每个事件对应的接口(或适配器类)是什么,每个接口有哪些方法,如何进行委托处理,被委托者必须做什么。 二、实验环境(软件、硬件环境) PC机 JDK包 三、实验原理 通过图形用户界面(GUI),用户和程序之间可以方便地进行交互。javax.swing包中的组件类可以帮助我们完整界面的设计。javax.swing包的JComponent类是java.awt包中的Container类的一个直接子类、Component类的间接子类。javax.swing包中的JFrame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。在学习GUI编程时,必须很好地理解并掌握两个概念:容器类和组件类,必须很好地掌握java的事件处理机制。 四、实验容及步骤 实验容:密码验证问题。 编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出“欢迎XXX用户”,否则用户还可以尝试两次,如果尝试阶段输入信息错误,则输出“请输入正确的信息”,如果尝试失败,用户则退出。 调试并编译程序PasswordVerification.java,运行该程序,运行结果如图8-1、图8-2、

实验八 图形用户界面设计

实验八图形用户界面(GUI)设计 (说明:本次实验在4学时内独立完成) 一、实验目的 1. 熟悉各种控件和界面菜单的制作。 2. 学会编写控件对象的回调程序(callback函数)。 3. 熟练使用GUI开发工具GUIDE设计用户界面。 二、实验预备知识 图形用户界面(Graphical User Interface,简称GUI) 是指由窗口、光标、按键、菜单、文字说明等对象构成的一个人与计算机的交互界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。GUI 的最重要组成是用户菜单(uimenu)和用户控件(uicontrol)。关于界面菜单,可以参考课件相关部分的介绍,这里主要介绍控件的类型、属性和制作方法。 1.用户控件的类型 控件是事件响应的图形对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(即回调函数Callback)。MATLAB中有10种不同类型的控件(下图): ①单功能按钮(Push Button);②单选按钮(Radio Button);③双位按钮(Toggle Button); ④复选框(Check Box);⑤列表框(List Box);⑥弹出框(Popup Menu);⑦静态文本框 (Static Text);⑧可编辑文本框(Edit Text);⑨滑标或滚动条(Slider);⑩框架(Frame)。这些控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生 相应的响应;一种为静态控件,是不产生响应的控件,如静态文本框等。 表1给出了各种控件的描述。 2.用户控件的属性 每种控件都有一些可以设置的属性参数,用于表现控件的外形、功能 及效果。属性由两部分组成:属性名和属性值,它们必须是成对出现的。 用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。 下面介绍部分较常用的控件属性: ●Tag取值为字符串,定义了控件的标识(标签),在任何程序中都可 以通过这个标识控制该控件对象。 ●Style表明控件对象的类型,取值为表1所列10种当中之一。 ●String定义控件对象的标题或选项内容(即控件上用户想要显示的内容),取值为字符 串或数组。 ●Units单位属性,取值可以是pixels, normalized(归一化), inches, centimeters或 points。GUI设计时经常使用归一化单位。

java图形界面以及链接数据库

import java、awt、*; import java、awt、event、*; import javax、swing、*; import java、sql、*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,ScrollPaneConstants、VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants、HORIZONTAL_SCROLLBAR_NEVER); private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { jp、setLayout(null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("您"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) { jb[i]、setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { jp、add(jb[i]); } j1、setBounds(280,10,50,30); j2、setBounds(20,375,30,50); box、setBounds(55,385,80,30); j3、setBounds(160,375,40,50); text、setBounds(210,385,300,30); jb[3]、setBounds(520,365,75,50); js、setBounds(10,50,600,300); jp、add(j1); jp、add(j2);

第七章 图形用户界面设计-实验题目

第七章图形用户界面设计--实验题目 一、实验目的 1. 掌握GUI编程的基本概念。 2. 掌握基于Swing和AWT的图形用户界面的编程原理。 3. 理解容器和组件的概念,初步掌握事件编程的基本技巧。 4. 掌握Swing包中的基本组件和基本事件类。 5. 掌握常用布局管理器的使用。 二、实验内容 1.编写一个能够转换华氏温度和摄氏温度的程序。在“摄氏温度”文本域输入一个值并点击华氏按钮(两个按钮—摄氏按钮、华氏按钮),在华氏文本域显示相应的华氏温度。 反之,在“华氏文温度”文本域输入一个值,点击摄氏按钮,在摄氏文本域中显示相应的摄氏温度。 2.编写程序,使得当按下鼠标时显示鼠标的位置。 3.编写程序,界面上包括一个标签、一个文本框和一个按钮。当单击按钮时,程序把文本框中的内容复制到标签中。 4.编写满足下列要求的程序: (1)创建1个框架并将其内容窗格布局管理器设置为BorderLayout。 (2)创建2个面板并把它们添加到框架。 (3)每个面板包含3个按钮,面板使用BorderLayout布局管理器。 (4)单击按钮时,在控制台显示信息指明按钮被单击。 5.编写一个应用程序,实现如下图所示的图形界面.要求单击关闭按钮能够关闭窗口并结束程序运行。 6.编写一个应用程序,实现如下图所示的图形界面,要求单击按钮将窗口的背景颜色设置为相应的颜色。设置颜色可以调用容器的setBackground(Color c)方法,参数Color 可以使用java awt.Color类的常量,如Color.RED等。 7.编写一个应用程序,其外观是一个框架窗口,窗口中放置一个多行文本框,下方放置3个按钮,3个按钮名分别为“OK”、“Cancel”、“Exit”,鼠标单击前两个按钮,在文本框中显示按钮上文字,单击“Exit”按钮,关闭并退出程序。 8.编写一个应用程序,实现如下图所示的图形界面。要求在文本框中输入有关信息,单

java实验报告实验六Java图形用户界面

信息工程学院 Java程序设计实习报告 JAVA图形用户界面 实验六Java图形用户界面 1.实验目的 (1)掌握图形用户界面基本组件。 (2)了解如何使用布局管理器对组件进行管理。 (3)掌握Java事件处理机制。 2.实验内容 实验题 1 编写一个模拟计算器的程序,使用面板与网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式与结果显示在文本框中。 运行结果: 实验报告的内容与格式按任课教师的要求书写。

加法: 主要代码: private void initComponents() { jButton1 = new javax、swing、JButton(); jButton2 = new javax、swing、JButton(); jButton3 = new javax、swing、JButton(); jButton4 = new javax、swing、JButton(); jButton5 = new javax、swing、JButton(); jButton6 = new javax、swing、JButton(); jButton7 = new javax、swing、JButton(); jButton8 = new javax、swing、JButton(); jButton9 = new javax、swing、JButton(); jButton10 = new javax、swing、JButton(); jButton11 = new javax、swing、JButton(); jButton12 = new javax、swing、JButton(); jButton13 = new javax、swing、JButton(); jButton14 = new javax、swing、JButton(); jButton15 = new javax、swing、JButton(); jTextField1 = new javax、swing、JTextField(); setStub(null); jButton1、setText("3"); jButton1、addActionListener(new java、awt、event、

java图形化界面练习及答案

作业标题:第四次练习题(总分:得分:分)一、单选题(共有题目15题,共计分) 1. 下列属于容器的组件有 A. ) JButton B. JPane C. Canvas D. JTextArea 学生的答案: B 标准答案: B 该题分数: 学生得分: 分 2. 】 下列方法中,不属于WindowListener接口的是A. windowOpened()

B. windowClosed() C. windowActivated() D. > windowAdapter 学生的答案: D 标准答案: D 该题分数: 学生得分: 分 3. 下列不属于Swing中组件的是( )。 A. JPanel B. JTable C. 《 Menu D. JFrame

学生的答案: C 标准答案: C 该题分数: 学生得分: 分 4. 以下Swing组件中哪一个不是顶层容器组件( )。 A. 框架 B. - 对话框 C. 面板 D. 小程序 学生的答案: C 标准答案: A 该题分数: 学生得分: 0分 5. 对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。 A. 》

创建两个单选框对象时定义相同的对象名 B. 将两个单选框对象放在同一个面板上 C. 定义一个ButtonGroup对象group,将两个单选框对象加到group中D. 让两个单选框排成一行或一列 学生的答案: C 标准答案: C 该题分数: 学生得分: 分 6. . 容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。 A. CardLayout B. FlowLayout C. BorderLayout ?

java简单图形用户界面代码

package dsr; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import https://www.doczj.com/doc/4018676579.html,.Socket; public class Login extends JFrame implements ActionListener{ //定义组件 JPanel northPanel,southPanel,centerPanel,centerPanel1,centerPanel11,centerPanel12; JButton loginBtn,registerBtn,cancalBtn; JLabel userLbl,passwordLbl,titleLbl; JTextField userTxt; JPasswordField passwordPwd; static String name; public Login () { super("用户登录"); northPanel=new JPanel(); southPanel=new JPanel(); centerPanel1=new JPanel(); centerPanel11=new JPanel(); centerPanel12=new JPanel(); //标题 titleLbl=new JLabel("欢迎进入考试系统"); titleLbl.setFont(new Font("隶书",Font.BOLD,24)); northPanel.add(titleLbl); this.add(northPanel,BorderLayout.NORTH); //中间部分 centerPanel1.setLayout(new BorderLayout()); userLbl=new JLabel("用户名"); userTxt=new JTextField(12); centerPanel11.add(userLbl); centerPanel11.add(userTxt); centerPanel1.add(centerPanel11,BorderLayout.NORTH); passwordLbl=new JLabel("密码"); passwordPwd=new JPasswordField(12); centerPanel12.add(passwordLbl); centerPanel12.add(passwordPwd);

第七章 Java图形用户界面练习汇编

第七章图形用户界面 在应用程序开发中,友好的用户界面是一个最基本的要求,本章将使用Java中提供的java.AWT和javax.Swing类包中有关组件设计用户界面。 7.1 实验一:一般用户界面的实现 实验目的 (1). 了解AWT和Swing常用容器组件和基本组件的作用和功能。 (2). 了解各类布局管理器的作用和功能。 (3). 使用各类布局管理器和组件创建程序的图形用户界面。 实验要求 使用java.AWT和javax.Swing类包中提供了设计用户界面的各种组件,诸如Frame、JFrame、Panel、JPanel等容器组件、TextField、JTextField、Label、JLabel、Button、JButton 等基本组件等,编写程序创建并实现简洁明了的用户界面。 实验内容 使用AWT和Swing组件创建一般的应用程序用户界面。 实验示例7.1.1在前边定义了公司的职员信息类,成员变量包括ID(身份证)、name(姓名)、sex(性别)、birthday(生日)、home(籍贯)、address(居住地)和number(职员号),设计一个录入或显示职工信息的程序界面(以FlowSaylout布局安排组件)。 实现该示例的步骤如下: ⑴简要分析 可以采用Frame容器组件构建用户界面,使用Label组件显示标识,使用TextField组件输入或显示个人信息,使用Button组件确定诸如输入、显示或退出操作。 可以建立一个Frame类的派生类EmployeeMess来完成用户界面的构建。 ⑵根据上述简要分析,给出如下参考程序代码(EmployeeMess.java): /*公司职员信息界面程序 EmployeeMess.java *使用AWT组件构建,采用FlowLayout布局 */

Java基础实验报告-图形用户界面设计

南京工程学院 实验报告 课程名称 JAVA基础 实验项目名称图形用户界面设计 实验学生班级 实验学生姓名 学号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字年月日

一、实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。 2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。 3.熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:

因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500)

java图形界面以及链接数据库

import .*; import .*; import .*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,,; private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { (null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("你"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) {

jb[i].setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { (jb[i]); } (280,10,50,30); (20,375,30,50); (55,385,80,30); (160,375,40,50); (210,385,300,30); jb[3].setBounds(520,365,75,50); (10,50,600,300); (j1); (j2); (j3); (box); (text); (jb[3]); (js); for(int i=0;i<=3;i++) { jb[i].addActionListener(this); } (false); (true); ("留言内容:");

Java图形用户界面实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:图形用户界面 专业名称:计算机科学与技术 班级:计科1405班 学生姓名:高宏伟 学号:04141152 指导教师:刘霞林 实验日期:一、实验目的 了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。 二、实验要求 1. 掌握使用布局管理器对组件进行管理的方法。

2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 掌握组件的使用方法。 5. 了解对话框的使用方法。 三、实验内容 (一)算术测试。 实验要求: 编写一个算术测试小软件,用来训练小学生的算术能力。程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确; ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过 ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答 案;MainClass是软件的主类。 程序模板: public class Teacher { int numberOne,numberTwo; String operator=""; boolean right; public int giveNumberOne(int n) { numberOne=(int)()*n)+1; return numberOne; } public int giveNumberT wo(int n) { numberTwo=(int)()*n)+1; return numberTwo; } public String giveOperator() { double d=(); if(d>= operator="+"; else operator="-"; return operator; } public boolean getRight(int answer) { if("+")) { if(answer==numberOne+numberTwo) right=true; else right=false; }

java图形界面GUI基础入门

Compnent package https://www.doczj.com/doc/4018676579.html,pnent; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JRadioButton; import javax.swing.JTextArea; import javax.swing.JTextField; import cn.itcast.util.FrameUtil; /* 非容器组件: */ public class Demo1 { public static void main(String[] args) { JFrame frame= new JFrame("注册"); //创建一个面板 JPanel panel = new JPanel(); frame.add(panel); //用户名

JLabel nameLabel = new JLabel("用户名"); //用户名的输入框 JTextField nameField = new JTextField(12); //把用户名的组件添加到面板上 panel.add(nameLabel); panel.add(nameField); //密码 JLabel passLabel= new JLabel("密码"); //密码框 JPasswordField passField = new JPasswordField(12); //把密码的组件添加到面板 panel.add(passLabel); panel.add(passField); //性别--单选框 JLabel sexLabel = new JLabel("性别"); JRadioButton man = new JRadioButton("男",true); JRadioButton woman = new JRadioButton("女"); //如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个 ButtonGroup group = new ButtonGroup(); group.add(woman); group.add(man); //把性别组件添加到面板上 panel.add(sexLabel); panel.add(man);

java作业图形用户界面

第一题: import javax.swing.JFrame; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Fahrenheit { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub JFrame frame = new JFrame("Fahrenheit"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); FahrenheitPanel panel = new FahrenheitPanel(); frame.getContentPane().add(panel); frame.pack(); frame.setVisible(true); } } class FahrenheitPanel extends JPanel { private JLabel inputLabel,outputLabel,resultLabel; private JButton OK; private JTextField fahrenheit; public FahrenheitPanel() { inputLabel = new JLabel("Enter Fahrenheit temperature:"); outputLabel = new JLabel("Temperature in Celsius:"); resultLabel = new JLabel("---"); OK = new JButton ("OK!"); fahrenheit = new JTextField(5); fahrenheit.addActionListener(new TempListener()); OK.addActionListener(new TempListener()); add(inputLabel); add(fahrenheit); add(outputLabel); add(resultLabel); add(OK);

第10章applet和高级图形界面

第10章:applet和高级图形界面 学习目标 ?10.1 引言 ?10.2 Applet类 ?10.2.1 init()方法 ?10.2.2 start()方法 ?10.2.3 stop()方法 ?10.2.4 destroy()方法 ?10.9 鼠标事件 ?10.10 键盘事件 Applet 类 ?每个Java applet都是由java.applet.Applet类扩展而来的。Applet提供了一个基本框架结构,它可使applet通过Web浏览器来运行。 ?每个Java application都有一个main方法,它在application开始时被执行。与application不同,applet不需要main方法,它依靠浏览器调用方法。 ?每个applet都有一个如下的结构: public class MyApplet extends JApplet { public void init() { ... } public void start() { ... } public void stop() { ... } public void destroy() { ... } //your other methods } ?Web浏览器利用四种方法控制applet ?init() 方法 第一次装载或重装applet,都要调用init方法。 如果Applet的子类具有初始化的操作,就应该覆盖init方法。通常,该方法实现的功能包括:创建新的线程、装载图像、设置用户界面组建,以及从html网页的标记中获取参数。 ?start() 方法 init方法完成后,start方法就会被调用。再次访问包含applet的网页时,applet又被激活,还会调用start方法。 访问包含applet的web页时,只要执行一点操作,Applet子类就应该覆盖start方法。例如:包含动画的applet就需要使用start方法刷新动画。 ?stop() 方法 与start方法正好相反,start方法是在用户返回包含applet的网页时调用的,而stop方法是在用户离开网页是调用的。 当包含applet的web页不可见时,如果还有其他需要执行的操作,Applet子类就应该覆盖这一方法。当用户离开网页,applet已经开始但未完成的任何线程都将继续运行。这时,

实验五 Java图形界面及多线程

实验五图形界面及多线程 【实验目的】 一、掌握Jpanel的使用方法; 二、掌握JAVA简单图形界面的设计; 三、掌握JAVA多线程控制。 【实验内容】 一、在一个Jpanel中显示一个小球,当点击鼠标时,开始移动小球;当小球撞到Jpanel的边框时,小球将反弹回去继续移动。小球用一个线程来控制其移动; 二、每点击一次鼠标,增加一个移动的小球,最多产生20个小球,随机选择小球的颜色; 三、增加功能,当两个小球相撞时,它们将各自反弹。 【实验结果】 //小球类 import java.awt.Color; import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.util.Random; public class Ball { private double x; private double y; private double xR=30; private double yR=30; private double xMove; private double yMove; private Color color; private Ellipse2D shape; private static Random random=new Random(); public Ball(){ color=new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256)); xMove=Math.cos(random.nextDouble()*6.24)*10;

matlab 第十章 图形用户界面GUI制作

第十章内容简介 本书由纸质媒体和电子媒体有机结合而成。纸质媒体便于读者进行系统、全面、长时间连续地阅读,便于随心的翻阅、浏览;而电子媒体向读者提供色彩信息、动态交互的软件环境,提供读者实践本书内容所需的各种文件。 本书第一章系统讲述MATLAB6.5的集成工作平台,引导读者初会MATLAB基本用法。第二、三章系统叙述MATLAB6.1的四大基本数据类型(数值数组、字符串数组、元胞数组、构架数组),至于其它扩展数据类型(函数句柄、符号数据、内联函数、unit数组、稀疏类)则另辟章节专述。此后,本书用九个独立章分述MATLAB6.5的数值计算、符号计算、函数和数据可视、面向对象编程、GUI交互操作界面设计、EXE独立应用程序生成、实现不同软件平台交互的API、M-book 数据图形文字环境集成等八大通用功能。本书用专门的一章深入浅出地阐明SIMULINK的分层建模、仿真功能、与MATLAB交互的功能。 全书包含390多个计算范例。所有算例的程序是可靠、完整的。读者可以在自己的MATLAB环境中完全准确地重现本书所提供的算例结果。算例的举一反三,将使读者很快掌握要领,从模仿走向灵活应用。 书中正文(包括算例)所涉及的指令全部罗列在附录的“A索引”中,用户很容易根据关键字符找到相关的正文说明和算例应用。 本书随带包含700多个文件的光盘。光盘文件包含:可直接在Notebook中运行的全部算例的M-book DOC文件;可在MATLAB环境中直接运行的算例M和MDL文件;可供读者实践MATLAB编译器及API的所有文件;可在PowrPoint中放映幻灯的PPT文件。它们不仅有效地提供了纸质媒体所不具备的交互能力和色彩感染力,而且弥补了纸质媒体没有SIMULINK模型源码文件、没有PPT源码文件、没有编译源文件和验证文件的缺陷。 本书既可作为理工科院校研究生、本科生系统学习的教材,又可以作为广大科技工作者掌握和精通MATLAB的自学用书和使用手册。 作者简介 张志涌 1944年出生于无锡;教授,获政府专项津贴,IEEE高级会员,中国电子学会高级会员,江苏省自动化学会理事、网络与系统专委会主委;1967年毕业于清华大学自动控制系,1982年初在上海交通大学获控制理论硕士学位,1989—90年在荷兰王国Eindhoven技术大学研修系统辨识、故障诊断;主持并完成国家自然科学基金、省部基金及科研项目近十项,发表论文50余篇,著作1本。现主要从事自动控制教学和计算机控制、计算机仿真、故障诊断等研究。 1989年在荷兰用MATLAB3.0研究系统辩识和故障诊断;1992年对MATLAB3.0实现汉化并编写了相应讲义;在1994、95年借助于MATLAB3.5、4.0先后完成国家自然科学基金和国家教委留学生基金课题研究;1996年在省基金支持下从事MATLAB4.2c建立仿真实验室的研究,并于1997年编写出版《掌握和精通MATLAB》;1997年底获原邮电部预研经费资助开始了以MATLAB5.x为工具的智能技术研究。

相关主题
文本预览
相关文档 最新文档