コンソールでの結果が正しければ、その後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 + ")");
}
}
}
No.1ベストアンサー
- 回答日時:
システムによってJavaのデフォルト・フォントのサイズが違う可能性があるので、本来ならフレーム、パネル、テキスト・フィールド、ボタンなどのGUIコンポーネントは固定値で設定すべきではありません(テキスト用GUIコンポーネントに限りgetPreferredSize()を使う事で現在のフォント・サイズを元に算出されるGUIコンポーネント・サイズ(Java推奨値)を取得できます)。
もちろん、Javaの勉強程度なら固定値で設定しても良いでしょうが。
Java GUIデモ(Check)
http://ashtarte.pa.land.to/utf8/smt.cgi?r+sara/& …
結果は私が望んでいたものでした。
入力した数字をクリアーするプログラムを作ろうとしていたのですが、上記内容からだと結構長くなるものですね・・・
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TextAreaでの文字の色
-
java junit list同士の比較方法
-
ArrayListの使い方について(初...
-
JavaのswingでCardLayoutの画面...
-
javaで文字数制限するには?
-
JButton-背景の透明化
-
連番をオブジェクト名の最後に...
-
JFrameとJPanelの最大化について
-
Buttonを押すと画像が表示され...
-
JDialogを閉じた時の処理
-
TABキーの検出
-
JPanelの切り替えと再描画
-
JTableの列ヘッダ
-
質問 No.321331 「ノードの削除...
-
整数を好きなだけ入力し、個数...
-
Javaでお絵描きソフトを作りた...
-
EXECLの行を削除
-
あるコンボボックスを選択する...
-
Log4jで機能毎に別ファイルへ出...
-
flush()とclose()について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
javaで文字数制限するには?
-
JTableの列ヘッダ
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
【Swing】JPanel クラス外から...
-
4択クイズでのランダム出題の...
-
コンパイルエラー <identifier...
-
JPanelの重ね方/OverlayLayout他
-
JPanelの切り替えと再描画
-
エラーで式の開始が不正ですと...
-
JTable の 列幅を個別に設定す...
-
VB6.0でのTextboxの高さ変更
-
ボタンクリック後パネルを再描...
-
ArrayListの使い方について(初...
-
JavaでのSwingを使った簡易電卓...
-
連番をオブジェクト名の最後に...
-
あるコンボボックスを選択する...
-
Buttonを押すと画像が表示され...
-
KeyListenerの使い方について
おすすめ情報
>システムによってJavaのデフォルト・フォントのサイズが違う可能性があるので、本来ならフレーム、パネル、テキスト・フィールド、ボタンなどのGUIコンポーネントは固定値で設定すべきではありません・・・
気になる内容だったので補足で書きます。
今作ってるソフトも、パソコンによっては同じように見える・動作するとは限らない・・・って理解すれば良いんでしょうか?
いずれはシステムのことも考えて、プログラムを作れたらとは思います。