私は2つのフォームを持っています。最初の形式では、オブジェクトsuggestion
を作成します。それから私はそれを使って何かをして、それを第二の形式に提出しなければなりません。どのようにして最初のフォームに記入してから2番目のウィンドウを開くことができますか?最初のフォームから2番目のフォームへの情報スイングJava
これが私の最初の形式である:
public class FormNum1 extends JFrame {
JButton clearConfermation, conferm;
JLabel dateofDeparture, dateofArrival, cityFrom, cityTo;
JTextField dateofDepartureTextField, dateofArrivalTextField, cityFromTextField, cityToTextField;
static Suggestion suggestion;
Boolean n = false;
JFrame form1 = new JFrame("form1");
ActionListener actionPerformed;
public FormNum1(){
form1.setVisible(true);
form1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
form1.setSize(1200,250);
//setResizable(false);
form1.setLocationRelativeTo(null);
form1.setLayout(new FlowLayout());
clearConfermation = new JButton("Make clear");
conferm = new JButton("Confirm information ");
dateofDeparture = new JLabel("Date of Departure");
dateofArrival = new JLabel("Date of Arrival");
cityFrom = new JLabel("City From");
cityTo = new JLabel("City to");
dateofDepartureTextField = new JTextField(10);
dateofArrivalTextField = new JTextField(10);
cityFromTextField = new JTextField(10);
cityToTextField = new JTextField(10);
form1.add(clearConfermation);
form1.add(conferm);
form1.add(dateofDeparture);
form1. add(dateofDepartureTextField);
form1.add(dateofArrival);
form1.add(dateofArrivalTextField);
form1.add(cityFrom);
form1.add(cityFromTextField);
form1.add(cityTo);
form1.add(cityToTextField);
actionPerformed = new InformationFromFormOne();
conferm.addActionListener(actionPerformed);
clearConfermation.addActionListener(actionPerformed);
}
class InformationFromFormOne implements ActionListener{
public void actionPerformed(ActionEvent e) {
if (e.getSource() == conferm){
String dateOfDeparture = (dateofDepartureTextField.getText());
String dateOfArrival = (dateofArrivalTextField.getText());
String cityFrom = (cityFromTextField.getText());
String cityTo = (cityToTextField.getText());
suggestion = new Suggestion(dateOfDeparture, dateOfArrival, true, cityFrom, cityTo);
setVisible(false);
form1.dispose();
}
if (e.getSource() == clearConfermation){
dateofArrivalTextField.setText(null);
dateofDepartureTextField.setText(null);
cityFromTextField.setText(null);
cityToTextField.setText(null);
}
}
}
}
私の2番目の形式はvisible
に第二枠を設定した第1のフレーム処理の後
public class FormNum2 extends JFrame{
static JFrame form2 = new JFrame("form2");
public FormNum2() {
form2.setSize(1200,600);
//frame.setResizable(false);
form2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
form2.setLocationRelativeTo(null);
form2.setVisible(true);
}
}
メインクラス
public class Main extends Thread{
public static void main(String[] args) {
FormNum1 form1 = new FormNum1();
FormNum2 form2 = new FormNum2();
}
}
「確認」の綴りは「conferm」ではなく、そのままです。確認のためにも同じです。他の場所で使用された場合に変更する必要はありませんでした。 – ragingasiancoder
1)[複数のJFramesの使用、良い/悪い習慣?](http://stackoverflow.com/q/9554636/418556)を参照してください。2)[検出/コードブロックのぶら下がっている括弧のための修正](http://meta.stackexchange.com/q/251795/155831)私はもはや悩んでいた問題を解決することができませんでした。 3)もっと早い時期に、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 –
'form1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);'(sigh)あなたは***本当に***は、現在進行中のように '飛行ブラインド'ではなく、使用されたメソッドのJavaドキュメントをチェックする必要があります。 –