JOptionPane不显示

时间:2017-09-20 10:20:24

标签: java jframe javafx-8 joptionpane

import javafx.application.Application;
import javafx.stage.Stage;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class test extends Application {

public static String listHeader = String.format("%-20s %-20s %3s %-5s %-9s", "First Name", "Last Name", "Age", "Major", "ID Number");
public static String list = "Matthew              Name                  19 CS    12345678\n" +
        "Aaron                Name               21 CS    87654321\n" +
        "Aubree               Name                 20 BUS   83765423\n" +
        "Maddy                Name              20 BUS   93876452\n" +
        "Corbin               Name                 20 CS    93867265\n" +
        "Trystan              Name                  20 CS    73982456\n" +
        "Kiefer               Name                  20 CS    12348765 ";

public void start(Stage primaryStage) throws Exception
{
    JFrame frame = new JFrame("Directory list");
    JOptionPane.showMessageDialog(frame,
            listHeader + "\n" + list,
            "Directory Listing",
            JOptionPane.PLAIN_MESSAGE);
}

// public static void main(String argc[])
// {
//     JFrame frame = new JFrame("Directory list");
//     JOptionPane.showMessageDialog(frame,
//             listHeader + "\n" + list,
//             "Directory Listing",
//             JOptionPane.PLAIN_MESSAGE);
// }
}

这是我写的小测试程序。我是java的新手,请原谅我,如果这是一个简单的错误。无论如何,我似乎无法使用上面的代码显示JOptionPane。我相信我已将问题缩小到程序类型。当我使用"扩展应用程序"而不是主方法代码获取JOptionPane然后什么都不做。它只是永远运行我的程序,并没有显示JOptionPane。我已经阅读了几乎所有与JOptionPane相关的javadoc,但仍未能找到解决方案。我确实遇到过有类似问题的人,并且建议它必须做一些Swing和它的单线程规则。虽然我必须承认我不知道这意味着什么。任何帮助表示赞赏。谢谢!

编辑: 对不起,我第一次不清楚。你在这里看到的片段是我的实际程序,它只是我写的东西,以找到问题的根源。我认为它与我试图混合JavaFX和Swing有关,我尝试混合它们的原因是我认为JOptionPane很容易格式化,我需要使用其他JavaFX对话框。所以我想我的新问题是:尝试混合两者是否切合实际?或者我应该坚持使用JavaFX的警报对话框

0 个答案:

没有答案