实验五 Java图形用户界面设计知识讲解

合集下载

实验五 Java的图形用户界面

实验五 Java的图形用户界面

实验五Java的图形用户界面
一、实验目的与要求
1.掌握AWT包中常用组件的使用方法。

2.熟悉布局管理器的适用场合,采用布局管理器进行界面的布局。

二、实验内容
1.程序改错
下列程序都有三个错误,按题中的要求,纠正错误并调试程序。

(1)问题描述:下面程序执行时会发生错误,请修改并调试程序。

程序的功能是在屏幕上输出如图5-9所示的图案,图案中每个方格大小是20*20像素。

2、P258实验五程序改错第一题。

3、编程题:设计一个Applet程序sy5_2.java,界面如图5-13所示,其中有两个按钮,当输入完姓名和密码内容后,按“确认”按钮出现图5-14所示界面,当按下“重新输入”按钮,又回到图5-13所示界面。

提示:用两个面板组件,第一个面板放3个标签和两个文本域,第二个面板放两个按钮。

图5-13
图5-14。

Java实验五

Java实验五
同样,javax.swing.JComponent 类是 Component 的子类,也是许多 Swing 包的父类,这就意 味着,Swing 包中的许多组件类也具有 paint()、update()和 repaint()这 3 种方法。JComponent 组件本身有一个方法 paintComponent(Graphics g),可以用来绘制 JComponent 组件的内容。 同样,程序员是不能直接调用 paintComponent()方法的,也不得不通过调用 repaint(Graphics g) 来实现间接调用 paintComponent()方法,从而达到对 JComponent 内容的绘制。 5.形状绘制的方法 通过 java.awt.Graphics,可以绘制各种形状包括线、矩形、多边形等。该类提供了非常丰富 的绘制图形方法,其中常用的方法有如下几种。 ◆abstract void drawLine(int xl, int yl, int x2, int y2):绘制从坐标(x1,y1)开始到(x2,y2)为止的直 线。 ◆void drawRect(int x, int y, int w, int h)和 abstract void fillRect(int x, int y, int w, int h):绘制从 坐标(x1,y1)开始到(x2,y2)为止的矩形。其中,drawRect()方法是绘制矩形边框,fillRect()方法 是用当前颜色填充矩形。 ◆abstract void drawRoundRect(int x, int y, int w, int h, int arcWidth, int arcHeight)和 abstract void fillRoundRect(int x, int y, int w, int h, int arcWidth, int arcHeight):如图所 示,绘制从坐标(x,y)开始,宽 w,高 h 的圆角矩形,其 中,arcWidth 和 arcHeight 是圆角弧的横向直径和纵向直 径 。 drawRoundRect() 方 法 是 绘 制 圆 角 形 的 边 框 , fillRoundRect()方法是用当前颜色填充圆角形。 ◆void draw3DRect(int x, int y, int w, int h, boolean raised)和 abstract void fill3DRect(int x, int y, int w, int h ,boolean raised):绘制从坐标(x,y)开始宽 w,高 h 的 3D 效果的矩形。如果 raised 为真,矩形具有凸出的效果;如果 raised 为假,矩形则具有凹下的效果。其中 draw3DRect() 方法是绘制矩形边框,fill3DRect()方法是用当前颜色填充矩形。

java图形用户界面实验报告

java图形用户界面实验报告

java图形用户界面实验报告Java图形用户界面实验报告一、引言图形用户界面(Graphical User Interface,简称GUI)是现代软件开发中不可或缺的一部分。

通过GUI,用户能够直观地与程序进行交互,提高了软件的易用性和用户体验。

本实验旨在通过使用Java编程语言,实现一个简单的GUI应用程序,并介绍相关的技术和方法。

二、实验目标本实验的目标是设计并实现一个简单的GUI应用程序,要求具备以下功能:1. 显示一个窗口,并在窗口中心显示一个标签;2. 在窗口中添加一个按钮,并实现按钮的点击事件;3. 当按钮被点击时,标签的文本发生变化。

三、实验过程1. 环境准备在开始实验之前,需要确保已经安装了Java开发环境(JDK)和集成开发环境(IDE),例如Eclipse或IntelliJ IDEA。

2. 创建GUI应用程序首先,创建一个Java项目,并创建一个名为"GUIApplication"的类。

在该类中,引入Java的GUI库,并继承JFrame类,实现一个窗口。

3. 设计窗口布局在窗口的构造方法中,设置窗口的标题、大小和关闭方式。

然后,创建一个JPanel对象,并将其添加到窗口中。

在JPanel中,使用布局管理器(例如FlowLayout或GridBagLayout)来安排组件的位置和大小。

4. 添加标签和按钮在JPanel中,创建一个JLabel对象,并设置其文本和位置。

然后,创建一个JButton对象,并设置其文本和点击事件。

在点击事件中,通过修改JLabel的文本来实现标签内容的变化。

5. 运行程序完成以上步骤后,编译并运行程序。

将会显示一个窗口,其中包含一个标签和一个按钮。

当按钮被点击时,标签的文本会发生变化。

四、实验结果经过以上步骤,成功实现了一个简单的GUI应用程序。

运行程序后,窗口显示如下图所示:(插入程序运行截图)在窗口中心显示了一个标签,标签的文本为"Hello, GUI!"。

Java应用开发与实践-图形用户界面设计

