java面向对象程序设计实验 5建立图形用户界面
- 格式:doc
- 大小:91.00 KB
- 文档页数:12
java实验5图形⽤户界⾯设计试验常⽤布局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,将多个布局组合在⼀起使⽤5)、绝对布局 null: 以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);常⽤事件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){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->⾃动调⽤相应事件处理函数.实践编程1.在应⽤程序窗体中安排1个⽂本框,⼀个标签。
如何使用Java编写一个简单的形用户界面程序如何使用Java编写一个简单的图形用户界面程序Java是一种跨平台的编程语言,相比于其他编程语言,它具有良好的可移植性和强大的功能性。
在本文中,我们将探讨如何使用Java编写一个简单的图形用户界面(GUI)程序。
GUI程序是一种通过图形和图标来展示信息并接受用户输入的应用程序。
在Java中,我们可以使用Swing库来构建GUI程序。
下面是一个基本的步骤指导,帮助您编写一个简单的Java GUI程序。
步骤一:导入必要的库首先,您需要导入Swing库,以便您可以使用其中的类和方法来构建GUI界面。
您可以通过添加以下代码导入Swing库:```import javax.swing.*;```步骤二:创建界面主体接下来,您需要创建GUI界面的主体。
通常,一个GUI程序由一个顶级容器(如JFrame)和其中包含的其他组件组成。
以下是一个简单的示例代码,展示如何创建一个JFrame对象:```JFrame frame = new JFrame("简单GUI程序");```步骤三:设置界面大小和关闭操作在创建主体后,您需要设置界面的大小和默认的关闭操作行为。
以下代码演示如何设置界面的大小并定义当用户关闭界面时的操作:```frame.setSize(300, 200); // 设置界面的宽度和高度frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置默认关闭操作为退出程序```步骤四:向界面添加组件在创建和设置主体后,您可以向界面中添加各种组件,如按钮、标签、文本框等。
以按钮为例,以下代码演示如何创建一个按钮并将其添加到界面中:```JButton button = new JButton("点击我");frame.getContentPane().add(button); // 将按钮添加到界面的内容面板中```步骤五:显示界面完成了界面的创建和组件的添加后,最后一步是显示界面。
实验五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图形用户界面实验报告》
一、实验目的
本次实验旨在通过使用Java图形用户界面(GUI)工具,掌握Java程序设计的
基本原理和方法,加深对Java语言的理解和应用。
二、实验内容
1. 使用Java的Swing和AWT等图形用户界面工具,设计一个简单的窗口界面。
2. 在窗口中添加按钮、文本框、标签等组件,并实现相应的事件处理。
3. 编写Java代码,实现窗口界面的布局和交互功能。
三、实验步骤
1. 首先,创建一个新的Java项目,并新建一个窗口类。
2. 在窗口类中使用Swing和AWT工具,设计窗口界面,并添加所需的组件。
3. 编写事件处理方法,实现按钮点击、文本框输入等操作的响应。
4. 调试和运行程序,检查窗口界面的布局和功能是否符合预期。
四、实验结果
经过一系列的编码和调试,最终实现了一个简单的Java图形用户界面程序。
该
程序具有良好的界面布局和交互功能,用户可以通过按钮点击和文本框输入进
行相应的操作。
五、实验总结
通过本次实验,我深入理解了Java图形用户界面的设计原理和实现方法,掌握
了Swing和AWT等GUI工具的使用技巧。
在今后的学习和工作中,我将继续
加强对Java编程的实践,不断提升自己的技能水平,为今后的软件开发工作打
下坚实的基础。
Java程序设计中的图形界面制作案例图形界面(Graphical User Interface, GUI)在软件开发中扮演着至关重要的角色。
在Java程序设计中,使用GUI可以使程序更加直观、易用,并提供更好的用户交互体验。
本文将介绍几个Java程序设计中的图形界面制作案例,帮助读者更好地理解和掌握GUI的设计与开发。
一、登录界面案例登录界面是大多数应用程序的入口点,良好的登录界面设计能够提高用户的使用体验。
在Java中,可以使用Swing库来构建登录界面。
首先,需要导入Swing库,然后创建一个JFrame对象,并设置其标题、大小和关闭操作。
接着,创建一个JPanel对象,并添加各种Swing组件,如JLabel、JTextField、JPasswordField和JButton等。
通过设置布局管理器,可以对这些组件进行适当的排列。
在登录按钮的事件处理中,可以添加登录验证的逻辑,比如判断用户名和密码是否匹配。
如果验证成功,可以跳转到主界面;否则,弹出错误提示。
二、计算器案例计算器是常见的GUI应用程序之一,它能够实现简单的数学计算。
在Java中,可以使用AWT(Abstract Window Toolkit)或Swing来创建计算器界面。
这里以Swing为例。
首先,创建一个JFrame对象,并设置其标题、大小和关闭操作。
然后,创建一个JPanel对象,并设置其布局管理器为网格布局。
在这个JPanel对象中,可以添加各种按钮,比如数字按钮和运算符按钮。
为每个按钮注册事件监听器,以便捕获用户的点击事件。
在事件监听器的处理方法中,可以根据用户的点击进行相应的计算逻辑。
比如,当用户点击数字按钮时,可以将对应的数字添加到显示屏上;当用户点击运算符按钮时,可以进行相应的运算;当用户点击等号按钮时,可以输出结果。
三、图像处理案例图像处理是计算机图形学中的重要应用之一,在Java中也能实现简单的图像处理功能。
JavaSwing图形用户界面的设计与实现方法一、引言随着计算机技术的不断发展,图形用户界面(Graphical User Interface,GUI)在软件开发中扮演着越来越重要的角色。
作为用户与软件之间的沟通桥梁,GUI的设计与实现至关重要。
本文将介绍JavaSwing图形用户界面的设计与实现方法,帮助开发人员更好地利用JavaSwing创建出功能强大、用户友好的GUI界面。
二、Swing概述JavaSwing是Java提供的一套GUI组件库,它基于Java AWT (Abstract Window Toolkit)构建而成,相对于AWT,Swing提供了更加丰富的组件和更高的灵活性。
Swing拥有独立于平台的外观,通过Java代码实现GUI界面的构建和事件处理。
使用Swing可以快速实现各种界面风格,并且易于调整和扩展。
三、Swing组件的使用1. 容器类组件:容器类组件是其他组件的父容器,对应于应用程序的窗口或面板,常用的容器类组件有JFrame、JPanel、JDialog等。
通过创建容器类组件,可以将其他组件添加到容器中并管理和布局。
2. 基本组件:基本组件是构建GUI界面的基本元素,常用的基本组件有JButton、JLabel、JTextField等。
它们可以用于实现用户输入、数据展示、按钮点击等交互操作。
3. 高级组件:高级组件是Swing提供的一些特殊功能的组件,如JTable、JTree、JFileChooser等。
它们可以用于展示表格、树状结构、文件选择等复杂的用户交互功能。
四、事件处理为了响应用户的操作,GUI界面需要进行事件处理。
在JavaSwing中,事件处理分为两个阶段:事件生成和事件响应。
当用户与界面进行交互时,会生成相应的事件,如按钮点击、鼠标移动等。
开发人员需要实现事件的监听器,并在事件发生时触发相应的操作。
五、界面布局界面布局是指组件在容器中的排列方式。
在Swing中,界面布局主要通过布局管理器(Layout Manager)实现。
实验3 图形用户界面编程(设计性实验)一、实验目的1、熟悉Swing的基本组件,包括文本输入框、多行文本输入框、按钮、列表框等;2、熟悉常用的布局管理器3、了解GUI图像用户界面的设计方法4、掌握Java组件的事件处理机制5、熟悉基于内部类和匿名类的事件处理方式二、实验要求1、学生应做到独立上机操作2、编程前应将程序的设计构想完成,主要包括所要创建的类的结构及属性和行为。
3、上机输入和调试自己所编的程序,并存在自己的软盘上。
4、检查实验结果是否正确。
5、上机结束后,写出实验报告,要求附运行界面、源代码。
实验报告中应对实验结果进行分析,尤其是针对错误输出的分析。
三、实验内容1. 选做:编写程序,显示一个窗口,窗口中包含一个按钮。
当单击按钮时将弹出另一个窗口。
2. 编写一个简单的计算器程序,实现两个数相加。
在文本框输入两个实数,点击“相加”按钮实现两个实数相加,并在标签中显示相加结果。
点击“清除”完成对文本框和运行结果的清除。
四、实验代码及结果1、import javax.swing.*;import java.awt.event.*;import java.awt.*;public class TestFrame{public static void main(String args[]){JFrame f=new JFrame("Test");f.setSize(400,200);f.setLayout(new FlowLayout(FlowLayout.CENTER));f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JButton b=new JButton("确定");b.addActionListener(new ButtonHandler());f.add(b);f.setVisible(true);}}class ButtonHandler implements ActionListener{public void actionPerformed(ActionEvent e){JFrame fr=new JFrame("Hello");fr.setSize(200,100);fr.setVisible(true);}}import javax.swing.*;import java.awt.event.*;import java.awt.*;public class TestCalculator implements ActionListener{JFrame f;JTextField t1;JTextField t2;JTextField t3;JButton b1;JButton b2;public TestCalculator(){f=new JFrame("Calculate");f.setSize(400,200);f.setLayout(new GridLayout(2,3));f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);t1=new JTextField();t2=new JTextField();t3=new JTextField();b1=new JButton("add");b2=new JButton("clear");b1.addActionListener(this);b2.addActionListener(this);f.add(t1);f.add(t2);f.add(t3);f.add(b1);f.add(b2);f.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getSource()==b1){String s1=t1.getText();String s2=t2.getText();int a=Integer.valueOf(s1).intValue();int b=Integer.valueOf(s2).intValue();int c=a+b;t3.setText(Integer.toString(c));}else{t1.setText(" ");t2.setText(" ");t3.setText(" ");}}public static void main(String args[]){ TestCalculator test=new TestCalculator(); }}。
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); }}。