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

一个JAVA的问题,希望高手赐教,急!!!

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

    本文导语:  程序如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*; class ValidationTestFrame extends JFrame implements DocumentListener { public ValidationTestFrame() { setTitle("validationTset"); s...

程序如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
class ValidationTestFrame extends JFrame implements DocumentListener
{
public ValidationTestFrame()
{
setTitle("validationTset");
setSize(300,200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
Container contentPane=getContentPane();
JPanel p=new JPanel();
hourField=new IntTextField(12,3);
p.add(hourField);
hourField.getDocument().addDocumentListener(this);

minuteField=new IntTextField(0,3);
p.add(minuteField);
minuteField.getDocument().addDocumentListener(this);

contentPane.add(p,"South");
clock=new ClockPanel();
contentPane.add(clock,"Center");
}
public void insertUpdate(DocumentEvent e)
{
setClock();
}
public void removeUpdate(DocumentEvent e)
{
setClock();
}
public void changeUpdate(DocumentEvent e)
{
setClock();
}
public void setClock()
{
if (hourField.isValid() && minuteField.isValid())
{
int hours=hourField.getValue();
int minutes=minuteField.getValue();
clock.setTime(hours,minutes);
}
}
private IntTextField hourField;
private IntTextField minuteField;
private ClockPanel clock;
}
class ClockPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawOval(0,0,100,100);
double hourAngle=2*Math.PI*(minutes-3*60)/(12*60);
double minuteAngle=2*Math.PI*(minutes-15)/60;
g.drawLine(50,50,50+(int)(30*Math.cos(hourAngle)),
50+(int)(30*Math.sin(hourAngle)));
g.drawLine(50,50,50+(int)(30*Math.cos(minuteAngle)),
50+(int)(30*Math.sin(minuteAngle)));
}
public void setTime(int h,int m)
{
minutes=h*60+m;
repaint();
}
public void tick()
{
minutes++;
repaint();
}
private int minutes=0;
}
public class ValidationTest
{
public static void main(String[] args)
{
JFrame frame=new ValidationTestFrame();
frame.show();
}
}
class IntTextDocument extends PlainDocument
{
public void insertString(int offs,String str,AttributeSet a) throws BadLocationException
{
if (str==null) return;
String oldString=getText(0,getLength());
String newString=oldString.substring(0,offs)+
str+oldString.substring(offs);
try
{
Integer.parseInt(newString+"0");
super.insertString(offs,str,a);
}
catch(NumberFormatException e)
{
}
}
}
class IntTextField extends JTextField
{
public IntTextField(int defval,int size)
{
super(""+defval,size);
}
protected Document createDefaultModel()
{
return new IntTextDocument();
}
public boolean isValid()
{
try {
Integer.parseInt(getText());
return true;
}
catch(NumberFormatException e)
{
return false;
}
}
public int getValue()
{
try
{
return Integer.parseInt(getText());
}
catch(NumberFormatException e)
{
return 0;
}
}
}
编译错误如下:
C:docValidationTest.java:6: ValidationTestFrame 必须声明为 abstract; 它没有在 ValidationTestFrame 中定义 changedUpdate(javax.swing.event.DocumentEvent)
class ValidationTestFrame extends JFrame implements DocumentListener
^
1 个错误

Tool completed with exit code 1
请把正确的解决方法告诉我,非常感谢!!!
最好给我一个正确的程序让我比较错误之出

|
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
class ValidationTestFrame extends JFrame implements DocumentListener
{
public ValidationTestFrame()
{
setTitle("validationTset");
setSize(300,200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
Container contentPane=getContentPane();
JPanel p=new JPanel();
hourField=new IntTextField(12,3);
p.add(hourField);
hourField.getDocument().addDocumentListener(this);

minuteField=new IntTextField(0,3);
p.add(minuteField);
minuteField.getDocument().addDocumentListener(this);

contentPane.add(p,"South");
clock=new ClockPanel();
contentPane.add(clock,"Center");
}
public void insertUpdate(DocumentEvent e)
{
setClock();
}
public void removeUpdate(DocumentEvent e)
{
setClock();
}
public void changedUpdate(DocumentEvent e)
{
setClock();
}
public void setClock()
{
if (hourField.isValid() && minuteField.isValid())
{
int hours=hourField.getValue();
int minutes=minuteField.getValue();
clock.setTime(hours,minutes);
}
}
private IntTextField hourField;
private IntTextField minuteField;
private ClockPanel clock;
}
class ClockPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawOval(0,0,100,100);
double hourAngle=2*Math.PI*(minutes-3*60)/(12*60);
double minuteAngle=2*Math.PI*(minutes-15)/60;
g.drawLine(50,50,50+(int)(30*Math.cos(hourAngle)),
50+(int)(30*Math.sin(hourAngle)));
g.drawLine(50,50,50+(int)(30*Math.cos(minuteAngle)),
50+(int)(30*Math.sin(minuteAngle)));
}
public void setTime(int h,int m)
{
minutes=h*60+m;
repaint();
}
public void tick()
{
minutes++;
repaint();
}
private int minutes=0;
}
public class ValidationTest
{
public static void main(String[] args)
{
JFrame frame=new ValidationTestFrame();
frame.show();
}
}
class IntTextDocument extends PlainDocument
{
public void insertString(int offs,String str,AttributeSet a) throws BadLocationException
{
if (str==null) return;
String oldString=getText(0,getLength());
String newString=oldString.substring(0,offs)+
str+oldString.substring(offs);
try
{
Integer.parseInt(newString+"0");
super.insertString(offs,str,a);
}
catch(NumberFormatException e)
{
}
}
}
class IntTextField extends JTextField
{
public IntTextField(int defval,int size)
{
super(""+defval,size);
}
protected Document createDefaultModel()
{
return new IntTextDocument();
}
public boolean isValid()
{
try {
Integer.parseInt(getText());
return true;
}
catch(NumberFormatException e)
{
return false;
}
}
public int getValue()
{
try
{
return Integer.parseInt(getText());
}
catch(NumberFormatException e)
{
return 0;
}
}
}

    
 
 