Java应用开发与实践-图形用户界面设计
.2.1 边界布局BorderLayout
边界布局把整个窗口分成了5个部分,上北、下南、左西 、右东,剩下的是中部。其中,北和南是整行,而中/西 /东都不是整列。一般只会出现2个或3个部分。组件放入 时需要指定放在哪个区域,默认放在中部。每个部分只 能存放一个组件,如果存放多个就会覆盖先前放置的组 件。如果想放多个组件,必须借助面板(JPanel)。组 件在边框布局中不保持原始大小,会充满整个区域。
7.3.3 面板
1. JPanel面板 创建及使用JPanel的步骤如下: 1) 声明并创建JPanel对象。 2) 将其它组件加入到JPanel对象。 3) 将JPanel对象加入到某个容器。
JPanel类的常用构造方法有: JPanel(),创建一个JPanel对象。 JPanel(LayoutManager layout),创建JPanel对象 时指定布局layout。
7.3 容器
7.3.2 JFrame窗体
JFrame窗体是一种容器,窗体是显示为具有标题栏的 独立窗口,窗体可以用鼠标来改变大小,用JFrame类 来定义。
JFrame 类允许程序员把其他组件添加到它里面,把它 们组织起来,并把它们呈现给用户。
JFrame表面上显得很简单,实际上它是 swing 包中 最复杂的组件。为了最大程度地简化组件,在独立于 操作系统的 swing 组件与实际运行这些组件的操作系 统之间,JFrame 起着桥梁的作用。
顶层容器:JFrame,JApplet,JDialog,JWindow 中间容器:JPanel,JScrollPane,JSplitPane,JToolBar 特殊容器:在GUI上起特殊作用的中间层,如
JinternalFrame,JlayeredPane,JrootPane。

JAVA教程 第五讲 AWT图形用户界面设计[多图]

JAVA教程 第五讲 AWT图形用户界面设计[多图]

JAVA教程第五讲 AWT图形用户界面设计[多图]/chengxukaifa/Java/202775.html5.1 用AWT生成图形化用户界面抽象窗口工具包AWT (Abstract Window Toolkit) 是API为Java程序提供的建立图形用户界面GUI (Graphics User Interface)工具集,AWT可用于Java的applet和applications中。

它支持图形用户界面编程的功能包括:用户界面组件;事件处理模型;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。

5.1.1 java.awt包java.awt包中提供了GUI设计所使用的类和接口,可从图5.1中看到主要类之间的关系。

java.awt包提供了基本的java程序的GUI设计工具。

主要包括下述三个概念:组件--Component容器--Container布局管理器--LayoutManager5.1.2 组件和容器Java的图形用户界面的最基本组成部分是组件(Component),组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。

组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。

类ponent是许多组件类的父类,Component类中封装了组件通用的方法和属性,如图形的组件对象、大小、显示位置、前景色和背景色、边界、可见性等,因此许多组件类也就继承了Component类的成员方法和成员变量,相应的成员方法包括:getComponentAt(int x, int y)getFont()getForeground()getName()getSize()paint(Graphics g)repaint()update()setVisible(boolean b)setSize(Dimension d)setName(String name)等容器(Container)也是一个类,实际上是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和容器。

java图形用户界面设计实验总结

java图形用户界面设计实验总结

Java图形用户界面设计实验总结1. 简介本文档是关于Java图形用户界面(GUI)设计实验的总结。

我们将对Java GUI 的基本概念和原理进行介绍,并提供一些实验总结和经验分享。

Java GUI是一种用于创建用户友好界面的技术,在开发各种应用程序时非常重要。

2. Java GUI的基本概念和原理2.1 Java GUI库Java提供了一些库来帮助开发人员创建GUI应用程序。

其中最常用的库是Java Swing和JavaFX。

Swing提供了一组类和方法,用于创建和管理各种GUI组件,例如按钮、文本框、标签等。

JavaFX是一个更现代化的GUI库,提供了更好的图形渲染和动画效果。

2.2 GUI组件Java GUI应用程序通常由一系列GUI组件组成。

最常见的GUI组件包括:•按钮(Button):用于触发各种操作;•标签(Label):用于展示文本信息;•文本框(TextField):用于输入文本;•列表框(ListBox):用于显示一个选项列表;•组合框(ComboBox):同时兼具列表框和文本框的功能;•复选框(CheckBox):用于选择一个或多个选项;•单选按钮(RadioButton):用于从一组选项中选择一个。

2.3 事件处理Java GUI应用程序通常需要对用户的操作做出响应。

为此,需要使用事件处理机制。

事件处理机制通常由两个主要部分组成:事件源和事件监听器。

事件源可以是任何GUI组件,例如按钮、文本框等。

事件监听器是一个类,用于响应和处理特定事件。

3. 实验总结和经验分享在完成Java GUI设计实验时,我得出了以下总结和经验分享:•熟悉GUI组件的使用:在开始实验之前,我花了一些时间学习和理解不同GUI组件的使用方法。

这让我能够更好地选择和使用适当的组件来实现我的GUI应用程序。

•构建用户友好的界面:一个好的GUI应用程序应该是用户友好的。

在实验中,我学会了如何通过合理的布局、适当的颜色和字体选择来创建一个用户友好的界面。

Java程序设计GUI 图形用户界面PPT 课件,Java学习和备课必备资料

