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替换为可能性会导致具有文本字段的对话框如下所示: