当用户单击“从文件加载”按钮时,我想创建一个弹出窗口。我希望该弹出框有一个文本框和一个“确定”“取消”选项。
我已经阅读了很多 Java 文档,但没有看到简单的解决方案,感觉就像我遗漏了一些东西,因为如果有一个 JOptionPane 允许我向用户显示一个文本框,为什么没有办法检索该文本?
除非我想创建一个“在文本框中输入文本并单击确定”程序,但这就是我现在正在做的事情。
当用户单击“从文件加载”按钮时,我想创建一个弹出窗口。我希望该弹出框有一个文本框和一个“确定”“取消”选项。
我已经阅读了很多 Java 文档,但没有看到简单的解决方案,感觉就像我遗漏了一些东西,因为如果有一个 JOptionPane 允许我向用户显示一个文本框,为什么没有办法检索该文本?
除非我想创建一个“在文本框中输入文本并单击确定”程序,但这就是我现在正在做的事情。
您确实可以使用 JOptionPane 检索用户输入的文本:
String path = JOptionPane.showInputDialog("Enter a path");
Java 教程中有一个关于 JOptionPane 的精彩页面:http: //docs.oracle.com/javase/tutorial/uiswing/components/dialog.html
但是如果你真的需要用户选择一个路径/一个文件,我认为你宁愿显示一个 JFileChooser:
JFileChooser chooser = new JFileChooser();
if(chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
File selectedFile = chooser.getSelectedFile();
}
否则,您可以通过使用 JDialog 来创建自己的对话框,其中包含您想要的所有内容。
编辑
这是一个简短的示例,可帮助您创建主窗口。在 Swing 中,窗口是使用 JFrame 创建的。
// Creating the main window of our application
final JFrame frame = new JFrame();
// Release the window and quit the application when it has been closed
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
// Creating a button and setting its action
final JButton clickMeButton = new JButton("Click Me!");
clickMeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Ask for the user name and say hello
String name = JOptionPane.showInputDialog("What is your name?");
JOptionPane.showMessageDialog(frame, "Hello " + name + '!');
}
});
// Add the button to the window and resize it to fit the button
frame.getContentPane().add(clickMeButton);
frame.pack();
// Displaying the window
frame.setVisible(true);
我仍然建议您遵循 Java Swing GUI 教程,因为它包含您入门所需的一切。