JAVA--第12周实验--任务1--编写一个Panel的子类MyPanel,要求MyPanel的实例作为其按钮的ActionEvent事件的监视器

来源:互联网 发布:jr史密斯cba数据 编辑:程序博客网 时间:2024/05/16 02:01

Test类

/* (程序头部注释开始)    * 程序的版权和版本声明部分    * Copyright (c) 2011, 烟台大学计算机学院学生     * All rights reserved.    * 文件名称: 模拟一个信号灯的软件 * 作 者: 雷恒鑫     * 完成日期: 2012 年 11 月 13 日    * 版 本 号: V1.0     * 对任务及求解方法的描述部分    * 输入描述:编写一个应用程序,要求编写一个Panel的子类MyPanel,MyPanel中有一个文本框和一个按钮. * 输入描述:要求MyPanel的实例作为其按钮的ActionEvent事件的监视器,当单击鼠标时,程序获取文本框中的文本. * 输入描述:并将该文本作为按钮的名称。再编写一个JFrame的子类,即窗口。窗口的布局为BorderLayout。 * 输入描述:窗口中添加两个MyPanel面板,分别添加到窗口的东面和西面。用一个程序执行入口进行测试。 * 问题描述:    * 程序输出:    * 程序头部的注释结束    */ package hu;public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubnew MyJFrame();}}


 

MyPanel类

package hu;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class MyPanel extends Panel implements ActionListener{//MyPanel中有一个文本框和一个按钮,要求MyPanel的实例作为其按钮的ActionEvent事件的监视器,//当单击鼠标时,程序获取文本框中的文本,并将该文本作为按钮的名称。//再编写一个JFrame的子类,即窗口。窗口的布局为BorderLayout。窗口中添加两个MyPanel面板,//分别添加到窗口的东面和西面。用一个程序执行入口进行测试。(必做)JTextField TextFied1;JButton button1;public MyPanel(){TextFied1 = new JTextField(20);button1 = new JButton("");//button1.setBounds(10, 10, 10, 10);button1.addActionListener(this);add(TextFied1);add(button1);}@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubbutton1.setText(TextFied1.getText());}}

 

MyJFrame类

 

package hu;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import java.applet.Applet;public class MyJFrame extends JFrame implements ActionListener{//MyPanel中有一个文本框和一个按钮,要求MyPanel的实例作为其按钮的ActionEvent事件的监视器,//当单击鼠标时,程序获取文本框中的文本,并将该文本作为按钮的名称。//再编写一个JFrame的子类,即窗口。窗口的布局为BorderLayout。窗口中添加两个MyPanel面板,//分别添加到窗口的东面和西面。用一个程序执行入口进行测试。(必做)public MyJFrame(){setLayout(new BorderLayout());MyPanel mypanel = new MyPanel();MyPanel mypane2 = new MyPanel();add(mypanel,BorderLayout.EAST);add(mypane2,BorderLayout.WEST);setBounds(150,600,600,150);setVisible(true);}public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stub}}


 

运行结果: