gpt4 book ai didi

java - Swing - 处理框架

转载 作者:搜寻专家 更新时间:2023-11-01 01:51:28 25 4
gpt4 key购买 nike

<分区>

我的目标是让 Action 监听器在用户点击 JButton 退出时关闭特定的 JFrame。

总的来说,当程序启动时,一个大的 JFrame 打开,然后在前面打开一个小的......在我的代码中,用户在这个小的 JFrame 中输入一些细节并点击提交(为了简单起见,我在这里省略了这段代码并用退出替换提交)

所以当这个退出按钮被按下时。我希望这个小 JFrame 能够关闭。我似乎无法弄清楚这一点。不同类(class)的 Action 听众和我尝试制作实例但没有运气。在尝试解决此问题时,我已经注释掉了我在下面尝试过的代码。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class test
{
public static void main(String Args[])
{
makeGUI m = new makeGUI();
}
}

class makeGUI
{
JButton close = new JButton("CLOSE ME");

makeGUI()
{
frame f1 = new frame();

JFrame smallframe = new JFrame(); //want to close this one
JPanel jp = new JPanel(new FlowLayout());
smallframe.setSize(300,300);
smallframe.setLocationRelativeTo(null);
smallframe.setDefaultCloseOperation(smallframe.DISPOSE_ON_CLOSE);
close.addActionListener(new action());
jp.add(close);
smallframe.add(jp);
smallframe.setVisible(true);
}

class action implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//makeGUI s1 = new makeGUI();
if (e.getSource () == close)
{
//s1.smallframe.dispose();
System.out.println("gotcha");
}
}
}
}

class frame extends JFrame
{
frame ()
{
setExtendedState(JFrame.MAXIMIZED_BOTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("big one");
setVisible(true);
}
}

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