textfield.setDocument(new IntegerDocument());class IntegerDocument extends PlainDocument {
public void insertString(int offset, String s,
AttributeSet attributeSet) throws BadLocationException {
try {
Integer.parseInt(s);
}
catch(Exception ex) {
Toolkit.getDefaultToolkit().beep();
return;
}
super.insertString(offset, s, attributeSet);
}
}
public void insertString(int offset, String s,
AttributeSet attributeSet) throws BadLocationException {
try {
Integer.parseInt(s);
}
catch(Exception ex) {
Toolkit.getDefaultToolkit().beep();
return;
}
super.insertString(offset, s, attributeSet);
}
}
解决方案 »
- java调用c++代码的问题
- 关于setBounds()方法代码放置位置和图片的读入问题~!
- java操作文件 根据txt文件里的特殊字符替换另外特殊字符里面的东西(搞了两年java了,觉得这个问题最奇怪)
- 声明jtable用的是JTable(Object[][] object,String[] string)构造方法,那应该如何添加行呢?
- 程序员轻松一刻。聊聊
- 坐标问题
- @@[*]Java3D的问题
- 小弟我写了个简单的 applet 能编译、运行,但是达不到我需要的结果,请帮忙看看!
- 一个关于java反射的深层对象映射的问题 ----高分跪求、在线等、
- 为什么我的jbuildr中的dbpilotW.exe无法与我的mysql连接?
- 运行成功,可是URL链接不上。程序如一下::
- 《thinking in java》第三版?
tft1.setValue(new Integer(123));
有关于这方面的
ftf.setValue(new Date());
Once a JFormattedTextField has been created, you can listen for editing changes by way of adding a PropertyChangeListener and listening for PropertyChangeEvents with the property name value.
import java.awt.event.*;
import javax.swing.*;public class DivideByZeroTest extends JFrame implements ActionListener
{
private JTextField inputField1,inputField2,outputField;
private int number1,number2,result;
public DivideByZeroTest()
{
super("Demonstrating Exceptions");
Container container=getContentPane();
container.setLayout(new GridLayout(3,2));
container.add(new JLabel("Enter numerator",SwingConstants.RIGHT));
inputField1=new JTextField();
container.add(inputField1);
container.add(new JLabel("Enter denominator and press Enter",SwingConstants.RIGHT));
inputField2=new JTextField();
container.add(inputField2);
inputField2.addActionListener(this);
container.add(new JLabel("Result",SwingConstants.RIGHT));
outputField=new JTextField();
container.add(outputField);
this.setSize(425,100);
this.setVisible(true);
}
public void actionPerformed(ActionEvent event)
{
outputField.setText("");
try{
number1=Integer.parseInt(inputField1.getText());
number2=Integer.parseInt(inputField2.getText());
result=quotient(number1,number2);
outputField.setText(String.valueOf(result));
}
//用于捕捉从字符串到数字的非法转换
catch(NumberFormatException n){
JOptionPane.showMessageDialog(this,
"You must enter two Integers","Invalid number Format",
JOptionPane.ERROR_MESSAGE);
}
catch(ArithmeticException e){
JOptionPane.showMessageDialog(this,
e.toString()+"\n请输入大于0的数!","Arithmetic Exception",
JOptionPane.ERROR_MESSAGE);
}
}
public int quotient(int numberator,int denominator)
throws ArithmeticException
{
return numberator/denominator;
}
public static void main(String args[])
{
DivideByZeroTest d=new DivideByZeroTest();
d.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
先得到一个string,然后依次遍历他的每个元素,如果用户输入的有字母或者其他,那么就返回pop提示窗口》》》》》》》
for(int i=0;i<string.length();i++)
string.charAt(i)=="a,b,c...."等等,则pop