Java的textfield.gettext()方法值如何传给变量?
importjava.awt.*;importjavax.swing.*;publicclassinterfacemethod{JFrameframe1=newJFram...
import java.awt.*;
import javax.swing.*;
public class interfacemethod{
JFrame frame1=new JFrame("Similarity Metric Generator-2");
private JFormattedTextField text1,text2;
private JButton button2;
int num1,num2;
interfacemethod() throws Exception{
Container con1=new Container();
text1=new JFormattedTextField(new DecimalFormat("##0.0#"));
text2=new JFormattedTextField(new Integer("0"));
//等等界面设计代码。。
button2.addActionListener(new Button2Handler2());
text1.addActionListener(new TextHandler());
text2.addActionListener(new TextHandler());
}
private class Button2Handler2 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(frame1,"FINISHED!\n存入path"+num1+num2);
frame1.setVisible(false);
}
}
private class TextHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
num1=Integer.parseInt(text1.getText().trim());
num2=Integer.parseInt(text2.getText().trim());
//就是这个地方。这个时候num1,num2的值如何传给其他数?点击那个button2,弹出对话框,上面会显示num1,num2的值,但是,我的这个代码显示的总是0,0,表示num1,num2的值根本没有根据gettext方法改变。。这个怎么解决? }
}
public static void main(String[] args) throws Exception{
int num1,num2;
new interfacemethod();
}
} 展开
import javax.swing.*;
public class interfacemethod{
JFrame frame1=new JFrame("Similarity Metric Generator-2");
private JFormattedTextField text1,text2;
private JButton button2;
int num1,num2;
interfacemethod() throws Exception{
Container con1=new Container();
text1=new JFormattedTextField(new DecimalFormat("##0.0#"));
text2=new JFormattedTextField(new Integer("0"));
//等等界面设计代码。。
button2.addActionListener(new Button2Handler2());
text1.addActionListener(new TextHandler());
text2.addActionListener(new TextHandler());
}
private class Button2Handler2 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(frame1,"FINISHED!\n存入path"+num1+num2);
frame1.setVisible(false);
}
}
private class TextHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
num1=Integer.parseInt(text1.getText().trim());
num2=Integer.parseInt(text2.getText().trim());
//就是这个地方。这个时候num1,num2的值如何传给其他数?点击那个button2,弹出对话框,上面会显示num1,num2的值,但是,我的这个代码显示的总是0,0,表示num1,num2的值根本没有根据gettext方法改变。。这个怎么解决? }
}
public static void main(String[] args) throws Exception{
int num1,num2;
new interfacemethod();
}
} 展开
3个回答
展开全部
java中string
是一个对象,tx.gettext()返回值是string,是一个string
的对象,而"1993a"是一个字符串常量,所以二者根本就不会相等的。把if语句里面换成tx.gettext().equals("1993a")就行了。
是一个对象,tx.gettext()返回值是string,是一个string
的对象,而"1993a"是一个字符串常量,所以二者根本就不会相等的。把if语句里面换成tx.gettext().equals("1993a")就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我认为你的问题应该在text1和text2的事件没有被触发,从而TestHandler里的代码根本没有机会执行,从num1和num2也就得不到textField里的文本所代表的值。你可以把那两行代码放到Button2Handler里去。
当然这个程序还有其他的问题,那就是text1中你设置的格式是浮点或者双精度型的,却用Integer类和int类型参数处理和接收它,这回跑出异常。
当然这个程序还有其他的问题,那就是text1中你设置的格式是浮点或者双精度型的,却用Integer类和int类型参数处理和接收它,这回跑出异常。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的那个text1 和 text2 set值了没?
把num1,num2的值当做参数在new的时候传进啊~~然后用text1,text2 setText方法把这两个值传进去后,你才能用getText方法得到啊~~~
把num1,num2的值当做参数在new的时候传进啊~~然后用text1,text2 setText方法把这两个值传进去后,你才能用getText方法得到啊~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询