JAVA:JOptionPane怎么把输入框中的按钮关闭
时间: 2024-03-07 18:50:08 浏览: 57
Java Swing中JDialog实现用户登陆UI示例
5星 · 资源好评率100%
JOptionPane.showInputDialog()方法返回的是用户输入的字符串,而不是按钮。如果你想要关闭输入框中的按钮,可以使用JDialog类来创建自定义的对话框。以下是一个示例代码,其中创建了一个带有“取消”按钮的对话框,并且当用户单击“取消”按钮时,对话框将被关闭:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CustomDialog extends JDialog implements ActionListener {
private JTextField textField;
private JButton cancelButton;
public CustomDialog(Frame parent, String title) {
super(parent, title, true);
textField = new JTextField(20);
cancelButton = new JButton("取消");
cancelButton.addActionListener(this);
JPanel panel = new JPanel(new GridLayout(0, 1));
panel.add(new JLabel("请输入:"));
panel.add(textField);
panel.add(cancelButton);
getContentPane().add(panel, BorderLayout.CENTER);
pack();
setLocationRelativeTo(parent);
}
public String getText() {
return textField.getText();
}
public void actionPerformed(ActionEvent e) {
setVisible(false);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
frame.setVisible(true);
CustomDialog dialog = new CustomDialog(frame, "自定义对话框");
dialog.setVisible(true);
if(dialog.getText() != null) {
JOptionPane.showMessageDialog(frame, "您输入的内容是:" + dialog.getText());
}
}
}
```
在这个示例中,我们创建了一个CustomDialog类,它继承自JDialog,并实现了ActionListener接口。在对话框中,我们使用了一个JTextField和一个JButton,并将它们添加到一个JPanel中,然后将该面板添加到对话框的中心位置。当用户单击“取消”按钮时,我们在actionPerformed()方法中调用setVisible(false)来关闭对话框。最后,我们在main()方法中创建了一个CustomDialog实例并显示它,然后在用户关闭对话框后,显示一个消息框,显示用户输入的内容。
阅读全文