0

再帰的に互いに動作するようにパネルにアクセスしようとしています。

メイン GUI を使用しているとき、ボタン追加クライアントを含む最初の JPanel があります。クリックすると、フォームを含む JPanel に移動し、それらの値を回復して、最初の JPanel のメインの JTable に送信します。 GUI。

次に、2 番目のレコードを挿入しようとすると。空の GUI が表示されます。何が間違っているのかよくわかりません。同じアクションを複数回繰り返すにはどうすればよいですか? フォームをロードし、情報を入力し、それをテーブルにプッシュすると、このプロセスが必要なだけ繰り返されます。

これは、メイン GUI の [クライアントの追加] ボタンの宣言です。

Button btn_AddClient = new Button("Add Client");
        btn_AddClient.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                panel.setVisible(false);
                contentPane.setVisible(false);
                setContentPane(contentPaneClient);
            }
        });
        btn_AddClient.setBounds(259, 12, 70, 22);
        contentPane.add(btn_AddClient); 

これは、2 番目のパネルにあるフォームの追加ボタンです。

JButton btnAdd = new JButton("Add");
        btnAdd.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent arg0) {


                setContentPane(contentPaneClient);
                panel.setVisible(true);
                contentPane.setVisible(true);
                contentPaneClient.setVisible(false);
                LigneJTab l = new LigneJTab(textFieldPrenomClient.getText(),textFieldNomClient.getText(), textFieldAdresseClient.getText(), chckbxHomme.isSelected(), Sport.FOOTBALL);
                myModel.addLine(l);
                setContentPane(contentPane);
            }
        });
        btnAdd.setBounds(263, 40, 117, 29);
        contentPaneClient.add(btnAdd);
4

2 に答える 2

0
JButton btnAdd = new JButton("Add");
    btnAdd.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent arg0) {

            //setContentPane(contentPaneClient);
            //panel.setVisible(true);
            //contentPane.setVisible(true);
            //contentPaneClient.setVisible(false);

            LigneJTab l = new LigneJTab(textFieldPrenomClient.getText(),textFieldNomClient.getText(), textFieldAdresseClient.getText(), chckbxHomme.isSelected(), Sport.FOOTBALL);
            myModel.addLine(l);

            panel.setVisible(true);
            contentPane.setVisible(true);
            setContentPane(contentPane);

        }
    });
    btnAdd.setBounds(263, 40, 117, 29);
    contentPaneClient.add(btnAdd);

上部にコメントを付けて、機能するsetContentPane(contentPane);and を追加しました!

ありがとう !

于 2013-07-18T03:22:20.437 に答える