java 在NetBeans中单击“运行”时,GUI不会显示

z5btuh9x  于 2023-02-02  发布在  Java
关注(0)|答案(5)|浏览(205)

当我在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)            
    }
btxsgosb

btxsgosb1#

  1. JPanel窗体不是在GUI生成器中使用main方法创建的,而您确实需要x1m1 n1 * 方法。
  2. JPanel不是顶级容器,而您运行Swing应用程序时确实需要它。
    1.例如,顶级容器是JFrame。因此,您应该创建JFrame表单,而不是JPanel表单。在NetBeans GUI生成器中执行此操作时,将为您提供main方法。
    1.一个简单的修复方法是创建一个新的JFrame窗体,然后将JPanel窗体拖放到JFrame窗体中,如here所示,去掉JPanel窗体中的main方法,然后运行JFrame窗体类。
    1.您可能还需要将Main类设置/更改为刚刚创建的新JFrame表单。
r7xajy2e

r7xajy2e2#

首先,您正在扩展JPanel,这是错误的,因为正如peeskillet在第2点和第3点所写的那样。

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

所以你必须扩展其中的一个,可能是第一个。
然后在这个顶级容器中,您可以创建JPanel,一个或多个,每个人都将是另一个对象的容器,该对象将是内容。
此外,请记住setVisible您实现的每个JPanel以及顶级容器。
有用链接:

amrnrhlw

amrnrhlw3#

将JPanel更改为JFrame。它将工作。

nuypyhwy

nuypyhwy4#

按照路径YourProject/packacge,你的java文件在然后,你可以右键单击你的项目,然后从那里单击“运行文件”。这对我来说很有效。

kxe2p93d

kxe2p93d5#

如果使用NetBeans,则在生成后,请检查是否正在运行项目中所需的文件。为此,请按shift + f6

相关问题