0

これが私のコードです問題は、1つの余分なフォームが作成される理由が見つからないことです

        public void actionPerformed(ActionEvent ae){
           submitBtn.setForeground(Color.red);               
           //getting value form the textFields
           String name = nameTxt.getText();
           String userName = userNameTxt.getText();
           char[] pass = password.getPassword();
           Object monthValue = month.getSelectedItem();
           String yearValue = yearTxt.getText();
           String dateValue = dateTxt.getText();
           Object genderValue = gender.getSelectedItem();
           String mobileValue = mobileTxt.getText();
           Object locationValue = country.getSelectedItem();

           showDetails page = new showDetails();
           page.setVisible(true);
           JPanel contentPane = new JPanel();
           contentPane.setLayout(null);
           contentPane.setBorder(BorderFactory.createTitledBorder("user Details"));
           JLabel nameVL = new JLabel("Name             :            " + name );
           nameVL.setBounds(80, 30, 200, 200);
           contentPane.add(nameVL); 
           page.getContentPane().add(contentPane);               
        }

上記のコードはsignuppage.javaクラスにあります

ラベルの結果をshowDetailsクラスに表示するフォームを作成します

public class showDetails extends JFrame {

    Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

    public showDetails() {
        JFrame showFrame = new JFrame("user details");
        showFrame.setDefaultCloseOperation(javax.swing.JFrame.DISPOSE_ON_CLOSE);
        showFrame.setSize(300, 400);
        showFrame.setVisible(true);
        showFrame.setLocation((screen.width - 500)/2,((screen.height-350)/2));
    }
}

しかし、私の問題は、この1つのフォームが作成されたという代わりにshowFramに結果が表示されないことです。方法がわかりません。

4

1 に答える 1

2

ShowDeatilsから拡張しJFrameますが、そのコンストラクターでは別のJFrameを作成しているため、新しいインスタンスを作成するたびに 2 つのフレームを作成しています。showDetails

更新しました

基本的に、またはあなたがする必要があるのは...

public void actionPerformed(ActionEvent ae){
        submitBtn.setForeground(Color.red);               
        //getting value form the textFields
        String name = nameTxt.getText();
        String userName = userNameTxt.getText();
        char[] pass = password.getPassword();
        Object monthValue = month.getSelectedItem();
        String yearValue = yearTxt.getText();
        String dateValue = dateTxt.getText();
        Object genderValue = gender.getSelectedItem();
        String mobileValue = mobileTxt.getText();
        Object locationValue = country.getSelectedItem();

        JFrame showFrame = new JFrame("user details");
        showFrame.setDefaultCloseOperation(javax.swing.JFrame.DISPOSE_ON_CLOSE);
        showFrame.setSize(300, 400);
        showFrame.setLocation((screen.width - 500)/2,((screen.height-350)/2));  

        JPanel contentPane = new JPanel();
        contentPane.setLayout(null);
        contentPane.setBorder(BorderFactory.createTitledBorder("user Details"));
        JLabel nameVL = new JLabel("Name             :            " + name );
        nameVL.setBounds(80, 30, 200, 200);
        contentPane.add(nameVL); 

        showFrame.getContentPane().add(contentPane);               
        showFrame.setVisible(true);
        showFrame.setVisible(true);
    }
于 2013-03-06T08:17:59.853 に答える