当前位置: 首页 > 面试题库 >

设置新的Synthetica主题时,为什么我的JFrame不重新粉刷?

罗河
2023-03-14
问题内容

我只是将应用程序主题设置为Synthetica Alu
Oxide,但由于某些原因,JFrame不会重新绘制,而另一个Synthetica主题将重新绘制JFrame。

这就是我的样子。

http://i.imgur.com/SOBDTs4.png

这就是它的样子。

http://www.jyloo.com/images/screenshots/syntheticaAluOxide/democenter2.png

    public MainPanel() {
    JFrame frame = new JFrame();
    frame.setTitle("Asteria 3.0 NPC Definition Editor");

    try {
        UIManager.setLookAndFeel(new SyntheticaAluOxideLookAndFeel());
    } catch (UnsupportedLookAndFeelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    components();       
    frame.setJMenuBar(menuBar);
    JTabbedPane tab = new JTabbedPane();
    tab.addTab("Information", informationTab());

    tab.addTab("Bonuses", bonusTab());
    tab.addTab("Animation", animTab());
    tab.addTab("Property", propertiesTab());
    tab.addTab("Miscellaneous", miscTab());

    frame.getContentPane().add(tab);
    //frame.add(this);
    frame.setSize(500, 600);
    frame.setResizable(false);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);     
}

问题答案:

调用
应在事件分发线程上构造和操作Swing
GUI对象。 __UIManager.setLookAndFeel()

try {
    UIManager.setLookAndFeel(new SyntheticaAluOxideLookAndFeel());
} catch (UnsupportedLookAndFeelException e) {
    e.printStackTrace();
} catch (ParseException e) {
    e.printStackTrace();
}
EventQueue.invokeLater(new Runnable() {
    public void run() {
        JFrame frame = new JFrame();
        …
        frame.pack(true);
        frame.setVisible(true);
    }
});


 类似资料:
  • 当我尝试重新绘制透明窗口并在其上绘制矩形时,之前的矩形将保留。目标是通过单击并移动鼠标在屏幕上选择一个区域。如果你移动鼠标一会儿,它会看起来像这样 通过去除透明度,效果很好。 我尝试了在Stack Overflow上找到的关于这个主题的所有内容,但我无法让它在Windows和Linux上运行。 谢谢:)

  • 我尝试在scala中实现一个非常简单的Kafka(0.9.0.1)消费者(代码如下)。 据我理解,Kafka(或者更好地说是Zookeeper)为每个groupId存储给定主题的最后一条消费消息的偏移量。因此,在以下情况下: 具有 的使用者,昨天只消耗了主题中的 5 条消息。现在最后使用的消息的偏移量为 4(考虑偏移量为 0 的第一条消息) 在夜间,2条新消息到达主题 今天我重新启动消费者,使用相

  • choice5是一个JComboBox 从choice5中选择项目时 被称为(编辑:对于我可以选择的每个项目,我可能有一个不同的jtable我想要显示) 编辑(SSCCE): MyTableModel

  • 问题内容: 现在的示例中,我有一个包含jtable的主框架,显示所有客户信息,并且有一个create按钮来打开一个新的JFrame,允许用户创建新客户。我不希望用户可以打开多个创建框架。任何swing组件或API都能做到吗?或如何禁用主机?类似于JDialog。 问题答案: 我建议您将新客户对话框设置为模态,以便在应用程序可见时,不允许其他对话框/框架中的输入。请查看模态教程以了解详细信息。

  • 我有这样的Jpa存储库:

  • 我创建了一个程序,只需在屏幕上移动一个球。我以前把它都放在一节课上,但我觉得它看起来太乱了,所以我把它分成了三个不同的课:主课。。。初始化一切,游戏。。。它描绘一切,是一个JPanel,AL是一个KeyListener(这也是问题所在)。问题是,我无法让程序从我的AL类重新绘制,无论我试图传递什么。有人能帮忙吗?以下是我的三门课: - -