将Swing应用程序迁移到Java 8时的空框架渲染

时间:2018-09-17 15:44:31

标签: java swing java-8 migration

我最近决定将旧的Swing应用程序从Java 1.6升级到1.8。不幸的是,当我在Java 8下构建和启动应用程序时,该窗口出现并且为空。如果我在Java 7或6下构建和启动,则内容将按预期显示。这是重现我的问题的示例代码:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;


public class SwingRenderingIssue {

    public static void main(String[] args) {
           SwingUtilities.invokeLater(new Runnable() {
                  public void run() {
                      JFrame frame = new JFrame();
                      frame.setTitle("hello world");
                      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                      JPanel panel = new JPanel();
                      panel.add(new JButton("hello again"));
                      frame.setContentPane(panel);
                      frame.pack();
                      frame.setVisible(true);
                  }
           });
        }
}

我拥有的Java 8版本是jdk-8u181-linux-x64。

0 个答案:

没有答案