gpt4 book ai didi

Java 第二个框架不显示

转载 作者:行者123 更新时间:2023-12-02 11:58:59 25 4
gpt4 key购买 nike

我制作了一个项目,在表格中您可以看到 4 个按钮,当您单击它时,必须出现另一个框,但是当我这样做时,第二个窗口打开,两个窗口都关闭,我无法访问以下代码应该来自 ActionPerformed() ,它只是弹出另一个窗口并在不到 3 秒的时间内关闭而不打开它,其他代码工作正常我累了,这是第一个框的代码:

public class MathoQuest extends JFrame implements ActionListener  {
JButton boutConvert, boutGeo, boutFonc, boutOut;



public MathoQuest() {
setTitle("Bienvenue a MathoQuest");
setSize(250,500);
JPanel simplePanel = new JPanel();
simplePanel.setLayout(null);
add(simplePanel);
Font helvb14 = new Font("Arial" , Font.BOLD , 30);


boutConvert = new JButton("Convertir");
boutConvert.setFont(helvb14);
boutConvert.setForeground(Color.white);
boutConvert.setBackground(new Color(63,107,220));
simplePanel.add(boutConvert);
boutConvert.setBounds(25,50,200,80);
boutConvert.addActionListener(this);

boutGeo = new JButton("Geometrie-\nEN CONSTRUCTION-");
boutGeo.setFont(helvb14);
boutConvert.setForeground(Color.white);
boutGeo.setBackground(new Color(145,110,220));
simplePanel.add(boutGeo);
boutGeo.setBounds(25,150,200,80);
boutGeo.addActionListener(this);

boutFonc = new JButton("Fonction");
boutFonc.setFont(helvb14);
boutFonc.setForeground(Color.white);
boutFonc.setBackground(new Color(150,200,80));
simplePanel.add(boutFonc);
boutFonc.setBounds(25,250,200,80);
boutFonc.addActionListener(this);

boutOut = new JButton("Quitter");
boutOut.setFont(helvb14);
boutOut.setForeground(Color.white);
boutOut.setBackground(new Color(245,130,0));
simplePanel.add(boutOut);
boutOut.setBounds(25,350,200,80);
boutOut.addActionListener(this);


}
public static void main(String[] args) {
MathoQuest mathframe = new MathoQuest();
mathframe.setVisible(true);
mathframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void actionPerformed(ActionEvent e) {
if (e.getSource() == boutConvert) {
ConversionFrame frame = new ConversionFrame();
frame.getContentPane();
frame.setVisible(true);
}
if (e.getSource() == boutGeo) {
JOptionPane.showMessageDialog(null,"Ce mode est encore en construction merci de reessayer plus tard");
}
if (e.getSource() == boutFonc) {
FonctionFrame dess = new FonctionFrame();
dess.getContentPane();
dess.setVisible(true);
}
if (e.getSource() == boutOut)
JOptionPane.showMessageDialog(null,"Au revoir et merci d'avoir utilise cette application");
System.exit(0);
}


}

最佳答案

您是否尝试过将最后一个 if 条件括在大括号中?

如果不包含它们,System.exit(0); 在任何情况下都会被调用,并且只有 if 之后的直接行才会成为其中的一部分。

因此 exit 方法将成为直接方法的一部分,而不是 if block 的一部分。

实际上,程序将如下所示:

if (e.getSource() == boutOut)
{
JOptionPane.showMessageDialog(null,"Au revoir et merci d'avoir utilise cette application");
}

System.exit(0);

而它应该看起来像这样:

if (e.getSource() == boutOut)
{
JOptionPane.showMessageDialog(null,"Au revoir et merci d'avoir utilise cette application");
System.exit(0);
}

关于Java 第二个框架不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47397588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com