【兔年惊喜】Java语言程序设计实验十第八章Swing图形用户界面程序设计实验任务(四)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告课程Java语言程序设计实验名称第八章Swing图形用户界面程序设计实验任务(四)第页专业班级学号____姓名实验日期:2010年11月16日报告退发(订正、重做)一、实验目的•掌握Swing图形界面的事件驱动机制二、实验环境1、微型计算机一台2、DOS或WINDOWS操作系统,j2se开发包三、实验内容1、分别编程演示动作事件、项事件、列表事件的捕获和处理。2、在窗体中设计一个文本编辑框和一个标签,请使用文档事件,实现将文本编辑框中的输入,实时的显示在标签上。3、编写程序,设计两个标签,实时显示鼠标的当前位置4、编写程序,能够实现在面板上手绘图形,参考教材例程实现5、编写程序,在窗体上放置若干个组件,和一个标签,标签上能实时显示当前的焦点位于那个组件。6、编写程序,设计一个文本编辑框,限定只能输入数字。四、实验步骤和结果1.在Eclipse中新建名字为test9的工程。2.动作事件的捕获和处理ActionEvent1.javaimportjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;classActionListener1implementsActionListener{intcount=0;@OverridepublicvoidactionPerformed(ActionEvente){JButtonb=(JButton)e.getSource();b.setText(Click+(++count)+times);}}publicclassActionEvent1extendsJFrame{publicActionEvent1(){super(动作事件演示);Containerc=getContentPane();JButtonb=newJButton(Clickzerotimes!);ActionListener1a=newActionListener1();b.addActionListener(a);c.add(b,BorderLayout.CENTER);}publicstaticvoidmain(String[]args){ActionEvent1ae=newActionEvent1();ae.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ae.setSize(150,120);ae.setResizable(false);ae.setVisible(true);}}3.项事件的捕获和处理ItemEvent1.javaimportjava.awt.Color;importjava.awt.event.ItemEvent;importjava.awt.event.ItemListener;importjavax.swing.AbstractButton;importjavax.swing.JCheckBox;importjavax.swing.JFrame;publicclassItemEvent1{publicstaticvoidmain(String[]args){JFramejf=newJFrame(项事件的捕获和处理);jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);jf.setResizable(false);JCheckBoxcb=newJCheckBox(魔兽世界服务器1);ItemListeneritemlistener=newItemListener(){@OverridepublicvoiditemStateChanged(ItemEvente){AbstractButtonabstractbutton=(AbstractButton)e.getSource();Colorforeground=abstractbutton.getForeground();Colorbackground=abstractbutton.getBackground();intstate=e.getStateChange();if(state==e.SELECTED){abstractbutton.setForeground(background);abstractbutton.setBackground(foreground);}}};cb.addItemListener(itemlistener);jf.add(cb);jf.setSize(300,200);jf.setVisible(true);}}4.列表事件的捕获和处理ListSelectionEvent1importjavax.swing.JFrame;importjavax.swing.JList;importjavax.swing.ListSelectionModel;importjavax.swing.event.ListSelectionEvent;importjavax.swing.event.ListSelectionListener;publicclassListSelectionEvent1extendsJFrame{publicListSelectionEvent1(){setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Stringitems[]={魔兽私服1,魔兽私服2,魔兽私服3,魔兽私服4};JListjl=newJList(items);ListSelectionModelsm=jl.getSelectionModel();sm.addListSelectionListener(newListSelectionListener(){@OverridepublicvoidvalueChanged(ListSelectionEvente){if(!e.getValueIsAdjusting()){System.out.println(selectionchanged:+e.getFirstIndex());}}});getContentPane().add(jl);pack();setVisible(true);}publicstaticvoidmain(String[]args){ListSelectionEvent1lse=newListSelectionEvent1();}5.文档事件例程DocumentEvent1importjava.awt.Container;importjavax.swing.BoxLayout;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;importjavax.swing.event.DocumentEvent;importjavax.swing.event.DocumentListener;importjavax.swing.text.Document;publicclassDocumentEvent1{publicstaticvoidmain(String[]args){JFramejf=newJFrame(文档事件例程);//创建文本编辑框和标签面板JPaneljptextfield=newJPanel();JPaneljplabel=newJPanel();//采用盒式布局管理器jptextfield.setLayout(newBoxLayout(jptextfield,BoxLayout.X_AXIS));finalJTextFieldt1=newJTextField();jptextfield.add(t1);jplabel.setLayout(newBoxLayout(jplabel,BoxLayout.X_AXIS));finalJLabell1=newJLabel(魔兽VIF:);jplabel.add(l1);finalDocumentdt=t1.getDocument();dt.addDocumentListener(newDocumentListener(){@OverridepublicvoidremoveUpdate(DocumentEventarg0){l1.setText(t1.getText());}@OverridepublicvoidinsertUpdate(DocumentEventarg0){l1.setText(t1.getText());}@OverridepublicvoidchangedUpdate(DocumentEventarg0){}});Containerc=jf.getContentPane();//获取内容窗格jf.setLayout(newBoxLayout(c,BoxLayout.Y_AXIS));c.add(jptextfield);c.add(jplabel);jf.setSize(100,100);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setVisible(true);jf.setResizable(false);jf.setLocationRelativeTo(null);//居中}}6.设计两个标签,实时显示鼠标的当前位置MouseCurrentLocation.javaimportjava.awt.Container;importjava.awt.GridBagLayout;importjava.awt.GridLayout;importjava.awt.Label;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjavax.swing.JFrame;publicclassMouseCurrentLocation{publicstaticvoidmain(String[]args){JFramejf=newJFrame(圣骑士在艾泽拉斯的方位);Containerc=jf.getContentPane();c.setLayout(newGridLayout(2,1));finalLabell1=newLabel();l1.addMouseListener(newMouseListener(){@OverridepublicvoidmouseReleased(MouseEventarg0){}@OverridepublicvoidmousePressed(MouseEventarg0){}@OverridepublicvoidmouseExited(MouseEventarg0){}@OverridepublicvoidmouseEntered(MouseEventarg0){}@OverridepublicvoidmouseClicked(MouseEvente){l1.setText(x=+String.valueOf(e.getX())+,y=+String.valueOf(e.getY()));}});finalLabell2=newLabel();l2.addMouseListener(newMouseListener(){@OverridepublicvoidmouseReleased(MouseEventarg0){}@OverridepublicvoidmousePressed(M

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功