java,gui,有一个弹窗上有一个按钮,点这个按钮,能够自动关闭当前弹窗,用代码实现,加注释
时间: 2023-08-15 22:04:18 浏览: 135
下面是一个使用Java Swing实现的示例代码:
```java
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CloseDialogButtonExample {
public static void main(String[] args) {
// 创建一个 JFrame 作为主窗口
JFrame frame = new JFrame("示例窗口");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLocationRelativeTo(null); // 居中显示
// 创建一个 JPanel 作为主面板
JPanel panel = new JPanel(new BorderLayout());
// 创建一个 JDialog 作为弹窗
JDialog dialog = new JDialog(frame, "示例弹窗", true);
dialog.setSize(200, 100);
dialog.setLocationRelativeTo(frame); // 居中显示
// 创建一个标签和一个按钮,并添加到弹窗中
JLabel label = new JLabel("点击按钮关闭弹窗");
dialog.add(label, BorderLayout.CENTER);
JButton button = new JButton("关闭");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dialog.dispose(); // 关闭弹窗
}
});
dialog.add(button, BorderLayout.SOUTH);
// 创建一个按钮,点击弹出弹窗
JButton showButton = new JButton("显示弹窗");
showButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dialog.setVisible(true); // 显示弹窗
}
});
panel.add(showButton, BorderLayout.CENTER);
// 将主面板添加到主窗口中
frame.getContentPane().add(panel);
// 显示主窗口
frame.setVisible(true);
}
}
```
在上面的代码中,首先创建了一个 JFrame 作为主窗口,然后创建了一个 JPanel 作为主面板,并将其添加到主窗口中。接着创建了一个 JDialog 作为弹窗,在弹窗中添加了一个标签和一个按钮,并将其设置在弹窗的中央和底部位置。最后创建了一个按钮,点击后弹出弹窗。在弹窗关闭按钮的事件监听器中,调用 `dispose()` 方法关闭弹窗。
阅读全文