如何在java中创建PopUp窗口

Car*_*rlo 28 java swing window popup

我目前正在开发一个java应用程序.

我想显示一个包含文本区域和按钮的新窗口.

你有什么想法?

COD*_*BOY 35

同样的答案:JOptionpane与一个例子:)

package experiments;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class CreateDialogFromOptionPane {

    public static void main(final String[] args) {
        final JFrame parent = new JFrame();
        JButton button = new JButton();

        button.setText("Click me to show dialog!");
        parent.add(button);
        parent.pack();
        parent.setVisible(true);

        button.addActionListener(new java.awt.event.ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                String name = JOptionPane.showInputDialog(parent,
                        "What is your name?", null);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 12

嗯,它已经有一段时间,但从我记得...
如果你想要一个自定义窗口,你可以创建一个新的框架,让它像你对主窗口一样显示.Java还有一个很棒的对话库,你可以在这里查看:

如何制作对话框

这可能会为您提供您正在寻找的功能,而且工作量更少.

Object[] possibilities = {"ham", "spam", "yam"};
String s = (String)JOptionPane.showInputDialog(
                    frame,
                    "Complete the sentence:\n"
                    + "\"Green eggs and...\"",
                    "Customized Dialog",
                    JOptionPane.PLAIN_MESSAGE,
                    icon,
                    possibilities,
                    "ham");

//If a string was returned, say so.
if ((s != null) && (s.length() > 0)) {
    setLabel("Green eggs and... " + s + "!");
    return;
}

//If you're here, the return value was null/empty.
setLabel("Come on, finish the sentence!");
Run Code Online (Sandbox Code Playgroud)

如果您不想限制用户的选择,您可以使用showInputDialog方法的形式,该方法接受较少的参数或为对象数组指定null.在Java外观中,将null替换为可能性会导致具有文本字段的对话框如下所示: