当我在NetBeans中运行时,我的GUI不会显示

时间:2014-03-26 04:37:56

标签: java swing netbeans

当我选择"运行"在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)            
    }

4 个答案:

答案 0 :(得分:2)

  1. JPanel表单使用main方法在GUI Builder中创建,您 需要。

  2. JPanel不是顶级容器,您 需要运行Swing应用。

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

  4. 一个简单的解决方法就是创建一个新的JFrame表单,然后将JPanel表单拖放到JFrame表单,如here所示},删除main表单中的JPanel方法,然后运行JFrame表单类。

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

  6. 来实现

答案 1 :(得分:1)

首先,你正在扩展JPanel,这是错误的,因为peeskillet在第2点和第3点写道。 顶级容器的种类是:

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

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

在这个顶级容器中,您可以创建一个或多个JPanel,每个人都将成为另一个对象的容器。

Morover,请记住setVisible您实施的每个JPanel以及顶级容器。

有用的链接:

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

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