Java程序设计GUI 图形用户界面PPT 课件,Java学习和备课必备资料
JLayeredPane和JRootPane。
7
9.1 Swing 简介
9.1.1 窗体组件 JFrame 9.1.2 对话框组件 JDialog 9.1.3 对话框组件 JOptionPane 9.1.4 中间容器 JPanel 与 JscrollPane 9.1.5 标签组件 JLabel 9.1.6 文本组件 JTextField 与JTextArea
5
✓Swing包在图形界面设计上比AWT更丰富,更美观。Swing 拥有4倍于AWT的用户界面组件。 ✓是AWT包基础上的扩展,在很多情况下在AWT包的部件前 加上字母J即为Swing组件的名称,如:JFrame、JApplet、 JButton等。 ✓Swing组件都是AWT的Container类的直接子类或间接子类 。
17
9.1.3 对话框组件 JOptionPane
使用上面介绍的 JDialog 可以制作消息提示对话框、确定取消对话框等常用的对话框,但相 对来说要花费一些心思才能做出来,而 JOptionPane 组件直接提供了创建上述几种常用的对 话框的方法,大大方便了编程。 1.showMessageDialog()的静态方法弹出消息对话框,显示一条消息并等待用户确定。常用 的重载方法如下。
4、设置窗体的位置。setLocationRelativeTo(Component c):设置 窗体的相对位置。如果参数为 null,则窗体在屏幕中居中对齐。
5、如果希望在关闭窗体后程序可以随之停止,需要调用方法 setDefaultClose Operation()并传入参数 JFrame.EXIT_ON_CLOSE, 这句代码设置了关闭窗体后会停止程序的运行。 此外还有其他 3 个参数,简述如下。
口");。 2)带参的构造方法:用一个字符串作为参数,此字符串将成为窗体的标题。

java实验报告5(图形用户界面)

java实验报告5(图形用户界面)

2012—2013学年第 1 学期合肥学院数理系实验报告课程名称:《面向对象程序设计》实验项目:图形用户界面实验类别:综合性□设计性√验证性□专业班级:10信息与计算科学班姓名:学号:实验地点:校内机房实验时间:2012.11.19 —2012.11.25指导教师:钱泽强成绩:一、实验目的掌握Java中图形界面设计的基本元素和方法,熟练使用常用组件设计图形界面,掌握布局管理器的使用,掌握事件的处理方法。

二、实验内容1、设计图形界面,掌握FlowLayout、BorderLayout、CardLayout、GridLayout布局管理器的使用,并掌握组件的精确定位方式;2、掌握事件处理的三种常见的实现方式:·通过主类创建监听器对象的实现方式;·通过自定义内部类创建监听器对象的实现方式;·在注册时通过匿名类直接创建监听器对象的实现方式。

3、设计图形用户界面的应用程序。

三、实验方案(程序设计说明)[题目1] 编写图形界面用户程序,采用事件处理的三种实现方法求一个数的平方。

1、在图形界面中提供“文本框、标签、按钮”,文本框用于输入数据,标签显示数据的平方,单击按钮可以实现求数据的平方;2、分别采用事件处理的三种方法实现。

[题目2] 编写图形界面用户程序,实现“幸运数”游戏。

要求如下:1、在图形界面用户程序中提供“按钮、标签”等组件;2、标签用于显示随机数,单击按钮可以改变随机数并实现对随机数的判断:若两数相等,则出现相等提示,否则出现不等提示。

四、实验程序和运行结果请附页记录正确的源程序五、实验总结六、教师评语及成绩1、求平方import javax.swing.*;import java.awt.*;import java.awt.event.*;//通过主类创建监听器对象class myFrame extends JFrame implements ActionListener{ JLabel l; JButton b; JTextField t;myFrame(JFrame f){ l=new JLabel("0"); b=new JButton("求平方"); t=new JTextField("0");f.setLayout(null);f.add(l); f.add(b); f.add(t);t.setBounds(1,1,60,20); b.setBounds(71,1,60,20); l.setBounds(141,1,60,20);b.addActionListener(this); }public void actionPerformed(ActionEvent e){ int x=Integer.parseInt(t.getText());int y=x*x; l.setText(Integer.toString(y)); }}//通过自定义内部类创建监听器对象class myFrame extends JFrame{ JLabel l; JButton b; JTextField t;myFrame(JFrame f){ l=new JLabel("0"); b=new JButton("求平方"); t=new JTextField("0");f.setLayout(null);f.add(l); f.add(b); f.add(t);t.setBounds(1,1,60,20); b.setBounds(71,1,60,20); l.setBounds(141,1,60,20); BHandler h=new BHandler();b.addActionListener(h); }private class BHandler implements ActionListener {public void actionPerformed(ActionEvent e){ int x=Integer.parseInt(t.getText());int y=x*x; l.setText(Integer.toString(y)); }}}//在注册时通过匿名类直接创建临听器对象class myFrame extends JFrame{ JLabel l; JButton b; JTextField t;myFrame(JFrame f){ l=new JLabel("0"); b=new JButton("求平方"); t=new JTextField("0");f.setLayout(null);f.add(l); f.add(b); f.add(t);t.setBounds(1,1,60,20); b.setBounds(71,1,60,20); l.setBounds(141,1,60,20);b.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){ int x=Integer.parseInt(t.getText());int y=x*x; l.setText(Integer.toString(y)); }});}}public class test {public static void main(String[] args) {JFrame jf=new JFrame("平方数"); jf.setBounds(100,100,400,300); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setVisible(true);myFrame myf=new myFrame(jf); }}2、幸运数import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.Random;class myJFrame extends JFrame implements ActionListener{ private JButton jb;private JLabel [] jl;public myJFrame(JFrame f){ f.setSize(300,300);f.setLayout(new FlowLayout());jl=new JLabel[3];for(int i=0; i<3; i++){ jl[i]=new JLabel("*");f.add(jl[i]); }jl[2].setText("试一试");jb=new JButton("开始");jb.addActionListener(this);f.add(jb);}public void actionPerformed(ActionEvent e){ Random x=new Random();Random y=new Random();jl[0].setText(Integer.toString(x.nextInt(10)));jl[1].setText(Integer.toString(x.nextInt(10)));if (jl[0].getText().equals(jl[1].getText()))jl[2].setText("恭喜您");elsejl[2].setText("再试试");}}public class test{public static void main(String[] args) {JFrame f=new JFrame("我的窗口");f.setBounds(100,100,400,300);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myJFrame m=new myJFrame(f); }}。

实验5_JAVA图形用户界面设计

