ここには何かがあります...あるフレームから別のフレームに入力を渡す(JAVA)
私は2つのGUIプログラムを持っています。
基本的に食べ物アイテムのボタンを持つフレームで、クリックするとボタンが表示されます はこの他のプログラムを開きます。入力数量プログラムはテキストフィールドのあるフレームで、数字のボタン、キャンセルと確認のボタンです。ユーザが確認した量は、入力量プログラムからのメニュープログラムによってアクセスされてベクトルに格納され、ユーザが他の食品アイテムを注文するたびに、別のボタンをクリックしてプロセスを繰り返すようになります。
ここでは、ほとんどの部分をコーディングして、1つのことを除いてすべて機能しています。入力量プログラムによって返される値には、この遅延の問題があります。
これは私がステップバイステップで何をすべきかです:
1)メニューの食糧項目をクリックし、それは入力量ウィンドウを開きます。
2)入力したい番号を入力すると、テキストボックスに正しく表示されます。
3)3つのことを行うために、まずテキストフィールドの値を変数に格納し、次にdispose()メソッドを呼び出し、3番目に変数の値を示すprintステートメントをテストする)。
4)メニュープログラムは、入力プログラムのConfirmボタンを押したかどうかをチェックします。trueの場合、変数 'quantity'の値を戻してgetQuantity()という名前の入力プログラム内のメソッドを呼び出し、ストアしますそれはベクトルの中にあります。
5)渡された値が正しいかどうかを確認するために別のprint文を実行した後、print()メソッドを呼び出して、注文アイテム名と記録された数量を表示します。
ここにGUIのスクリーンショットがあり、コードはその下に表示されます。
のactionPerformed方法:
private void ConfirmButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
confirmed = true;
q= textField.getText().toString();
quantity =Integer.parseInt(q) ;
System.out.println("getQTY method inside Input Quantity Interface:" +getQuantity());
System.out.println("Quantity from confirmButton in Input Quantity Interface actionPerformed: "+quantity);
//getQuantity();
}
ステップ2上記ないメニュープログラムのメニュー項目ボタンのアクションリスナクラス:
class f implements ActionListener {
@Override
public void actionPerformed(ActionEvent e)
{
inputGUI.setVisible(true);
int q =0;
q=inputGUI.getQuantity(); //call method to get value from Input Program
System.out.println("Quantity inside Menu actionperformed from AskQuantity interface: "+q);
orderedQuantity.add(q); //int vector
textArea.append("\n"+e.getActionCommand()+"\t"+ q);
orderedItems.add(e.getActionCommand()); //String vector
print();
/*
System.out.println("Enter QTY: ");
int qty = in.nextInt();
orderedQuantity.add(qty);
print();*/
}
ここコンソールの印刷文のスクリーンショットである:ここ
Iが最初にパンプキンスープを注文し、私はシーフードマリナを命じ1ここ
の数量を入力し、2
ここで私は、最後の項目を命じたパン揚げサーモンと3
の数量を入力し私が注文した最初の商品の最初の記録数量が0であることがわかるように、別の商品を追加すると、最初の商品数量が記録されますが、2番目の商品数量は記録されません。 ..そして第三品目の数量は、プログラムが終了した場合でも:(
を、私はこの問題を解決することができますどのように記録されていない?
コードなしでお手伝いできるかどうかはわかりません。どれくらいのコードですか? 「問題を示すには十分だが、関連性のないコードで私たちを圧倒するほどではない」を除いて、言うことは難しい。 [sscce](http://sscce.org)を作成して投稿することができれば最高ですが、それはあなたの努力に多大な労力を要します。しかし、問題が複雑で、簡単な解決策が出てこない場合は、これが最善の方法です。運。 –
また、依存するウィンドウが別のJFrameではなくJOptionPaneやJDialogなどのダイアログでなければならないのだろうかと思います。これらのダイアログは複雑なGUIを使って鰓にロードされたJPanelを受け入れることができるので、単純なやりとりだけで、実際にはそれとは離れていると想定しないでください。 –
uhm実際には...私はボタンとテキストフィールドを追加できるように入力プログラムをフレームとして選択しました。私は質問を編集し、コードの一部を投稿します(私のコードはかなり厄介ですが、笑)。 GUIのスクリーンショット。あなたはそのアイデアを得ることができます。 – Kevin