純粋なテキストまたはCLIであるJavaでプログラムを作成しました。その上にGUIを構築したいと思います。私が学校にいたとき、私はGUIを中心にプログラムを構築する方法を学び、プログラムを中心にGUIを構築する方法を学びませんでした。
どうすればいいですか?
ありがとうございました。
編集:どうやら私は完全に誤解されていました。引数の入力以外にも、進捗情報など、CLIモデルで文字列を使用して表示するものがあります。GUIとグラフィカル入力インターフェースの構築の基本はすでに知っています。
純粋なテキストまたはCLIであるJavaでプログラムを作成しました。その上にGUIを構築したいと思います。私が学校にいたとき、私はGUIを中心にプログラムを構築する方法を学び、プログラムを中心にGUIを構築する方法を学びませんでした。
どうすればいいですか?
ありがとうございました。
編集:どうやら私は完全に誤解されていました。引数の入力以外にも、進捗情報など、CLIモデルで文字列を使用して表示するものがあります。GUIとグラフィカル入力インターフェースの構築の基本はすでに知っています。
GUIを作成する前に、実際の作業が行われなくなるまでCLIをリファクタリングします。つまり、入力収集とデータ操作を分離する明確な障壁があります。
たとえば、在庫を管理するCLIを想像してみてください。これは悪いことです:
if(command.equals("additem")) {
int itemNumber = Integer.parseInt(tokens[1]);
int quantity = Integer.parseInt(tokens[2]);
if(items.contains(itemNumber) { // exists, add to current
int currentQuantity = items.get(itemNumber);
int newQuantity = quantity + currentQuantity;
items.put(itemNumber,newQuantity);
} else { // doesn't exist, make new entry
items.put(itemNumber,quantity);
}
continue;
}
それがすべきことをするという点で良いです。CLIが作業を行っており、他のインターフェイスではないという点で問題があります。より良いアプローチは
if(command.equals("additem")) {
int itemNumber = Integer.parseInt(tokens[1]);
int quantity = Integer.parseInt(tokens[2]);
inventoryManager.addItem(itemNumber,quantity);
continue;
}
これで、CLIが行うのは、入力を収集し、その入力をマネージャーに渡すことだけです。
CLIのすべてのコマンドが「入力を収集してマネージャークラスに渡す」形式になったら、GUIを作成する準備が整います。GUIを作成するときは、CLIで行うのとまったく同じメソッドを呼び出します。データは、CLIからではなくGUIフィールドから取得するだけです。
JavaでGUIをコーディングするには、組み込みのSwing
フレームワークを使用することをお勧めします。
「JavaSwingチュートリアル」をすばやく検索すると、多くの役立つ結果が表示されますが、開始するための優れたリソースがいくつかあります。
Java GUIプログラミングに真剣に取り組む場合は、このテーマに関する本を購入することを強くお勧めします。