实验5_JAVA图形用户界面设计
2. 编写一个程序,具有下图所示的界面:每当在右侧的选择框中选中一个人的名字,便在左 侧的文本区中显示此人的情况介绍;当按 Close 按钮时,则结束程序的运行(设计性实验)。
3. 编写一个程序,具有下图所示的界面:窗口的的布局为 BorderLayout,南边放置一个按钮 “修改字体”;中间放置一个文本区,如图(a)所示.点击 “修改字体”按钮,则弹出如图所示(b) 所示的自定义对话框,对话框的布局为 3 行 1 列的 GridLayout:第一行有两个单选按钮,第 2 行是两个多选按钮,第 3 行是“确定”按钮.若选中单选按钮、多选按钮后,点击“确定”按钮, 则把文本区中的字体修改为所设置的字体(设计性实验)。
import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;
public class buttonDir{ public static void main(String args[]){ Frame f = new Frame("BorderLayout"); f.setLayout(new BorderLayout()); f.add("North", new Button("North"));
9. 编写一个程序,具有下图所示的界面: 界面里有一组复选框和一个标签,复选框钮有"Chin", "Glasses", "Hair", "Teeth"共 4 项,当复选框选中的选项发生变换时,标签上显示的图像同时 发生变化,一共有 16 中组合情况(设计性实验)。
10. 编写一个程序,具有下图所示的界面.内容窗格中有三个文本框(文本框 1 和文本框 2 用于 输入操作数,文本框 3 用于显示运算结果,文本框 3 不可编辑)、一个下拉列表(由“+”“-” “*”“/”四项组成)和一个按钮(显示为“=”)组成.当用户输入的不是数字时,进行运算会 发生异常,应该捕捉到这些异常并给出警告(设计性实验)。

Java程序设计第13章-图形用户界面GUI讲课稿

Java程序设计第13章-图形用户界面GUI讲课稿
【例13.2】通过继承方式创建一个新窗口 Example13_02.java
13.2.2 窗口菜单
一个窗口菜单由多个组件共同构成。 1、JMenuBar类
JMenuBar(菜单条),用于创建一个菜单条。一个窗口中只能有一个 菜单条,并且只能添加到窗口顶端。
Frame添加JMenuBar的方法是: setJMenuBar(JMenuBar menubar)
13.1.2 Swing组件
Component Container
Window JComponen
t
Frame
Dialog
JFrame JDialog
JComponent部分类层次关系
JLabel
JList AbstractButton
JMenuBar JTable JPanel
JTextComponent JTree
参数orientation为JSplitPane.HORIZONTAL_SPLIT(水平分割)或 JSplitPane.VERTICAL_SPLIT(垂直分割),left为放在左边(或上边)的组件,right为放 在右边(或下边)的组件;参数c为true表示拆分线移动时组件跟着连续变化,为false则拆分 线停止移动组件再发生变化。
13.3.3 常用布局
每个容器使用布局管理器对存放其中的组建进行位置、大小的管理。 使用布局管理器后,组件在容器中的大小和位置完全由布局管理器控制 和管理,程序员不需要也不能再对组件的位置和大小进行控制。 每一种容器都有默认的布局管理器。 可以用setLayout()方法重新设置布局管理器。
3、JScrollPane
JScrollPane提供轻量级组件的 Scrollable 视图用于管理滚动条。 用于TextArea文本框中,它不支持 重量级组件。常用构造方法:

Java实验报告5-AWT和swing组件的功能

Java实验报告5-AWT和swing组件的功能

实验报告课程名称: Java语言程序设计院(系):管理学院专业班级:姓名:学号:指导教师:2013年6月9日《Java语言程序设计》上机实验报告序号实验五组号 1 成绩名称图形用户界面AWT/Swing组件学时 2评阅教师签名: 2013年月日一、实验目的1.熟悉Java AWT、swing组件的功能;2.掌握常用组件的事件接口;3.会应用AWT、swing组件进行应用程序设计。

二、实验内容AWT、swing组件应用程序设计设计(完成windows计算器两种以上的运算功能)。

三、实验硬件、软件环境1.PC计算机一台,配置为CPU为P42.8G,内存为512M,硬盘为80G;2.WindowsXP + JSDK1.6 + JCreatorV4。

四、实验算法设计在设计计算其界面的基础上,添加事件监视,对按钮进行各种操作。

五、程序设计/*** @(#)Calculator.java*** @author* @version 1.00 2013/6/9*/import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator extends JFrame{private final JTextField textField;private String num="0";private String operator="+";private String result="0";public static void main(String agrs[]){Calculator frame=new Calculator();frame.setVisible(true);}public Calculator(){super();setTitle("计算器");setResizable(false);setBounds(100,100,208,242);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JPanel viewPanel=new JPanel();add(viewPanel,BorderLayout.NORTH);textField=new JTextField();textField.setText(num);textField.setColumns(18);textField.setEditable(false);textField.setHorizontalAlignment(SwingConstants.RIGHT);viewPanel.add(textField);add(viewPanel,BorderLayout.NORTH);final JPanel clearButtonPanel=new JPanel();clearButtonPanel.setLayout(new GridLayout(1,3,5,5));add(clearButtonPanel,BorderLayout.CENTER);String[] clearButtonNames={"<-","CE","C"};for(int i=0;i<3;i++){final JButton button=new JButton(clearButtonNames[i]);button.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {JButton button=(JButton)e.getSource();String text=button.getText().trim();if(text.equals("<-")){int length=num.length();if(length==1)num="0";else num=num.substring(0,length-1);}else if(text.equals("CE")){num="0";}else{num="0";operator="+";result="0";}textField.setText(num);}});clearButtonPanel.add(button);};final JPanel inputButtonPanel=new JPanel();final GridLayout gridLayout=new GridLayout(4,0,10,10);inputButtonPanel.setLayout(gridLayout);add(inputButtonPanel,BorderLayout.SOUTH);String[][]inputButtonNames={{"1","2","3","+"},{"4","5","6","-"},{"7","8","9","*"},{".","0","=","/"} };for(int row=0;row<4;row++){for(int col=0;col<4;col++){final JButton button=new JButton(inputButtonNames[row][col]);button.setName(row+""+col);button.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){JButton button=(JButton)e.getSource();String name=button.getName();int row=Integer.valueOf(name.substring(0,1));int col=Integer.valueOf(name.substring(1,2));100if(col==3){count();textField.setText(result);operator=button.getText();}else if(row==3){if(col==0){if(num.indexOf(".")<0){num=num+button.getText();textField.setText(num);}}else if(col==1){if(num.indexOf(".")>0){num=num+button.getText();textField.setText(num);}else{if(!num.substring(0,1).equals("0")){num=num+button.getText();textField.setText(num);}}}else{count();textField.setText(result);operator="+";}}else{if(num.equals("0"))num=button.getText();else num=num+button.getText();textField.setText(num);}}void count(){float n=Float.valueOf(num);float r=Float.valueOf(result);if(r==0){result=num;num="0";}else{if(operator.equals("+")){r=r+n;}else if(operator.equals("-")){r=r-n;}else if(operator.equals("*")){r=r*n;}else {r=r/n;}num="0";result=r+"";}}});inputButtonPanel.add(button);}}}}六、程序测试记录及结果、运行说明七、实验总结系统的设计程序,完成程序前后关照,解决每个问题关键要求。

