java – 如何使用文本字段创建弹出窗口?

我想在用户单击“从文件加载”按钮时创建一个弹出窗口.我希望该弹出框有一个文本框和一个“确定”“取消”选项.

我已经阅读了很多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教程,因为它包含了入门所需的一切.

上一篇:java – 如何从菜单栏打开新窗口?


下一篇:java – 使用带有JOptionPane.showInputDialog的ArrayList