您可能感兴趣的文章:

  • 有没有Java的DirectDraw类库包,敬请赐教!
  • 各位好,有一个关于java日期的问题请教,请不吝赐教。
  • 请问java web start和jre分别是什么意思啊?!(请路过的前辈赐教!!!)
  • 一个关于JAVA多平台的实现问题,请高手赐教!
  • 用java swing JTable做一个属性编辑器遇到的问题,请高手赐教!急,急!!
  • 请java 高手赐教,在线等待,高分!
  • 请赐教:关于Java于Access数据库操作的问题
  • ### 现在JAVA可应用在哪几个前沿技术,小弟想找个毕业设计的题目,请赐教 ###
  • 关于JAVA的学习,从DELPHI而来,望不吝赐教!谢谢!
  • java问题001,各位高手请赐教
  • 在java里有关编码和解码的问题:比如对中文编码成BASE64或quoted-printable或者是其他的,应该用什么类什么方法?请赐教!!
  • java某方法在写代码时,如何得知运行时将要调用它的方法的名称及其所在类名?(很难的,请赐教,送您100)
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 各个高手看看这个问题!本人第一次学习java所以要各位高手的帮助。。
  • 各位高手,我初学java,以前是学VB的,请介绍一下学习java的经验
  • 从事java的高手们你们怎么看待java的发展方向啊
  • 聘请在上海工作的JAVA高手补习JAVA
  • java新手的问题,java高手帮忙...
  • Java菜鸟想学Java,请高手指教!(内有内容)
  • 高手指点:不用JNI,如何在Java进程中新起一个JVM并在其中启动另一个Java进程。
  • 各路JAVA高手们,能否给我一个用JAVA写的简单聊天室代码?
  • 向java论坛的高手们请教(java不是我的专长)
  • 请问java高手,谁知道java怎么用 *.dll ???
  • 请各位java高手几个java有关的问题?
  • 初学Java,来这里报到个到。希望各位高手指教如果开始学习Java.
  • Java高手看过来:如何在JBuilder5.0 Enterprise中配置Java communication API?(急!!!)
  • 求教JAVA高手:哪里可以下载(Visual JAVA 3)的教科书?...
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行,请高手指点一下
  • 请Linux 和Java 的高手回答:java JDK1.3.1 在红旗Linux Desktop 2.4 的问题,一定给分。
  • 请各位JAVA高手,网业高手看过来,我把能给的分都送出!!!只能给37分,哎!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java学到什么水平,可以去应聘JAVA程序员?希望大家踊跃讨论!!!!!
  • 我要拜师! 我想找一个人带我进JAVA大门,畅游JAVA世界,可以吗,希望和他经常交流!
  • 我叛变了,开始学java了,希望大家多多关照!!
  • 小弟我找到了一些JAVA认证模拟试题和JAVA中文FAQ,希望对大家有所帮助
  • 用java做mis系统怎么样,用什么软件较好?希望大家讨论,论者有分!
  • 我所希望的Java的跨平台特性及兼容性。
  • 第一次进java论坛,希望能够得到大家的帮助,以后多多指教。
  • 哪里可以下载JAVA开发工具(除了SDK),希望体积小且好用!谢谢!
  • 小弟想转学java 希望大家推荐基本入门的书籍,最好是可以下载的,谢谢!
  • 希望了解java,能推荐一个好的开发工具和一本好的入门书籍吗?我以前直到现在都在用VC,接下来想在C#和java中选一个做为第二语言。
  • 请教关于利用java把文件打包的问题,希望能够得到简单的回答,在线等待结帖
  • 我写了三年的MIS系统,现在想改行学JAVA,希望各位高手帮忙回答以下问题,谢谢.
  • java 入门级问题,希望有人点拨一下,不胜感激
  • linux下的编译JAVA的问题。希望可以得到解决!!!
  • java831(希望) sikuan(葫芦)qxjavajavak k_wyx(桃花岛) xmvigour 近来领分!
  • 想学JAVA,希望解答一个基本概念
  • java831(希望) sikuan(葫芦)k_wyx(桃花岛) xmvigour 近来领分!
  • 感谢Yangtian同志的支持,特发贴散分,以示感谢!也希望各位能畅谈java学习之道以示教导!
  • 我把JAVA和C++都搞混了,希望JAVA、C++爱好者给我讲讲里面的程序注释问题在JAVA和C++中都有哪些不同。
  • 感觉java胜任大型企业级的任务绰绰有余了,可是面对一些小些企业的解决方案听的并不是很多,所以我希望听听各位的看法(如果实际解决过这
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • CSS属性参考手册 iis7站长之家
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


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

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

    浙ICP备11055608号-3