实验五Java图形用户界面设计

实验五Java图形用户界面设计
JOpti onPan e.showMessageDialog(this, "bt n
}
点击");
public static void main( Stri ng arg[]) { JFrame.setDefaultLookA ndFeelDecorated(true);// MyFrm frm = new MyFrm();
编程模板:
class MyFrm exte nds JFrameimplements ActionListenefJButton btn=new JButto n( "OK");
public MyFrm(){
btn.addActionListner(this);
}
public void action Performed(Acti on Eve nt e){
for ( int count = 0; count < n ames .len gth; coun t++ ) {
buttons] count ] = new JButton( names[ count ]);
container.add( buttons] count ]);
}
this.setSize( 300, 150 ); this.setVisible( true );
1、Swing示例
/*需要哪些组件,如何布局?*/
import java.awt.*;
import java.awt.eve nt.*;
import javax.swi ng.*;
public class MyFrm extends JFrame{〃从JFrame继承
/*声明界面需要使用的控件*/

Java图形用户界面设计(GUI),辽宁工程技术大学,理学院

Java图形用户界面设计(GUI),辽宁工程技术大学,理学院

辽宁工程技术大学上机实验报告实验内容:(1)设计一个简易计算器,在“操作数”标签右侧的两个文本框输入操作数,当单击“+,-,*,/”按钮时,对两个操作数进行运算并将结果填到“结果”标签右侧的文本框中。

具体程序如下:import java.awt.event.*;import javax.swing.*;class Compute extends JFrame{public Compute(){final String a,b;JFrame Compute = new JFrame("简单计算器");JLabel lb1 = new JLabel("操作数:");JLabel lb2 = new JLabel("操作数:");JLabel lb3 = new JLabel("结果:");final JTextField txt1 = new JTextField();a=txt1.getText();final JTextField txt2 = new JTextField();b=txt2.getText();final JTextField txt3 = new JTextField();JButton jb1 = new JButton("+");JButton jb2 = new JButton("-");JButton jb3 = new JButton("*");JButton jb4 = new JButton("/");JButton jb5 = new JButton("清除");Compute.setBounds(100,100,480,215);Compute.setVisible(true);Compute.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Compute.setLayout(null);Compute.add(lb1);Compute.add(lb2);Compute.add(lb3);Compute.add(txt1);Compute.add(txt2);Compute.add(txt3);Compute.add(jb1);Compute.add(jb2);Compute.add(jb3);Compute.add(jb4);Compute.add(jb5);lb1.setBounds(50,40,100,20);lb2.setBounds(50,80,100,20);lb3.setBounds(50,120,100,20);txt1.setBounds(100,40,150,20);txt2.setBounds(100,80,150,20);txt3.setBounds(100,120,150,20);jb1.setBounds(300,30,50,20);jb2.setBounds(300,60,50,20);jb3.setBounds(300,90,50,20);jb4.setBounds(300,120,50,20);jb5.setBounds(375,70,70,30);jb1.addMouseListener(new MouseListener(){public void mouseClicked(MouseEvent e) {double x=Double.valueOf(txt1.getText());double y=Double.valueOf(txt2.getText());txt3.setText(Double.toString(x+y));}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {} });jb2.addMouseListener(new MouseListener(){public void mouseClicked(MouseEvent e) {Double x=Double.valueOf(txt1.getText());Double y=Double.valueOf(txt2.getText());txt3.setText(Double.toString(x-y));}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}});jb3.addMouseListener(new MouseListener(){public void mouseClicked(MouseEvent e) {Double x=Double.valueOf(txt1.getText());Double y=Double.valueOf(txt2.getText());txt3.setText(Double.toString(x*y));}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}});jb4.addMouseListener(new MouseListener(){public void mouseClicked(MouseEvent e) {Double x=Double.valueOf(txt1.getText());Double y=Double.valueOf(txt2.getText());txt3.setText(Double.toString(x/y));}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}});jb5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0){txt1.setText("");txt2.setText("");txt3.setText("");txt1.requestFocus();}});}public static void main(String args[]){Compute cp=new Compute();}}运行结果如下:如图所示3.2*4.6=7.8如图所示22.4/6.2=3.612903225806451(2)编写文本移动程序,窗口中有两个文本区和两个按钮,文本区分别位于窗口的左边和右边区域,2个按钮位于窗口的中间区域,当单击“→”按钮时,将左边文本区选中的内容添加到右侧的文本区的末尾。

