实验8 图形界面程序设计_第1页
实验8 图形界面程序设计_第2页
实验8 图形界面程序设计_第3页
实验8 图形界面程序设计_第4页
实验8 图形界面程序设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山西大学计算机与信息技术学院实验报告姓 名学 号 专业班级软件工程1班 课程名称 Java实验实验日期 2013/12/4成 绩指导教师批改日期实验名称实验 8 图形界面程序设计一、实验目的掌握常用GUI控制组件及其事件处理。二、实验内容1编程包含一个标签和一个按钮,单击按钮时,标签的内容在“你好”和“再见”之间切换。程序代码:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class Test1 extend

2、s JFrameprivate JButton jbtOK;private JLabel jlbName;public Test1()jbtOK = new JButton(OK);jlbName = new JLabel(你好!);Panel panel = new Panel();panel.add(jlbName,BorderLayout.NORTH);panel.add(jbtOK,BorderLayout.SOUTH);add(panel);OKListenerClass m = new OKListenerClass();jbtOK.addActionListener(m);cla

3、ss OKListenerClass implements ActionListenerpublic void actionPerformed(ActionEvent e) jlbName.setText(再见);public static void main(String args)JFrame frame = new Test1();frame.setTitle(Test1);frame.setSize(200, 150);frame.setLocation(200, 100);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fra

4、me.setVisible(true);运行结果贴图: 2编程包含一个文本框和一个文本区域,文本框内容改变时,将文本框中的内容显示在文本区域中;在文本框中按回车键时,清空文本区域的内容。程序代码:package shiyan8;import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.*;public class ShowText extends JFrameprivate JTextField jtext;private JLabel jlbNam

5、e;public ShowText()jtext = new JTextField(8);jlbName = new JLabel(原文本);Panel panel = new Panel();Panel panel1 = new Panel();panel.add(jlbName);panel1.add(jtext);add(panel,BorderLayout.CENTER);add(panel1,BorderLayout.NORTH);TextTo m = new TextTo();jtext.addKeyListener(m); class TextTo implements KeyL

6、istenerpublic void keyPressed(KeyEvent e) public void keyReleased(KeyEvent e) if(e.getKeyChar() != KeyEvent.VK_ENTER)jlbName.setText(jtext.getText();public void keyTyped(KeyEvent e) if(e.getKeyChar() = KeyEvent.VK_ENTER)jlbName.setText(null); public static void main(String args)JFrame frame = new Sh

7、owText();frame.setTitle(ShowText);frame.setSize(200, 150);frame.setLocation(200, 100);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);运行结果贴图:3编程包含一个复选按钮和一个普通按钮,复选按钮选中时,普通按钮的背景色为青色,未选中时为灰色。程序代码:import java.awt.*;import java.awt.event.ItemEvent;import java.awt.event.ItemLis

8、tener;import javax.swing.*;public class ShowGreen extends JFrameprivate JButton jbutton;private JCheckBox jchkBold;public ShowGreen()jbutton = new JButton(你好!);jchkBold = new JCheckBox();jbutton.setBackground(Color.GRAY);Panel panel = new Panel();Panel panel1 = new Panel();panel.add(jchkBold);panel1

9、.add(jbutton);add(panel,BorderLayout.CENTER);add(panel1,BorderLayout.NORTH);ShowTo m = new ShowTo();jchkBold.addItemListener(m); class ShowTo implements ItemListenerpublic void itemStateChanged(ItemEvent arg0) if(jchkBold.isSelected()jbutton.setBackground(Color.CYAN);elsejbutton.setBackground(Color.

10、GRAY); public static void main(String args)JFrame frame = new ShowGreen();frame.setTitle(ShowGreen);frame.setSize(200, 150);frame.setLocation(200, 100);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);运行结果贴图: 4编程包含两个按钮和一个标签,将发生单击事件的按钮上的文本信息显示在标签中。提示:关键代码如下: b1.addActionLis

11、tener(new B1(); b2.addActionListener(new B2(); class B1 implements ActionListener public void actionPerformed(ActionEvent e) who.setText(Button 1); class B2 implements ActionListener public void actionPerformed(ActionEvent e) who.setText(Button 2); 程序代码:package shiyan8;import java.awt.*;import java.

12、awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class TwoButton extends JFrameprivate JButton b1;private JButton b2;private JLabel l;public TwoButton()b1 = new JButton(确定);b2 = new JButton(取消);l = new JLabel(文本);Panel panel = new Panel();Panel panel1 = new Pane

13、l();panel.add(l);panel1.add(b1);panel1.add(b2);add(panel,BorderLayout.NORTH);add(panel1,BorderLayout.CENTER);b1.addActionListener(new B1(); b2.addActionListener(new B2();class B1 implements ActionListener public void actionPerformed(ActionEvent e) l.setText(b1.getText(); class B2 implements ActionLi

14、stener public void actionPerformed(ActionEvent e) l.setText(b2.getText(); public static void main(String args)JFrame frame = new TwoButton();frame.setTitle(TwoButton);frame.setSize(200, 150);frame.setLocation(200, 100);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);运行结果贴

15、图:5编程确定当前鼠标的位置坐标。程序代码:package shiyan8;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionListener;import javax.swing.*;public class Mouse extends JFrameprivate JLabel jlbName;public Mouse()jlbName = new JLabel(显示区域);add(jlbName);MouseTo m = new MouseTo();jlbName.addMouseMotionListener

16、(m); class MouseTo implements MouseMotionListener public void mouseDragged(MouseEvent e) public void mouseMoved(MouseEvent e) jlbName.setText(鼠标当前的坐标为:( + e.getX() + , + e.getY() + ); public static void main(String args)JFrame frame = new Mouse();frame.setTitle(Mouse);frame.setSize(200, 150);frame.s

17、etLocation(200, 100);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);运行结果贴图:6编程使用BorderLayout布局方式放置5个按钮。程序代码:package shiyan8;import javax.swing.JButton;import javax.swing.JFrame;import java.awt.BorderLayout;public class ShowBorderLayout extends JFramepublic ShowBorderLayo

18、ut()setLayout(new BorderLayout(5,10);add(new JButton(East),BorderLayout.EAST);add(new JButton(South),BorderLayout.SOUTH);add(new JButton(West),BorderLayout.WEST);add(new JButton(North),BorderLayout.NORTH);add(new JButton(Senter),BorderLayout.CENTER);public static void main(String args) ShowBorderLay

19、out frame = new ShowBorderLayout();frame.setTitle(ShowBorderLayout);frame.setSize(300, 200);frame.setLocation(200, 100);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);运行结果贴图:7. 编写程序,实现使用键盘上的上下左右箭头控制界面上图片的移动。移动到边界时从界面另一侧出现。移动过程中显示另一个图片,停止时恢复原来的图片。程序代码:package shiyan8;impo

20、rt javax.swing.*;import java.awt.event.*; public class MovePhoto extends JFrame private ImageIcon oneIcon = new ImageIcon(D:/eclipse/workspace/wenhui/bin/1.jpg); private ImageIcon twoIcon = new ImageIcon(D:/eclipse/workspace/wenhui/bin/2.jpg); private JLabel label; private JPanel p; public MovePhoto

21、() label = new JLabel(oneIcon); p = new JPanel(); setContentPane(p); p.setLayout(null); addKeyListener(new PanelListener(); label.setBounds(0, 0, 100, 100); p.add(label); private class PanelListener implements KeyListener public void keyPressed(KeyEvent e) label.setIcon(twoIcon); int x = label.getX(); int y = label.getY(); int w = p.getWidth(); int h = p.getHeight(); if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论