プロが教えるわが家の防犯対策術!

コンソールでの結果が正しければ、その後GUIで表示されます。
GUIを表示させてから、数字の入力が出来る方法を教えてください。
よろしくお願いします。

import java.awt.EventQueue;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;

public class Text extends JFrame {

private JPanel contentPane;
private JTextField textField;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Text frame = new Text();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Text() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JPanel panel = new JPanel();
panel.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null), "ooo", TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel.setBounds(66, 48, 280, 147);
contentPane.add(panel);
panel.setLayout(null);

textField = new JTextField();
textField.setBounds(83, 52, 96, 19);
panel.add(textField);
textField.setColumns(10);


{

String str;
int num;
int max;

max = 2;

Scanner stdin = new Scanner(System.in);

System.out.print("桁数を指定してください");
max = stdin.nextInt();

while(true){
System.out.print("指定桁数以内の数値を入力してください");
str = stdin.next();
num = Integer.parseInt(str);

if (str.length() <= max){
break;
}
}

textField.setText("【"+num + "】");

System.out.print("入力値" + str + " (" + num + ")");

}
}

質問者からの補足コメント

  • うーん・・・

    >システムによってJavaのデフォルト・フォントのサイズが違う可能性があるので、本来ならフレーム、パネル、テキスト・フィールド、ボタンなどのGUIコンポーネントは固定値で設定すべきではありません・・・

    気になる内容だったので補足で書きます。

    今作ってるソフトも、パソコンによっては同じように見える・動作するとは限らない・・・って理解すれば良いんでしょうか?
    いずれはシステムのことも考えて、プログラムを作れたらとは思います。

      補足日時:2018/11/06 23:36

A 回答 (1件)

システムによってJavaのデフォルト・フォントのサイズが違う可能性があるので、本来ならフレーム、パネル、テキスト・フィールド、ボタンなどのGUIコンポーネントは固定値で設定すべきではありません(テキスト用GUIコンポーネントに限りgetPreferredSize()を使う事で現在のフォント・サイズを元に算出されるGUIコンポーネント・サイズ(Java推奨値)を取得できます)。


もちろん、Javaの勉強程度なら固定値で設定しても良いでしょうが。

Java GUIデモ(Check)
http://ashtarte.pa.land.to/utf8/smt.cgi?r+sara/& …
    • good
    • 0
この回答へのお礼

結果は私が望んでいたものでした。
入力した数字をクリアーするプログラムを作ろうとしていたのですが、上記内容からだと結構長くなるものですね・・・
ありがとうございました。

お礼日時:2018/11/06 22:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!