【问题标题】:My GUI will not display when I hit run in NetBeans当我在 NetBeans 中点击运行时,我的 GUI 不会显示
【发布时间】:2014-05-04 07:12:02
【问题描述】:

当我在 Netbeans 中选择“运行”时,我的 GUI 不显示。它只是在屏幕底部显示一个框,上面写着“构建成功”。

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package modelrange;

import javax.swing.DefaultBoundedRangeModel;

public class RangedModel extends javax.swing.JPanel {

    DefaultBoundedRangeModel myModel;

    public static void main(String[] args) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new RangedModel().setVisible(true);
            }
       });
    }

    /**
     * Creates new form RangedModel
     */
    public RangedModel() {
        myModel = new DefaultBoundedRangeModel(123, 100, 0, 1000);
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */

    private void initComponents() { 
    This is just the automated netbeans code from the GUI builder (edited out for the post)            
    }

【问题讨论】:

  • 您的 main 方法中没有任何内容
  • 我使用了我构建的另一个 GUI 中的 main 方法,但它仍然不显示

标签: java swing netbeans


【解决方案1】:

跟随你的java文件所在的路径YourProject/packacge 然后, 您可以右键单击您的项目,然后从那里单击“运行文件”。这对我有用。

【讨论】:

    【解决方案2】:
    1. JPanel 表单不是在 GUI Builder 中使用 main 方法创建的,您确实需要。

    2. JPanel 不是顶级容器,您确实需要它来运行 Swing 应用程序。

    3. 例如,顶级容器是JFrame。所以你应该创建一个JFrame 表单而不是JPanel 表单。当您在 Netbeans GUI Builder 中执行此操作时,将为您提供一个 main 方法。

    4. 一个简单的解决方法是创建一个新的JFrame 表单,然后将JPanel 表单拖放到JFrame 表单,如here 所示,去掉@987654333 JPanel 表单中的 @ 方法,然后运行 ​​JFrame 表单类。

    5. 您可能还需要将 Main 类设置/更改为您刚刚创建的新 JFrame 表单。你可以通过查看this answer

    【讨论】:

      【解决方案3】:

      首先,您正在扩展 JPanel,这是错误的,因为正如 peeskillet 在第 2 点和第 3 点所写的那样。 顶级容器的种类有:

      • JFrame : 带栏的窗口
      • JWindow : 没有栏的窗口
      • JDialog : 通常用于创建选项窗口的窗口

      所以你必须扩展其中一个,可能是第一个。

      比在这个顶级容器中你可以创建JPanel,一个或多个,每个人都将是另一个对象的容器,这将是内容。

      Morover,记得setVisible 你实现的每个 JPanel 以及顶级容器。

      有用的链接:

      【讨论】:

        【解决方案4】:

        将 JPanel 更改为 JFrame。它会起作用的。

        【讨论】:

        • 请看史蒂夫郭的评论
        • 甚至没有什么主要的。它会起作用的。因为你的构造函数做了你所有的 GUI
        • 但是谁调用了构造函数——同样默认情况下,JFrame 构造函数不会向自己添加组件或显示自己,所以我几乎不认为它会有所作为。此外,您不需要从JFrame 扩展,您没有添加任何功能,只需创建一个实例并将RangedModel 添加到它...
        • user3301269 请尝试分享生成的 GUI。
        • 我从我构建的另一个 GUI 添加了我使用的主要方法,但它仍然不显示。顺便说一句,将其更改为 JFrame 也不起作用
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        • 2014-06-16
        • 1970-01-01
        相关资源
        最近更新 更多