Java JFrame作为对话框

Java JFrame作为对话框,java,swing,jframe,jdialog,Java,Swing,Jframe,Jdialog,我想定制jframe,该框架应该像joptionpane一样工作。这是相对于父母的。我可以这样做吗。如果可能的话,请任何人帮助我 有一点比你想象的更容易接近 重新发明轮子是没有用的。只需使用JDialog而不是黑客攻击的JFrame 请考虑在你的问题上多加一点努力。答案的质量反映了问题的质量。下面是一些带有JFrames的对话框示例。尝试使用对话框自定义JFrame可能是非常不必要的,因为这些只是您可以使用的大量对话框中的一小部分 正如GCrec所引用的,还有一些关于Oracle的教程,可以为您

我想定制jframe,该框架应该像joptionpane一样工作。这是相对于父母的。我可以这样做吗。如果可能的话,请任何人帮助我

有一点比你想象的更容易接近

重新发明轮子是没有用的。只需使用
JDialog
而不是黑客攻击的
JFrame


请考虑在你的问题上多加一点努力。答案的质量反映了问题的质量。

下面是一些带有JFrames的对话框示例。尝试使用对话框自定义JFrame可能是非常不必要的,因为这些只是您可以使用的大量对话框中的一小部分

正如GCrec所引用的,还有一些关于Oracle的教程,可以为您提供更多的描述

  public class SO {

public static void main(String[] args) {

    //Shows a GUI to allow typed input        
    String showInput = JOptionPane.showInputDialog(new JFrame(), "Enter some input:");
    //Shows a GUI displaying a message, in this case the typed input
    JOptionPane.showMessageDialog(new JFrame(), showInput);
    //A confirmation dialog for choosing yes or no
    JOptionPane.showConfirmDialog(new JFrame(), "Was that correct?");
    //Options for the below GUI where you have a range of options.  The int response 
    //varies depending on what you select. Then use something like an if statement to react to the input
    String[] options = {"Red", "Blue", "Green"};
     int response = JOptionPane.showOptionDialog( null, "Favorite Colour?", "Choice?", JOptionPane.YES_NO_OPTION    , JOptionPane.PLAIN_MESSAGE , null, options, "Wide Search");


    //The one you probably want, the JDialog which is basically a JFrame with a file selection dialog inside         
     FileDialog fc = new FileDialog(new JFrame(), "File Dialog");
    fc.setVisible(true);
    String selectedFile = fc.getFile();
     System.out.println("You have selected: " + selectedFile);
     File f = new File(selectedFile);
     JOptionPane.showMessageDialog(new JFrame(), f.getAbsolutePath());
}
希望这有帮助!
祝你好运

我想定制jframe并使其成为一个对话框为什么?
JDialog
是一个选项吗?请您再解释一下,要求是什么?为什么要重新发明轮子?我想在一个框架中设计一个表单,我想对该框架设置不透明、未装饰等等,但它应该像joptionpane一样工作,这意味着如果不响应此窗口,我们就不能触摸软件中的任何窗口。我想他已经知道
JDialog
,我想他想为你的回答重新设计轮子。我想定制jframe,而jframe应该作为joptionpane工作。因为我想用setundecorated、setOpacity等设计框架,谢谢你的回复。我想定制jframe,而jframe应该作为joptionpane工作。因为我想用setundecorated、setOpacity等来设计框架,听起来你可能想研究扩展JOPtionpane类,如果你想从这里开始,我不确定你在说什么。如果我有一些例子,那就太好了。提前感谢,我想在一个框架中设计一个表单,我想对该框架设置不透明度、设置不装饰等,但它应该像joptionpane一样工作,这意味着如果不响应此窗口,我们无法触摸软件中的任何窗口。恐怕我不知道如何执行此任务。您希望将焦点保持在JFrame上,就像JOPtion窗格一样。一个带有焦点侦听器的解决方案可能是可行的,或者可能创建一个扩展JOPtion pane类的类,但是这两个类都需要大量的研究。