了解Java系统图形用户界面的工作原理和界面设计步骤

了解Java系统图形用户界面的工作原理和界面设计步骤
f.add("West",button2);
f.add("Center",button3);
f.add("East",button4);
f.add("South",button5);
f.setSize(100,100);
f.setVisible(true);
}
}
结果:如图(2)
图(2)
3.编写一个Java Application程序,该程序运行的运行结果如下所示。
f.add(button1);
f.add(button2);
f.add(button3);
f.add(button4);
f.add(button5);
f.add(button6);
f.setSize(100,100);
f.setVisible(true);
结果:如图(3)
图(3)
4.编写一个Java Application程序,该程序运行的运行结果如下所示。
程序:
public static void main(String[] args) {
Frame f = new Frame("GridLayout Example");
Button button1 = new Button("b1");
Button button2 = new Button("b2");
m21.addActionListener(this);
m2.add(m21);
JMenu m22 = new JMenu("进制");
m22.addActionListener(this);

JAVA图形用户界面的设计与实现PPT课件

JAVA图形用户界面的设计与实现PPT课件

Applet Frame Dialog FileDialog
容器
组件名
26
Component 类的常用方法 public void add (PopupMenu popup):在组件上加上一个弹出菜单。 public Color getBackground ( ): 获得组件的背景色。 public Font getFont ( ):获得组件使用的字体。 public Color getForeground ( ):获得组件的前景色。 public Graphics getGraphics( ):获得绘图用的 Graphics 对象。 public void repaint ( int x, int y, int width, int height ):以指点的坐标点
只能用做容器组件加入其他容器。 3)通常用于层次化界面组件管理。
P260:例 7-20 TestPanel . java
❖ 例子:ch7\src\MyFrame.java
6
组件
组件:图形用户界面的最小单元,用来完成与用户的交互;
用户界面标准化的结果,例如:标签、文本框、按钮、菜单 等。
使用组件的步骤: 1)创建组件类的对象,指定其属性; 2)使用某种布局策略; 3)将组件对象注册给对应的事件监听器,覆盖事件处理方
Java 支持的图像文件格式包括bmp,gif,jpeg 等。
16
二、绘制图像:
drawImage( Image img, int x, int y, ImageObserver observer ) 有4个 参数:图像的 Image 对象,显示图像的左 上角 x、y 坐标,显示图像的容器对象。如:
来接收和处理这种事件。 ❖ 如果一个事件源注册了对应的监听者,那么

java图形用户界面设计

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、图8-3和图8-4所示,请将程序中的代码1~代码7补充完整。

图8-1 运行结果,输入正确信息图8-2 显示欢迎信息图8-3 运行结果,输入错误信息图8-4 显示重新输入信息程序清单://PasswordVerification.javaimport javax.swing.*;import java.awt.event.*;import java.awt.*;public class PasswordV erification extends JFrame{JLabel userLabel;JLabel passwordLabel;JTextField userText;JPasswordField passwordText;int count=1;//统计输入信息的次数public PasswordVerification(){super("请输入信息");Container c =代码1;//得到容器对象containerc.setLayout(new FlowLayout());//设置默认布局userLabel=代码2//创建用户标签passwordLabel=代码3;//创建密码标签userText=代码4//创建用户文本输入框passwordText=代码5//创建密码输入文本框passwordText. 代码6(new ActionListener(){ //注册事件监听者public void actionPerformed(代码7)//事件处理{String userName=new String("三");//假设为正确的用户名String password=new String("12345678");//假设为正确的密码if(e.getSource()==passwordText){count++;char[] passwords=passwordText.getPassword();if(userText.getText().equals(userName)&&password.equals(new String(passwords))){JOptionPane.showMessageDialog(null,"欢迎您:"+userName);System.exit(0);}else if(count>3)System.exit(0);else {JOptionPane.showMessageDialog(null,userText.getText()+"请输入正确信息");}}}});c.add(userLabel);c.add(userText);c.add(passwordLabel);c.add(passwordText);setSize(240,100);setVisible(true);}public static void main(String[] args){PasswordVerification pv=new PasswordV erification();pv.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}五、实验数据及处理import javax.swing.*;import java.awt.event.*;import java.awt.*;public class PasswordVerification extends JFrame{JLabel userLabel;JLabel passwordLabel;JTextField userText;JPasswordField passwordText;int count=1;//统计输入信息的次数public PasswordVerification(){super("请输入信息");Container c =getContentPane();//得到容器对象containerc.setLayout(new FlowLayout());//设置默认布局userLabel=new JLabel("用户:");//创建用户标签passwordLabel=new JLabel("密码:");//创建密码标签userText=new JTextField(5);//创建用户文本输入框passwordText=new JPasswordField(5);//创建密码输入文本框 passwordText.addActionListener(new ActionListener() { //注册事件监听者public void actionPerformed( ActionEvent e) //事件处理{String userName=new String("三");//假设为正确的用户名String password=new String("12345678");//假设为正确的密码 if(e.getSource()==passwordText){count++;char[] passwords=passwordText.getPassword();if(userText.getText().equals(userName)&&password.equals(new String(passwords))){JOptionPane.showMessageDialog(null,"欢迎您:"+userName);System.exit(0);}else if(count>3)System.exit(0);else {JOptionPane.showMessageDialog(null,userText.getText()+"请输入正确信息");}}}});c.add(userLabel);c.add(userText);c.add(passwordLabel);c.add(passwordText);setSize(240,100);setVisible(true);}public static void main(String[] args){PasswordVerification pv=new PasswordVerification();pv.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}运行结果:思考:(1)程序PasswordVerification.java中第3行语句java.awt.*的作用是什么?答:添加容器类。

