web-dev-qa-db-ja.com

JTextField入力を整数に変換します

私はJavaを初めて使用し、JTextFieldからの入力を整数に変換しようとしています。多くのオプションを試しましたが、何も機能していません。Eclipseは常にエラーを表示し、エラーは私には意味がありません。

java.awt.Graphicsをインポートします。 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);
    }
 }
4
Matthew

代わりに:

JTextField f1 = new JTextField("-5");

//xaxis1 = Integer.parseInt(f1);

これを試して:

JTextField f1 = new JTextField("-5");
String text = f1.getText();
int xaxis1 = Integer.parseInt(text);

TextFieldIntegerに解析することはできませんが、解析できますその含まれています-テキスト。

11
dantuch

すぐに頭に浮かぶ2つの主なエラーがあります。

  • まず、JTextField自体を解析しようとしていますが、保持しているテキストではありません(dantuchが指摘しているように-1+彼に)。
  • 次に、JTextFieldが保持するテキストを正常に解析できたとしても、プログラムのこの時点で解析することは、JTextFieldの作成時に行うため、生産的ではなく、ユーザーにチャンスを与えることはありません。フィールドが保持する値を変更します。

より良い解決策は、dantuchが示唆するように、JTextFieldによって保持されているテキストを解析することですが、ある種のリスナー、おそらくJButtonプッシュによってトリガーされたActionListenerで解析することです。

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/JLocalizedRealNumberField.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://www.softsmithy.org

ダウンロード:

http://sourceforge.net/projects/softsmithy/files/softsmithy/

Maven:

<dependency>  
    <groupId>org.softsmithy.lib</groupId>  
    <artifactId>lib-core</artifactId>  
    <version>0.1</version>  
</dependency>  
1
Puce

TextFieldの値を解析する必要があります。

int i = Integer.parseInt("-10");

同様に

double d = Double.parseDouble("-10.0");

等...

0