




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国AM和和FM收音机行业发展趋势分析与未来投资战略咨询研究报告
- 冷库主管工作总结
- 2025至2030中国心耳封堵器行业产业运行态势及投资规划深度研究报告
- 铁路隧道消防培训
- 2025年智能可穿戴设备个性化健康服务技术创新报告
- 欺诈性债务抵消:虚构合同解除与补偿协议
- 蒙氏混龄班老师工作总结
- 高铁站空调采购、安装及旅客舒适度提升合同
- 离婚协议书中财产分割、子女抚养及共同财产清算协议
- 离婚协议违约金及财产分配纠纷解决合同
- 危重病人抢救制度课件
- 家具制造业2025年原材料价格波动对行业市场发展趋势影响报告
- 山东省济南市2025届中考数学真题(含答案)
- 2025-2030农业传感器网络部署模式与精准农业实践案例
- 接手烂尾项目的合同范本
- 物业客服人员培训
- 2025-2026学年地质版(2024)小学体育与健康二年级(全一册)教学设计(附目录P173)
- 茶百道培训课件
- 2025至2030年中国制药装备行业市场全景分析及投资前景展望报告
- 2025北京京剧院招聘工作人员10人考试备考题库及答案解析
- 检修现场管理培训课件
评论
0/150
提交评论