JAVA图形用户界面实验教程

JAVA图形用户界面实验教程

实验五图形用户界面实验目的1.了解图形用户界面的概念;2.了解AW T和Sw in g的基本体系结构;3.掌握几种布局管理器的使用方法;4.掌握Ja v a的事件处理机制;5.掌握图形用户界面的构建。

实验要求1.掌握在容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。

2.理解Ja va 的事件处理机制,掌握为不同组件编写事件处理程序的方法。

3.掌握编写独立运行的窗口界面的方法。

4.了解Ja va S wi ng 组件的使用方法。

5.了解对话框的使用方法。

6.熟练使用图形类Gr a ph ic s。

实验内容(一)建立独立运行的窗口界面并使用匿名类最常使用的包含组件的容器是窗口,在Ja va 中窗口由F r am e 类生成。

编写SY5_1.ja v a程序文件,程序功能:创建一个具有关闭功能的空白窗口。

源代码如下:i m po rt j av a.aw t.*;i m po rt j av a.aw t.e v en t.*;p u bl ic c la ss S Y5_1{S Y5_1(){F r am e f=ne w Fr ame("初始窗口");f.se tS iz e(350,200);f.se tV is ib le(t rue);//为窗口添加窗口事件适配器f.ad dW in do wL is ten e r(ne w Wi nd ow Ada p te r() {//关闭窗口事件的方法p u bl ic v oi d wi ndo w Cl os in g(Wi nd owE v en t e){S y st em.e xi t(0);}};}p u bl ic s ta ti c voi d m ai n(St ri ng[] a rg s) {n e w SY5_1();}}编译并运行程序(二)创建图形用户界面图形用户界面(G UI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。

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

实验五J a v a图形用户界面设计§5 Java 图形用户界面设计§5.1实验目的、内容及性质掌握 Java 的 GUI 设计技术,掌握 AWT 和 Swing 的应用技巧。

实验性质:验证、必做实验学时:2学时§5.2问题及思考1、最常见的AWT以及Swing控件用法。

2、几个常见布局总结3、区分容器控件和一般非容器控件4、Java事件几种关键组成部分以及事件处理流程§5.3实验指导1、Swing示例2、常用布局1)、流布局:FlowLayout 从左到右,自上而下方式在容器中排列,控件的大小不会随容器大小变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、网格布局:GridLayout 按照指定行数与列数,将容器分成大小相等的单元格每个单元格放置一个控件. 不能将控件放在指定单元格容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局:BorderLayout 将容器分成东、西、南、北、中五个部分容器.setLayout(new BorderLayout());窗口的内容面板默认布局就是边界布局。

容器.add(控件,BorderLayout.NORTH);4)、混合布局:使用JPanel,将多个布局组合在一起使用JPanel jp=(JPanel)this.getContentPane();for(int i=0;i<btn.length;i++)btn[i]=new JButton("btn"+i);JPanel jp1=new JPanel();//默认布局为FlowLayoutjp1.setLayout(new GridLayout(2,2));for(int i=0;i<4;i++)jp1.add(btn[i]);JPanel jp2=new JPanel();//默认布局为FlowLayoutfor(int i=0;i<4;i++)jp2.add(btn[i+4]);5)、绝对布局 null:以坐标定位容器.setLayout(null);每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);3、Swing示例Grid布局4、常用事件基本组成:1)、事件源 EventSource:能够触发事件控件如:JButton,JTextField,JFrame, JComboBox,....2)、事件 Event:ActionEvent,KeyEvent,WindowEvent,TextEvent,...3)、事件侦听者Listener(接口)ActionListener,WindowListener,...class A implements ActionListener{public void actionPerformed(ActionEvent e){....}}A lis=new A();4)、事件处理函数public void actionPerformed(ActionEvent e){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->自动调用相应事件处理函数.编程模板:class MyFrm extends JFrame implements ActionListener{JButton btn=new JButton("OK");...public MyFrm(){...btn.addActionListner(this);...}public void actionPerformed(ActionEvent e){....if(e.getSource()==btn){}}}Java事件处理示例:import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrm extends JFrame implements ActionListene r{ /* 界面中需要的组件作为属性声明 */JTextField txt = new JTextField(10);JLabel lbl = new JLabel("姓名");JButton btn = new JButton("查询");/* 组件在构造函数中放置在窗体JFrame上 */public MyFrm() {/* 获取JFrame的内容面板ContentPane,控件放在该面板上 */JPanel jp = (JPanel) this.getContentPane();/* 设置面板布局Layout,如何放? */jp.setLayout(new FlowLayout());jp.add(lbl);jp.add(txt);jp.add(btn);/* 为事件源加一个侦听者*/btn.addActionListener(this);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}/* 事件处理方法*/public void actionPerformed(ActionEvent e){JOptionPane.showMessageDialog(this, "btn点击");}public static void main(String arg[]) {JFrame.setDefaultLookAndFeelDecorated(true);// 设置纯Java样式MyFrm frm = new MyFrm();frm.setSize(400, 300);frm.setVisible(true);}}注意:在做下列题目前仔细阅读第一个示例,彻底弄懂Swing界面设计§5.4实践编程1、调试运行Swing示例2、调试运行Java事件处理示例3、依据题1、2,编写如下界面当用户点击”Click Me”按钮,显示消息对话框,消息为” Click Me 按钮被点击”。

