当我选择"运行"在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)
}
答案 0 :(得分:2)
JPanel
表单不使用main
方法在GUI Builder中创建,您 需要。
JPanel
不是顶级容器,您 需要运行Swing应用。
顶级容器例如是JFrame
。因此,您应该创建一个JFrame
表单而不是JPanel
表单。在Netbeans GUI Builder中执行此操作时,将为您提供main
方法。
一个简单的解决方法就是创建一个新的JFrame
表单,然后将JPanel
表单拖放到JFrame
表单,如here所示},删除main
表单中的JPanel
方法,然后运行JFrame
表单类。
您可能还需要将Main类设置/更改为刚刚创建的新JFrame
表单。您可以通过查看this answer
答案 1 :(得分:1)
首先,你正在扩展JPanel,这是错误的,因为peeskillet在第2点和第3点写道。 顶级容器的种类是:
所以你必须扩展其中一个,可能是第一个。
在这个顶级容器中,您可以创建一个或多个JPanel,每个人都将成为另一个对象的容器。
Morover,请记住setVisible
您实施的每个JPanel以及顶级容器。
有用的链接:
答案 2 :(得分:0)
跟随路径java文件所在的YourProject / packacge 然后, 您可以右键单击您的项目,然后从那里单击“运行文件”。这对我有用。
答案 3 :(得分:-1)
将JPanel更改为JFrame。它会起作用。