实验7 图形用户界面之swing组件的使用_实验报告
- 格式:doc
- 大小:54.50 KB
- 文档页数:5
辽宁工程技术大学上机实验报告实验要求:(1)组件在窗口中的位置尽量按要求摆放。
(2)响应窗口的环比事件。
(3)实验四不需要写在报告上。
实验内容:(1)设计一个简易计算器,在“操作数”标签右侧的两个文本框输入操作数,当单击“+,-,*,/”按钮时,对两个操作数进行运算并将结果填到“结果”标签右侧的文本框中。
程序:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.text.DecimalFormat;import javax.swing.*;import javax.swing.border.LineBorder;import javax.swing.text.JTextComponent;class MyApp extends JFrame{JTextField b1=new JTextField("0",12);JTextField b2=new JTextField("0",12);JTextField b3=new JTextField("0",12);JTextField b4=new JTextField("0",12);MyApp(){super("简易计算器");Container c=getContentPane();c.setLayout(new FlowLayout());JPanel a1 =new JPanel(new FlowLayout());JPanel a2 =new JPanel(new FlowLayout());JPanel a3 =new JPanel(new FlowLayout());JPanel a4 =new JPanel(new FlowLayout());JPanel a5 =new JPanel(new FlowLayout());JLabel jb1 =new JLabel("数字一:");JLabel jb2 =new JLabel("数字二:");JLabel jb3 =new JLabel("操作:");JLabel jb4 =new JLabel("结果:");JButton c1=new JButton("+");JButton c2=new JButton("-");JButton c3=new JButton("*");JButton c4=new JButton("/");JButton c5=new JButton("重置");a1.add(jb1); a1.add(b1);a2.add(jb2); a2.add(b2);a3.add(jb3); a3.add(c1); a3.add(c2); a3.add(c3); a3.add(c4);a4.add(jb4); a4.add(b4);a5.add(c5);c.add(a1);c.add(a2);c.add(a3);c.add(a4);c.add(a5);c1.addActionListener(new ActionListener(){ p ublic void actionPerformed(ActionEvent e){ E1(e);}});c2.addActionListener(new ActionListener(){ p ublic void actionPerformed(ActionEvent e){ E2(e);}});c3.addActionListener(new ActionListener(){ p ublic void actionPerformed(ActionEvent e){ E3(e);}});c4.addActionListener(new ActionListener(){ p ublic void actionPerformed(ActionEvent e){ E4(e);}});c5.addActionListener(new ActionListener(){ p ublic void actionPerformed(ActionEvent e){ E5(e);}});setSize(270,250);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}protected void E1(ActionEvent e){double z1=Double.parseDouble(b1.getText());double z2=Double.parseDouble(b2.getText());DecimalFormat f1=new DecimalFormat("#.000");String s1=f1.format(z1+z2);b4.setText(s1);}protected void E2(ActionEvent e){double z1=Double.parseDouble(b1.getText());double z2=Double.parseDouble(b2.getText());DecimalFormat f1=new DecimalFormat("#.000");String s1=f1.format(z1-z2);b4.setText(s1);}protected void E3(ActionEvent e){double z1=Double.parseDouble(b1.getText());double z2=Double.parseDouble(b2.getText());DecimalFormat f1=new DecimalFormat("#.000");String s1=f1.format(z1*z2);b4.setText(s1);}protected void E4(ActionEvent e){double z1=Double.parseDouble(b1.getText());double z2=Double.parseDouble(b2.getText());DecimalFormat f1=new DecimalFormat("#.000");if(z2!=0){String s1=f1.format(z1/z2);b4.setText(s1);}else{b4.setText("Error!");}}protected void E5(ActionEvent e){b1.setText("0");b2.setText("0");b4.setText("0");}public static void main(String args[]){new MyApp();}}结果:(加法)(2)编写文本移动程序,窗口中有两个文本区和两个按钮,文本区分别位于窗口的左边和右边区域,2个按钮位于窗口的中间区域,当单击“→”按钮时,将左边文本区选中的内容添加到右侧的文本区的末尾。
(总结)Swing组件的使用Swing 的组件与AWT 组件相似,但又为每一个组件增添了新的方法,并提供了更多的高级组件.Swing 的基本组件:1.按钮(JButton):Swing 中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可以将多个图像指定给一个按钮。
(1).JButton 常用的构造方法。
JButton(String text):按钮上显示字符。
JButton(Icon icon) :按钮上显示图标。
JButton(String text, Icon icon):按钮上既显示图标又显示字符。
(2).常用方法:b1.setEnabled(false); //使按钮当前不可用b1.setToolTipText("..."): //设置按钮提示文本b1.setMnemonic(KeyEvent.VK_D);// 将b1邦定alt+D键(3).案例代码:[java] view plain copy print?public class JButtonExample3 extends JPanel implements ActionListener{ protected JButton b1, b2, b3; public JButtonExample3() { ImageIconleftButtonIcon = createImageIcon("right.gif");ImageIcon middleButtonIcon =createImageIcon("middle.gif"); ImageIcon rightButtonIcon = createImageIcon("left.gif");b1 = new JButton("失效中间按钮(D)", leftButtonIcon);b1.setVerticalTextPosition(AbstractButton.CENTER);// 水平中间对齐b1.setHorizontalTextPosition(AbstractButton.LEADING);// 相当于LEFTb1.setMnemonic(KeyEvent.VK_D);// 将b1邦定alt+D键b1.setActionCommand("disable");b2 = new JButton("M中间按钮", middleButtonIcon);b2.setVerticalTextPosition(AbstractButton.BOTTOM);b2.setHorizontalTextPosition(AbstractButton.CENTER);b2.setMnemonic(KeyEvent.VK_M);// 将b2邦定alt+M键b3 = new JButton("E激活中间按钮", rightButtonIcon);b3.setMnemonic(KeyEvent.VK_E);// 将b3邦定alt+E键b3.setActionCommand("enable");b3.setEnabled(false); // 给1和3添加事件监听b1.addActionListener(this);b3.addActionListener(this); // 设置按钮提示文本b1.setToolTipText("点击这个按钮,将使中间的按钮失效!"); b2.setToolTipText("点击这个按钮,没有任何的事件发生!");b3.setToolTipText("点击这个按钮,将使中间的按钮有效"); // 将按钮添加到JPanel中add(b1);add(b2); add(b3); } public void actionPerformed(ActionEvent e) { if ("disable".equals(e.getActionCommand())){ b2.setEnabled(false);b1.setEnabled(false);b3.setEnabled(true); } else{ b2.setEnabled(true);b1.setEnabled(true);b3.setEnabled(false); } }protected static ImageIcon createImageIcon(String path) { .URL imgURL =JButtonExample3.class.getResource(path); if (imgURL != null) { return newImageIcon(imgURL); } else{ System.err.printl n("Couldn′t find file: " + path); return null; } } public static void main(String[] args) { // 设置使用新的swing界面//提供一个关于新创建的JFrame 是否应该具有当前外观为其提供的Window 装饰(如边框、关闭窗口的小部件、标题等等)的提示。
图形界面(GUI)程序设计一、课题内容和要求内容:设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。
要求:学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法。
通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。
二、设计思路分析class RMBtoDollar:主类,调用主函数。
class change:设置界面,并通过界面上的事件触发实现汇率转换。
三、概要设计public class RMBtoDollar{public static void main(String[] args);}class change extends JFrame implements MouseListener { JLabel l1, l2,l3;JTextField tf1, tf2;JButton b;double RMB, Dollar;public change();public void mousePressed(MouseEvent e);public void mouseClicked(MouseEvent e);public void mouseEntered(MouseEvent e);public void mouseExited(MouseEvent e);public void mouseReleaseed(MouseEvent e);//鼠标释放时进行转换}四、详细设计import java.awt.*;import java.awt.event.*;import javax.swing.*;public class RMBtoDollar {public static void main(String[] args) {new change();}}class change extends JFrame implements MouseListener { JLabel l1, l2,l3;JTextField tf1, tf2;JButton b;double RMB, Dollar;public change() {//添加组件和设置布局l1 = new JLabel("人民币/元:");l2 = new JLabel("美元/dollar:");l3=new JLabel("(汇率:6.17)");tf1 = new JTextField(12);tf2 = new JTextField(12);b = new JButton("转换");add(l1);add(tf1);add(l2);add(tf2);add(l3);add(b);setLayout(new FlowLayout(FlowLayout.CENTER));setTitle("人民币转换为美元");setBounds(300, 300, 300, 150);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);b.addMouseListener(this);//鼠标事件监视器}public void mousePressed(MouseEvent e) {if (tf2.getText() != null) {// tf2 test 默认初始设为空tf2.setText("");}}public void mouseClicked(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseReleased(MouseEvent e) {if (tf1.getText() != null) {// 检查tf1 test 是否为空try {// 取异常RMB = Double.parseDouble(tf1.getText());// 字符转为double型Dollar = RMB / 6.17;//转换tf2.setText("" + Dollar);// 显示} catch (Exception ex) {tf1.setText("");// 如果输入不是数字,设为空}}}}五、测试数据及其结果分析1正常输入:2输入字符串不能转为double型时清空输入框:3结果:输出正常。
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编程的实践,不断提升自己的技能水平,为今后的软件开发工作打
下坚实的基础。
一、实验目的1、掌握Java图形界面程序设计的基本思想和步骤。
2、掌握AWT包和Swing包的基本使用方法和区别。
3、掌握容器和布局的概念和使用。
4、掌握图形界面程序的事件处理机制。
二、实验内容及步骤1、界面设计任务一:容器JFrame的使用写窗体源代码源代码:package t1;import javax.swing.JFrame;import java.awt.Color;import javax.swing.JButton;public class FirstWindow extends JFrame{public static final int WIDTH= 300;public static final int HEIGHT= 200;public FirstWindow(){super();setSize WIDTH, HEIGHT);setTitle"First Window Class");this.getContentPane().setBackground(Color.red);setDefaultCloseOperation(JFrame DO_^OTHI^G_O^_C£OSE);}public static void main(String args[]) { FirstWindow win1=new FirstWindow(); winl.setVisible(true);win1.setDefaultCloseOperation(EXIT_ON_ CLOSE);}}写应用程序创建FirstWindow窗体对象,并使其显示。
运行结果:(ij l2_i l-irst Window Class 一□任务二:布局管理器LayoutManager(l)FlowLayout布局管理器①FlowLayout布局管理器的简单应用实例,代码如下: 源代码:package t2;import java.awt.*;import javax.swing.*;public class TestFlowLayout {public static void main(String args[]){JFrame f= new JFrame();f.setLayout(new FlowLayout());//设置为FlowLayout 布局Button b1=new Button("OK");Button b2=new Button("Open");Button b3=new Button("Close");f.add(b1);//添加按钮b1f.add(b2);//添加按钮b2f.add(b3);//添加按钮b3f.setSize(300,100);f.setVisible(true); )private static void setLayout(FlowLayout flowLayout) { // TODO Auto-generated method stub))②编译运行程序,查看结果。
Java图形用户界面(GUI)编程Swing和AWT库的使用在编程领域,图形用户界面(Graphical User Interface,简称GUI)是一种通过图形、图像和图标等可视化元素与用户进行交互的界面形式。
Java作为一种跨平台的编程语言,提供了多种库和框架来实现GUI编程的需求。
其中,Swing和AWT是两个常用的Java GUI库,它们提供了丰富的组件和功能来创建用户友好的界面。
本文将重点介绍Java Swing和AWT库的使用,帮助读者了解和掌握这两个库的基本用法。
一、Swing库的使用Swing库是Java提供的一个基于AWT库的GUI工具包,它提供了丰富的组件和功能来创建交互式的图形界面。
下面将介绍几个常用的Swing组件及其使用方法。
1. JFrame窗口JFrame是Swing中最基本的容器,它代表了一个窗口。
我们可以使用JFrame类创建一个窗口,并在其中添加其他的组件。
以下是一个示例代码:```javaimport javax.swing.*;public class MyFrame extends JFrame {public MyFrame() {setTitle("My Frame");setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {new MyFrame();}});}```在这个例子中,我们创建了一个名为"My Frame"的窗口,并设置了窗口的大小为300x200像素。
通过调用`setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)`方法,我们将在用户关闭窗口时退出程序。
gui实验报告GUI实验报告一、引言Graphical User Interface(图形用户界面,简称GUI)是一种用户与计算机交互的方式,通过图形化的界面和用户友好的操作,使用户能够直观地使用计算机。
本实验旨在探究GUI的设计原理和应用,通过实际操作和观察,深入理解GUI的功能和优势。
二、实验目的1. 了解GUI的基本概念和原理;2. 学习使用GUI设计工具和编程语言;3. 掌握GUI的常见组件和布局方式;4. 实践GUI设计和开发过程。
三、实验过程在实验中,我们选择了Java语言和Swing库作为GUI设计和开发的工具。
首先,我们使用Eclipse IDE创建了一个Java项目,并添加了Swing库的依赖。
接下来,我们创建了一个主窗口,并在窗口中添加了各种GUI组件,如按钮、文本框、标签等。
通过设置组件的属性和监听器,我们实现了用户与程序的交互。
四、实验结果我们成功地创建了一个简单的GUI应用程序,该程序包含了一个登录界面。
用户可以在文本框中输入用户名和密码,并点击登录按钮进行验证。
程序会根据用户输入的内容进行判断,并给出相应的提示信息。
通过实验,我们发现GUI的设计可以大大提高用户的交互体验,使操作更加直观和便捷。
五、实验总结通过本次实验,我们深入了解了GUI的设计原理和应用。
GUI作为一种用户友好的交互方式,已经广泛应用于各个领域,如操作系统、应用软件等。
GUI的设计需要考虑用户的习惯和需求,合理布局和组织界面元素,使用户能够轻松地完成操作。
同时,GUI的开发过程需要掌握相应的工具和编程语言,如Swing、Java等。
通过不断练习和实践,我们可以提高GUI设计和开发的能力。
六、实验心得本次实验让我对GUI有了更深入的了解。
在设计GUI界面时,我学会了如何选择合适的布局方式,如流式布局、网格布局等。
同时,我也学会了如何使用监听器来实现用户与程序的交互。
通过实际操作,我发现GUI的设计需要注重用户体验,尽量简化操作步骤,提供直观的界面和友好的提示。
java swing实验心得Java Swing实验心得在进行Java Swing实验的过程中,我深刻地体会到了Swing作为Java 的图形用户界面(GUI)工具包的强大功能和灵活性。
通过实践,我进一步掌握了Swing的基本概念、常用组件以及事件处理机制,深化了对面向对象编程的理解,并且体验了开发GUI应用程序的乐趣和成就感。
首先,在实验中我对Swing的基本概念有了更加清晰的理解。
Swing是一个用于构建图形用户界面的工具包,它是AWT(Abstract Window Toolkit)的扩展,提供了更多的组件和更强大的功能。
与AWT相比,Swing 更加独立、轻量级,具有更好的跨平台性能。
通过实验,我明确了Swing 使用的基本原则和构造GUI应用程序的基本步骤。
其次,我熟悉了Swing的常用组件及其使用方法。
Swing提供了丰富的组件,如按钮、标签、文本框、列表框、下拉框等等,每个组件都有特定的功能和属性。
在实验中,我通过与不同组件的交互使用,了解了它们的基本用法和常见属性的设置。
例如,通过按钮的点击事件实现交互,通过文本框的输入事件获取用户输入,通过列表框的选中事件实现列表项的处理等等。
此外,我对Swing的布局管理有了更深入的了解。
Swing提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout、GridBagLayout 等,用于管理组件的布局和排列。
在实验中,我掌握了这些布局管理器的基本使用方法,并且体验到了不同布局管理器对于界面布局的灵活性和效果的不同。
另外,我了解了Swing的事件处理机制。
Swing采用事件驱动的方式,通过监听器(Listener)对用户操作进行响应。
在实验中,我学会了使用事件监听器接口和适配器来处理用户的交互操作。
例如,通过为按钮添加ActionListener监听器,实现按钮的点击事件处理;通过为文本框添加DocumentListener监听器,实现实时监测文本框内容的变化等。
《Java程序设计-实验报告》
计算机科学系级班
课程名:《Java程序设计》
姓名:
学号:
指导教师:
实验项目:“Java GUI程序设计”
实验目的:
1、熟悉和掌握java Swing的基本GUI程序设计,掌握如何构建一个窗口程序,并且窗口中添加常用的Swing组件,使用各种布局管理器来完成对窗口中的组件进行布局。
2、了解Java事件处理机制,掌握基本的事件处理机制的基本程序编写。
实验要求:
使用java语言完成相关程序设计要求,编写代码、调试、运行,将编写的程序写在题目要求后面,对结果进行分析、得出编程的结论和心得。
实验内容:(两个题目,二选一)
1、试着用Swing类库完成以下程序界面(自行截图,尽量与下面界面接近):
2、试着用Swing类库完成以下程序界面(自行截图,尽量与下面界面接近):
提交要求:独立完成以上各个程序,查询相关资料和文档完成以上程序设计,将最后做完的界面截图,摘抄部分关键程序语句,写出碰到的问题,如何接近,心得总结等,17周之内提交打印文档。
(总结)Swing组件的使用Swing 的组件与AWT 组件相似,但又为每一个组件增添了新的方法,并提供了更多的高级组件.Swing 的基本组件:1.按钮(JButton):Swing 中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可以将多个图像指定给一个按钮。
(1).JButton 常用的构造方法。
JButton(String text):按钮上显示字符。
JButton(Icon icon) :按钮上显示图标。
JButton(String text, Icon icon):按钮上既显示图标又显示字符。
(2).常用方法:b1.setEnabled(false); //使按钮当前不可用b1.setToolTipText("..."): //设置按钮提示文本b1.setMnemonic(KeyEvent.VK_D);// 将b1邦定alt+D键(3).案例代码:[java] view plain copy print?public class JButtonExample3 extends JPanel implements ActionListener{ protected JButton b1, b2, b3; public JButtonExample3() { ImageIconleftButtonIcon = createImageIcon("right.gif");ImageIcon middleButtonIcon =createImageIcon("middle.gif"); ImageIcon rightButtonIcon = createImageIcon("left.gif");b1 = new JButton("失效中间按钮(D)", leftButtonIcon);b1.setVerticalTextPosition(AbstractButton.CENTER);// 水平中间对齐b1.setHorizontalTextPosition(AbstractButton.LEADING);// 相当于LEFTb1.setMnemonic(KeyEvent.VK_D);// 将b1邦定alt+D键b1.setActionCommand("disable");b2 = new JButton("M中间按钮", middleButtonIcon);b2.setVerticalTextPosition(AbstractButton.BOTTOM);b2.setHorizontalTextPosition(AbstractButton.CENTER);b2.setMnemonic(KeyEvent.VK_M);// 将b2邦定alt+M键b3 = new JButton("E激活中间按钮", rightButtonIcon);b3.setMnemonic(KeyEvent.VK_E);// 将b3邦定alt+E键b3.setActionCommand("enable");b3.setEnabled(false); // 给1和3添加事件监听b1.addActionListener(this);b3.addActionListener(this); // 设置按钮提示文本b1.setToolTipText("点击这个按钮,将使中间的按钮失效!"); b2.setToolTipText("点击这个按钮,没有任何的事件发生!");b3.setToolTipText("点击这个按钮,将使中间的按钮有效"); // 将按钮添加到JPanel中add(b1);add(b2); add(b3); } public void actionPerformed(ActionEvent e) { if ("disable".equals(e.getActionCommand())){ b2.setEnabled(false);b1.setEnabled(false);b3.setEnabled(true); } else{ b2.setEnabled(true);b1.setEnabled(true);b3.setEnabled(false); } }protected static ImageIcon createImageIcon(String path) { .URL imgURL =JButtonExample3.class.getResource(path); if (imgURL != null) { return newImageIcon(imgURL); } else{ System.err.printl n("Couldn′t find file: " + path); return null; } } public static void main(String[] args) { // 设置使用新的swing界面//提供一个关于新创建的JFrame 是否应该具有当前外观为其提供的Window 装饰(如边框、关闭窗口的小部件、标题等等)的提示。