package Ex5_3;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrm extends JFrame implements ActionListener{ JButton btn=new JButton("Click Me");public MyFrm(){JPanel jp=(JPanel)this.getContentPane();jp.setLayout(new FlowLayout());jp.add(btn);btn.addActionListener(this);this.setTitle("Action Event");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void actionPerformed(ActionEvent e){JOptionPane.showMessageDialog(this,"Click Me 按钮被点击");}}package Ex5_3;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Test {public static void main(String[]args) {MyFrm frm = new MyFrm();frm.setSize(400, 300);frm.setVisible(true);}}4、编写一个程序实现用户登录界面当用户登录按下确定键,判断用户是否录入了用户名与密码,如果没有按或用户名不为admin 密码不为 1234 都需要提示错误。

package Ex5_4;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrm extends JFrame implements ActionListener{ JLabel lbl_name =new JLabel("用户名");JLabel lbl_pwd =new JLabel("密码");JTextField txt_name=new JTextField();JPasswordField txt_pwd=new JPasswordField();JButton btn_OK=new JButton("登陆");JButton btn_Cancel=new JButton("取消");public MyFrm(){JPanel jp=(JPanel)this.getContentPane();jp.setLayout(new GridLayout(3,2,10,5));jp.add(lbl_name);jp.add(txt_name);jp.add(lbl_pwd);jp.add(txt_pwd);jp.add(btn_OK);jp.add(btn_Cancel);this.setTitle("登陆");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btn_OK.addActionListener(this);}public void actionPerformed(ActionEvent e){String uname=txt_name.getText();String upwd=txt_pwd.getText();if(uname.equals("")||upwd.equals(""))JOptionPane.showMessageDialog(this, "用户名或密码未输入!");elseif(!uname.equals("admin")||!upwd.equals("1234"))JOptionPane.showMessageDialog(this, "用户名或密码输入错误!");else JOptionPane.showMessageDialog(this, "用户名或密码输入正确!");}}package Ex5_4;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Test {public static voidmain(String[] args) {JFrame.setDefaultLookAndFeelDecorated(true);MyFrm frm=new MyFrm();frm.setSize(400,200);frm.setVisible(true);}}5、利用合适的布局和Swing控件完成下题按照界面使用相应控件与合适的布局完成下题,要求按生成随机数按纽产生三个随机整数0到100之间,按计算平均数按纽计算平均值,如图所示,初始界面参考:int x=(Math.random()*41+60); 产生随机数txt1.setText(x+””);将随机数赋予文本框txt1package Ex5_5;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrm extends JFrame implements ActionListener{ JLabel lbl =new JLabel("随机数字一");JLabel lb2 =new JLabel("随机数字二");JLabel lb3 =new JLabel("随机数字三");JLabel lb4 =new JLabel("三数平均值");JTextField txt1=new JTextField();JTextField txt2=new JTextField();JTextField txt3=new JTextField();JTextField txt4=new JTextField();JButton btn_start=new JButton("生成随机数");JButton btn_average=new JButton("计算平均数");public MyFrm(){JPanel jp=(JPanel)this.getContentPane();jp.setLayout(new GridLayout(5,2,10,5));jp.add(lbl);jp.add(txt1);jp.add(lb2);jp.add(txt2);jp.add(lb3);jp.add(txt3);jp.add(lb4);jp.add(txt4);jp.add(btn_start);jp.add(btn_average);this.setTitle("三个随机数字");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btn_start.addActionListener(this);btn_average.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==btn_start){int x=(int)(Math.random()*41+60);txt1.setText(x+"");int y=(int)(Math.random()*41+60);txt2.setText(y+"");int z=(int)(Math.random()*41+60);txt3.setText(z+"");}if(e.getSource()==btn_average){double x=Double.valueOf(txt1.getText());double y=Double.valueOf(txt2.getText());double z=Double.valueOf(txt3.getText());doublet=(x+y+z)/3;txt4.setText(t+"");}}}package Ex5_5;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Test {public static void main(String[] args) {MyFrm frm=new MyFrm();frm.setSize(400,200);frm.setVisible(true);}}6.编写程序实现如下界面,实现事件如果按下座位i 就在控制台中显示“座位i 被选中”例如按下“座位0“,则输出座位0被选中”package Ex5_6;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrm extends JFrame implements ActionListener{ JButton btn0=new JButton("讲台");JButton btn1=new JButton("座位1");JButton btn2=new JButton("座位2");JButton btn3=new JButton("座位3");JButton btn4=new JButton("座位4");JButton btn5=new JButton("座位5");JButton btn6=new JButton("座位6");public MyFrm(){JPaneljp=(JPanel)this.getContentPane();JPanel jp1=new JPanel();jp1.setLayout(new GridLayout());jp1.add(btn0);jp.add(jp1,BorderLayout.NORTH);JPanel jp2=new JPanel();jp2.setLayout(new GridLayout(2,3));jp2.add(btn1);jp2.add(btn2);jp2.add(btn3);jp2.add(btn4);jp2.add(btn5);jp2.add(btn6);jp.add(jp2,BorderLayout.CENTER);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btn1.addActionListener(this);btn2.addActionListener(this);btn3.addActionListener(this);btn4.addActionListener(this);btn5.addActionListener(this);btn6.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==btn1)System.out.println("座位1被选中");if(e.getSource()==btn2)System.out.println("座位2被选中");if(e.getSource()==btn3)System.out.println("座位3被选中");if(e.getSource()==btn4)System.out.println("座位4被选中");if(e.getSource()==btn5)System.out.println("座位5被选中");if(e.getSource()==btn6)System.out.println("座位6被选中");}public static void main(String[] args) {MyFrm frm=new MyFrm();frm.setSize(1000,500);frm.setVisible(true);}}7 完成以下窗体制作参考:这一题考虑使用组合布局,将上面控件放置在 JPanel上,再将JPanel 放到内容面板的中间。

相关文档
最新文档