为了账号安全,请及时绑定邮箱和手机立即绑定

java GUI Form open other form onclick button

java GUI Form open other form onclick button

元芳怎么了 2022-05-21 16:38:47
当从form1打开form2单击按钮时,我正在尝试做。它听起来很简单,但我找不到任何方法来做到这一点。我正在使用 java intellij。当我使用netbeans和swing时,我正在这样做:“Form2 form2=new Form2();form2.setVisible(true);处置();"表格1(主要):public class Main {    private JButton b_show;    private JButton b_Add;    private JPanel jp_main;    public Main() {        b_show.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent actionEvent) {            }        });    }    public static void main(String[]args){        JFrame frame=new JFrame();        frame.setContentPane(new Main().jp_main);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setSize(300,300);        frame.setVisible(true);    }}表格2(显示):public class Show {    private JButton b_back;    public JPanel jpanelmain;    public Show() {        Show show=new Show();        geriButton.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent actionEvent) {            }        });    }    public static void main(String[]args){        JFrame frame=new JFrame();        frame.setContentPane(new Show().jpanelmain);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setSize(300,300);        frame.setVisible(true);    }}有人可以帮助我吗?单击 b_show 时打开 form2(显示)。
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

这是一个演示它的mcve


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;


public class Main {


    private final JButton b_show;

    private final JPanel jp_main;


    public Main() {

        jp_main = new JPanel();

        b_show = new JButton("Show");

        b_show.addActionListener(actionEvent -> {

            new Show();

        });

        jp_main.add(b_show);

    }

    public static void main(String[]args){

        JFrame frame=new JFrame();

        frame.setContentPane(new Main().jp_main);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(300,300);

        frame.setVisible(true);

    }

}


class Show {

    private JButton b_back;

    public JPanel jpanelmain;



    public Show() {

        createAndShowGui();

    }


    void createAndShowGui(){


        JFrame frame=new JFrame();

        frame.setLocationRelativeTo(null);

        jpanelmain = new JPanel();

        b_back = new JButton("Back");

        jpanelmain.add(b_back);

        frame.setContentPane(jpanelmain);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(300,300);

        frame.setVisible(true);

    }


查看完整回答
反对 回复 2022-05-21
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

最好的方法是使用 JDialogs。在actionPerformed()调用“Form1”时,您将实例化一个新的 JDialog 并将其设置为可见。这是一个例子:


public class Show extends JDialog {


    private JButton b_back;

    public JPanel jpanelmain;


    public Show(Frame owner, boolean modal) {

        super(owner, modal);

    }


    //method that creates the GUI   

}




b_show.addActionListener(new ActionListener() {

    @Override

    public void actionPerformed(ActionEvent actionEvent) {

        Show show = new Show(JOptionPane.getFrameForComponent(this), true);

        show.setVisible(true);

    }

});

最后,当你想关闭对话框时,actionPerformed()在里面实现一个,并调用dispose()方法


查看完整回答
反对 回复 2022-05-21
  • 2 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号