我是JAVA的新手,我正在尝试将来自JTextField的输入转换为整数,我尝试了很多选项,但没有任何工作,eclipse总是给我一个错误,错误没有意义我
import java.awt.Graphics; import java.awt.Color;
public class circle extends Shape{
public int x;
public int y;
public int Radius;
public circle (int Radius, int x, int y, Color c){
super(c);
this.x = x;
this.y = y;
this.Radius = Radius;
}
public void draw(Graphics g){
g.setColor(super.getColor());
g.fillOval(x-Radius, y-Radius, Radius * 2, Radius * 2);
}
}
答案 0 :(得分:10)
取代:
JTextField f1 = new JTextField("-5");
//xaxis1 = Integer.parseInt(f1);
试试这个:
JTextField f1 = new JTextField("-5");
String text = f1.getText();
int xaxis1 = Integer.parseInt(text);
您无法将TextField
解析为Integer
,但可以解析包含的值 - 文字。
答案 1 :(得分:2)
您有两个主要错误立即浮现在脑海中:
更好的解决方案是解析JTextField所持有的文本,再次像dantuch所暗示的那样,但是要在某种类型的侦听器中执行,也许是由JButton推送触发的ActionListener。
答案 2 :(得分:1)
我已经基于JFormattedTextField实现了数字字段。
它们还支持最小值和最大值。
也许您觉得它们很有用(图书馆是开源的):
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JRealNumberField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JDoubleField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JFloatField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLocalizedDoubleField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLocalizedFloatField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JWholeNumberField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JByteField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JIntegerField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLongField.html
http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JShortField.html
教程:
http://softsmithy.sourceforge.net/lib/docs/tutorial/swing/number/index.html
主页:
下载:
http://sourceforge.net/projects/softsmithy/files/softsmithy/
的Maven:
<dependency>
<groupId>org.softsmithy.lib</groupId>
<artifactId>lib-core</artifactId>
<version>0.1</version>
</dependency>
答案 3 :(得分:0)
您需要解析TextField
:
int i = Integer.parseInt("-10");
类似地
double d = Double.parseDouble("-10.0");
等...