【问题标题】:Two of my Java GUI's won't display with setVisible(true) but the other three will我的两个 Java GUI 不会使用 setVisible(true) 显示,但其他三个会
【发布时间】:2012-06-18 20:14:06
【问题描述】:

编辑:缩短问题。

我的程序中有 5 个类,都是 GUI 的。可以调用首页 GUI、选项 GUI 和测验 GUI,并且 setVisible 为它们工作。提示 GUI 和记分卡 GUI 无法使用 setVisible 显示。测验 GUI 上有一个按钮应该调用提示 G​​UI。但是,该按钮不会调用 GUI。它确实有效;我知道这一点是因为我做了一个 System.out.println("Button test") 并打印出来了。

提示 GUI 只是一个带有标签和 3 个按钮的面板。我还没有做过任何监听器,只是用 NetBeans 设计了面板。在我的测验 GUI 上,我有启动提示 GUI 的按钮,代码是:

    private void tipsButtonMouseClicked(java.awt.event.MouseEvent evt) {                                        
    FrontPageGUI.tipsGUI.setVisible(true);
    System.out.println("Test to check if help button works");
    } 

这就像我调用其他 GUI 所做的那样。它只是不显示的提示和记分卡。我完全不明白...在我的选项 GUI 上,我有一个按钮,可以用相同的代码开始测验,而且效果很好。因此我很困惑。

希望我的编辑能让我更容易理解我的问题。

谢谢大家, 布兰登

【问题讨论】:

  • 由于 GUI 的这一部分是一个 JPanel,AFAIK 不能作为独立窗口单独存在,因此查看我假设它扩展了 JFrame 的 FrontPageGUI 会很有用。

标签: java swing user-interface netbeans


【解决方案1】:

这是在 NetBeans 中,所以它确实生成了您看到的几乎所有代码。这就是为什么我不明白。有人知道我可能会错过什么吗?如果需要其他四个类中的任何一个,我会很乐意发布它们。

那么没有任何cmets,

从您的代码中替换您的 public static void main(String args[]) {

public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {
            FrontPageGUI.tipsGUI.setVisible(true);
        }
    });
}

public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.add(new TipsMainGUI());
            frame.pack();
            frame.setVisible(true);
        }
    });
}

输出将是

【讨论】:

  • 感谢您回复我。我应用了这些更改,但单击提示按钮时仍然无法启动 GUI。按钮代码只是一个 FrontPageGUI.tipsGUI.setVisible(true);它仍然无法启动 GUI...还有其他想法吗?
  • @Sanellek:另见answer,它对我有用。
  • @trashgod,我按照trashgod 链接的答案所说的做了,我按照mKorbel 所说的做了。我创建了一个看起来与 mKorbel 链接的输出非常相似的新面板。然而,我的测验 GUI 上的按钮仍然无法打开提示面板......我真的很感激帮助,我不想继续问,但是,还有其他想法吗?谢谢大家!
  • @Sanellek:请编辑您的问题以包含修改后的sscce,它显示了您描述的问题。
  • @trashgod 抱歉,第一次发帖。我编辑了我的问题,希望它有所帮助:-)
猜你喜欢
  • 2012-11-11
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多