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的警报对话框