一个JAVA的问题,希望高手赐教,急!!! 只要加上:public void changedUpdate(DocumentEvent e) {}就行了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如何加上:public void changedUpdate(DocumentEvent e) {} 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;}}} 其实41行的public void changeUpdate(DocumentEvent e)应该是public void changedUpdate(DocumentEvent e)ok?给分吧! 关于编码转换,为何无效? jdk 7.0有什么更新 eclipse rcp 显示大量文字的组件是什么 请教怎么用正则表达式提取以下的信息啊 applet的一个问题 请教超级牛人(java数据库问题) 问个问题?关于追加对象输出流的 哪有可以下载的J2EE API文档,不是网上看的,要可以下载的 装好jb7后,jdk1.3.1就有了,所以不需要装jdk,这样理解对吗? 大家一般是怎么处理NullPointerException的? 如何让IE6的JAVA虚拟机支持JDK1.2? 想做一个有关JAVA的网站有没有朋友支持进来留下你的联系方式一起建设
}
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;
}
}
}
public void changeUpdate(DocumentEvent e)应该是
public void changedUpdate(DocumentEvent e)ok?
给分吧!