回答
JOptionPane的是你的朋友:http://www.javalobby.org/java/forums/t19012.html
退房Swing Dialogs(主要集中在JOptionPane,由@mcfinnigan提到)。
嗯,它一直是一小会儿,但是从我记得...
如果你想有一个自定义窗口,你可以只是做一个新的框架,并使其显示出来,就像你会与主窗口。 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!");
如果你不小心限制用户的选择,你既可以使用showInputDialog方法,它采用较少的参数或对象的数组指定空的形式。在Java的外观和感觉,用空的可能性,结果,有一个文本框,看起来像这样的对话:
我想我想做新的框架可以ü演示如何做到这一点thx btw? – Carlo 2012-01-13 21:12:29
我上面提到的例子大致上是清晰和简洁的,我可以告诉你如何去做。如果您想在示例之外对其进行定制,请查看Java文档。 – Prediluted 2012-01-23 14:17:24
了相同的答案: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);
}
});
}
}
public class JSONPage {
Logger log = Logger.getLogger("com.prodapt.autotest.gui.design.EditTestData");
public static final JFrame JSONFrame = new JFrame();
public final JPanel jPanel = new JPanel();
JLabel IdLabel = new JLabel("JSON ID*");
JLabel DataLabel = new JLabel("JSON Data*");
JFormattedTextField JId = new JFormattedTextField("Auto Generated");
JTextArea JData = new JTextArea();
JButton Cancel = new JButton("Cancel");
JButton Add = new JButton("Add");
public void JsonPage() {
JSONFrame.getContentPane().add(jPanel);
JSONFrame.add(jPanel);
JSONFrame.setSize(400, 250);
JSONFrame.setResizable(false);
JSONFrame.setVisible(false);
JSONFrame.setTitle("Add JSON Data");
JSONFrame.setLocationRelativeTo(null);
jPanel.setLayout(null);
JData.setWrapStyleWord(true);
JId.setEditable(false);
IdLabel.setBounds(20, 30, 120, 25);
JId.setBounds(100, 30, 120, 25);
DataLabel.setBounds(20, 60, 120, 25);
JData.setBounds(100, 60, 250, 75);
Cancel.setBounds(80, 170, 80, 30);
Add.setBounds(280, 170, 50, 30);
jPanel.add(IdLabel);
jPanel.add(JId);
jPanel.add(DataLabel);
jPanel.add(JData);
jPanel.add(Cancel);
jPanel.add(Add);
SwingUtilities.updateComponentTreeUI(JSONFrame);
Cancel.addActionListener(new ActionListener() {
@SuppressWarnings("deprecation")
@Override
public void actionPerformed(ActionEvent e) {
JData.setText("");
JSONFrame.hide();
TestCasePage.testCaseFrame.show();
}
});
Add.addActionListener(new ActionListener() {
@SuppressWarnings("deprecation")
@Override
public void actionPerformed(ActionEvent e) {
try {
PreparedStatement pStatement = DAOHelper.getInstance()
.createJSON(
ConnectionClass.getInstance()
.getConnection());
pStatement.setString(1, null);
if (JData.getText().toString().isEmpty()) {
JOptionPane.showMessageDialog(JSONFrame,
"Must Enter JSON Path");
} else {
// System.out.println(eleSelectBy);
pStatement.setString(2, JData.getText());
pStatement.executeUpdate();
JOptionPane.showMessageDialog(JSONFrame, "!! Added !!");
log.info("JSON Path Added"+JData);
JData.setText("");
JSONFrame.hide();
}
} catch (SQLException e1) {
JData.setText("");
log.info("Error in Adding JSON Path");
e1.printStackTrace();
}
}
});
}
}
嗯...有点在回答问题的边界上,是不是;-)无论如何,a)请学习java命名约定并坚持它们b)从不做任何手动调整/定位组件,这是独占的合适的LayoutManager的任务c)不需要updateComponentTree – kleopatra 2013-10-04 08:00:49
尝试使用的JOptionPane或SWT壳牌。
- 1. 如何居中jqGrid popup模态窗口?
- 2. Java - 如何制作Mac弹出窗口?
- 3. 如何自动定位窗口像Popup?
- 4. 如何从PopUp窗口到达ApplicationBar?
- 5. 在窗口中制作pygtksourceview
- 6. flexigrid popup模式窗口
- 7. Popup只有前景窗口
- 8. 如何在Modal Popup窗口中显示JSP页面?
- 9. 如何在mvc3中显示PopUP窗口时限制页面的功能?
- 10. Java如何制作窗户?
- 11. 如何在Panel移动窗体窗口中制作mousedrag?
- 12. Java窗口控制
- 13. 如何在未触摸时使键盘的POPUP窗口关闭
- 14. 如何在java中创建窗口组?
- 15. 如何在Java中激活窗口?
- 16. 如何在java中关闭旧窗口?
- 17. 如何制作firemonkey HUD窗口
- 18. 如何制作欢迎窗口?
- 19. 如何制作模态窗口
- 20. 如果“if语句”为真,如何打开PopUp窗口?
- 21. 如何使用COM互操作在窗口窗口中显示Excel窗口
- 22. 标准绘制Java窗口
- 23. 用java控制窗口
- 24. 可以打开FIie Upload PopUp窗口
- 25. popup没有激活窗口被激活
- 26. Modal Popup Extender窗口(JavaScript)之间闪烁?
- 27. 工具提示被POPUP窗口阻止
- 28. IE上的POPUP窗口问题
- 29. Iframe/Popup重定向打开窗口
- 30. Java-如何Flash JPanel窗口
也许'JOptionPane.showInputDialog(null,“这是消息”,“这是默认文本”)'? – fireshadow52 2012-01-13 15:22:03
请标记答案,以便解决此问题。 – Ungeheuer 2016-05-24 17:38:34