当前位置:  技术问答>java相关

帮我看看一面一段程序,有什么错?(我是初学者)

    来源: 互联网  发布时间:2015-01-16

    本文导语:  这段程序我是想捕捉JTEXTFIELD1的Change事件: package javapro; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import com.borland.jbcl.layout.*; import java.beans.*; import java.io.*; public class MyFrame extends J...

这段程序我是想捕捉JTEXTFIELD1的Change事件:
package javapro;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import com.borland.jbcl.layout.*;
import java.beans.*;
import java.io.*;

public class MyFrame extends JFrame implements Serializable,DocumentListener//注意这里!
 {
  JPanel contentPane;
  XYLayout xYLayout1 = new XYLayout();
  JTextField jTextField1 = new JTextField();
  JTextField jTextField2 = new JTextField();
  JTextField jTextField3 = new JTextField();
  JTextField jTextField4 = new JTextField();
  JTextField jTextField5 = new JTextField();
  JTextField jTextField6 = new JTextField();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JPanel jPanel1 = new JPanel();
    JPasswordField jPasswordField1 = new JPasswordField();

  /**Construct the frame*/
  public MyFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  /**Component initialization*/
  private void jbInit() throws Exception  {
    //setIconImage(Toolkit.getDefaultToolkit().createImage(MyFrame.class.getResource("[Your Icon]")));
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(xYLayout1);
    this.setSize(new Dimension(640, 480));
    this.setTitle("MyFrame");
    this.addWindowListener(new java.awt.event.WindowAdapter() {
      public void windowOpened(WindowEvent e) {
        this_windowOpened(e);
      }
    });
    jTextField1.setText("jTextField1");
//在下面出错:
    jTextField1.getDocument().addDocumentListener(new javax.swing.event.DocumentListener()
    {
        public void  insertUpdate(DocumentEvent e)
        {
        }
        public void  removeUpdate(DocumentEvent e)
        {
        }
        public  void  changedUpdate(DocuementEvent e)
        {
        }
    });

    jTextField1.addHierarchyListener(new java.awt.event.HierarchyListener() {
      public void hierarchyChanged(HierarchyEvent e) {
        jTextField1_hierarchyChanged(e);
      }
    });

    jTextField1.addVetoableChangeListener(new java.beans.VetoableChangeListener() {
      public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException {
        jTextField1_vetoableChange(e);
      }
    });
    jTextField1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
      public void propertyChange(PropertyChangeEvent e) {
        jTextField1_propertyChange(e);
      }
    });
    jTextField1.addInputMethodListener(new java.awt.event.InputMethodListener() {
      public void inputMethodTextChanged(InputMethodEvent e) {
      }
      public void caretPositionChanged(InputMethodEvent e) {
        jTextField1_caretPositionChanged(e);
      }
    });
    jTextField2.setText("jTextField2");
    jTextField3.setText("jTextField3");
    jTextField4.setText("jTextField4");
    jTextField5.setText("jTextField5");
    jTextField6.setText("jTextField6");
    jButton1.setText("Close");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButton1_actionPerformed(e);
      }
    });
    jButton2.setText("Init");
    jButton2.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButton2_actionPerformed(e);
      }
    });
    contentPane.addComponentListener(new java.awt.event.ComponentAdapter() {
      public void componentShown(ComponentEvent e) {
        contentPane_componentShown(e);
      }
    });

    jPasswordField1.setText("jPasswordField1");
        contentPane.add(jTextField1,    new XYConstraints(87, 47, 122, -1));
    contentPane.add(jTextField2, new XYConstraints(91, 89, 115, -1));
    contentPane.add(jTextField3,     new XYConstraints(251, 48, 120, -1));
    contentPane.add(jTextField4,    new XYConstraints(250, 92, 123, -1));
    contentPane.add(jTextField5,    new XYConstraints(419, 49, 122, -1));
    contentPane.add(jTextField6,    new XYConstraints(418, 93, 127, -1));
    contentPane.add(jPanel1,  new XYConstraints(329, 60, -1, -1));
    contentPane.add(jButton2,  new XYConstraints(165, 196, 129, -1));
    contentPane.add(jButton1, new XYConstraints(298, 196, 131, -1));
        contentPane.add(jPasswordField1,    new XYConstraints(90, 127, 115, -1));
  }
  /**Overridden so we can exit when window is closed*/
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }


  void jTextField1_caretPositionChanged(InputMethodEvent e) {
      jTextField2.setText("JTextField1 hava changed by CarePositionChange!");
  }


  void jButton1_actionPerformed(ActionEvent e) {

  }

  void jTextField1_propertyChange(PropertyChangeEvent e) {
      jTextField2.setText("jTextField1 have changed by ProperChange");
  }

  void jButton2_actionPerformed(ActionEvent e) {
      jTextField2.setText("be Init!");
  }

  void contentPane_componentShown(ComponentEvent e) {
    jTextField2.setText("Panel Init!");
  }

  void this_windowOpened(WindowEvent e) {
    jTextField2.setText("Window Open Event");
  }

  void jTextField1_vetoableChange(PropertyChangeEvent e) throws PropertyVetoException {
   jTextField2.setText("VetoableChange!");
  }

  void jTextField1_hierarchyChanged(HierarchyEvent e) {
    jTextField2.setText("Hierarchy change");
  }
  private void writeObject(ObjectOutputStream oos) throws IOException {
    oos.defaultWriteObject();
  }
  private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
    ois.defaultReadObject();
  }

}

---------------------------------------------------------

下面的这些不用看它,这个程序我是用JB5编辑的!
package javapro;

import javax.swing.UIManager;
import java.awt.*;

public class MyApplication {
  boolean packFrame = false;

  /**Construct the application*/
  public MyApplication() {
    MyFrame frame = new MyFrame();
    //Validate frames that have preset sizes
    //Pack frames that have useful preferred size info, e.g. from their layout
    if (packFrame) {
      frame.pack();
    }
    else {
      frame.validate();
    }
    //Center the window
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = frame.getSize();
    if (frameSize.height > screenSize.height) {
      frameSize.height = screenSize.height;
    }
    if (frameSize.width > screenSize.width) {
      frameSize.width = screenSize.width;
    }
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);
  }
  /**Main method*/
  public static void main(String[] args) {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch(Exception e) {
      e.printStackTrace();
    }
    new MyApplication();
  }
}

////////////////////////////////////////////////////////////
错误提示:
"MyFrame.java": Error #: 454 : class javapro.MyFrame should be declared abstract; it does not define method changedUpdate(javax.swing.event.DocumentEvent) in interface javax.swing.event.DocumentListener at line 11, column 8

"MyFrame.java": Error #: 300 : class DocuementEvent not found in anonymous class of method jbInit() at line 58, column 37

"MyFrame.java": Error #: 454 : anonymous class of method jbInit() should be declared abstract; it does not define method changedUpdate(javax.swing.event.DocumentEvent) in interface javax.swing.event.DocumentListener at line 51, column 5




|
public class MyFrame extends JFrame implements Serializable,DocumentListener中,没有写changedUpdate(javax.swing.event.DocumentEvent),当然不成了,你实现了DocumentListener接口的呀,需要重写changeUpdate方法的,以及removeUpdate和insertUpdate方法。

|
你的changeUpdate()方法那边DocumentEvent拼错了,写成docuementEvent了

|
你程序里写的都是匿名类,就没必要implements DocumentListener了,要不你就要在MyFrame里定义
changedUpdate()
insertUpdate()
removeUpdate()
三个方法。

    
 
 

您可能感兴趣的文章:

  • 又一个初学者的困惑!如果您是个大虾,请你一定要进来看看,指点迷津!如果您也是个初学者,那么您也一定要进来,也许我们有一样的遭遇!
  • linux下c语言写的shell,花了不少时间写得 有兴趣的可以看看,本人linux初学者
  • Linux 初学者的疑问 (各位老鸟进来看看)
  • 初学者求救:gethostbyname的应用,看看看错在哪里?谢谢。。。
  • 我是JAVA的一位初学者请各位师兄师姐帮忙看看下面的代码为什么会提示出错?
  • 初学者的安装问题,各位进来看看
  • 初学者。那位好心人进来看看???
  • linux c初学者求教:看看这断代码的含义
  • 谁能帮我看看下面的代码有什么错误,我是初学者。
  • 大家看看sun的这个列表,帮帮初学者
  • 看树顶“初学者必读”的呕血补充!!!菜鸟来,高手也看看
  • 那位大哥可以帮我看看,我是哪里做错了!!(非常简单,我是初学者)
  • 又一个初学者的困惑!如果您是个大虾,请你一定要进来看看,指点迷津!如果您也是个初学者,那么您也一定要进来,也许我们有一样的遭遇!
  • 大家看看,很简单的,就是初学者无知的表现
  • 我翻译的关于如何在jb6中编译servlet,初学者可以进来看看。
  • 我初学JAVA,大家愿意交朋友的进来看看!留QQ的给分啊!
  • 初学GTK+的朋友们看看这篇文章
  • 初学JAVA,帮看看
  • 初学java的朋友看看这个软件
  • 初学kernel编程遇到问题了!请帮个忙看看!!
  • 我初学ubuntu 想装ftp,但是出错,请大家帮看看
  • 初学.请帮忙看看fork的子进程读管道时为何阻塞!
  • 初学java ,帮我看看错在什么地方?如何改?thx
  • 初学网络编程,大家帮忙看看
  • 我是哪个初学java的冷雪儿,由于我的帐号分数太少,所以另换了一个帐号,我现在有一段程序,有很多地方不懂,各路大虾不妨进来帮我看看,
  • 初学makefile,帮忙看看这个makefile实例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 简单!看看这个方法!简单!看看这个方法!
  • linux高手看看
  • 好消息,近来看看......
  • 我想看看有关Linux和Unix的源码,有什么好的建议
  • 我是哪个初学java的冷雪儿,由于我的帐号分数太少,所以另换了一个帐号,我现在有一段程序,有很多地方不懂,各路大虾不妨进来帮我看看, iis7站长之家
  • 关于全选的问题大家帮忙看看~
  • jsp论坛,大家快去看看,解决树形目录http://52jsp.126.com
  • 各位大侠,小侠,快过来看看。
  • 看过操作系统设计与实现的进来看看
  • 请进来看看!!
  • 帮我看看下面这条语句??
  • 大家去软件工程论坛里面去看看那,我发了700分的问题!!
  • 建议去这里看看,有好多基本的重要知识! 绝对值得一看!
  • 大家帮我看看,我好把贴子结了,里面有100分。。。。。。
  • 到 http://www.xbit2008.com 看看技术文章把! 我写的或从网上摘的!
  • 虚心请教问题,帮我看看好吗?
  • 我刚申请的域名rootsafe.com大家看看怎么样? up有分!
  • 帮我看看是不是被黑了?
  • 我的Solaris启动不了了,请帮忙看看
  • 能不能帮我看看!!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3