5

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

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

4 に答える 4

14

代わりに:

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が、含まれているを解析することはできます-テキスト。

于 2012-06-17T12:25:50.437 に答える
2

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

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

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

于 2012-06-17T12:35:22.880 に答える
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/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/

メイヴン:

<dependency>  
    <groupId>org.softsmithy.lib</groupId>  
    <artifactId>lib-core</artifactId>  
    <version>0.1</version>  
</dependency>  
于 2012-06-17T12:40:21.097 に答える
0

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

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

同様に

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

等...

于 2012-06-17T12:46:49.660 に答える