You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetBeans新建Java项目仅输出代码不显示JFrame UI问题求助

问题描述

在NetBeans中新建Java项目,创建JFrame文件indexx.java,添加按钮后预览正常,但运行时仅输出“Hello World”,无法显示JFrame界面。尝试在项目配置中设置主类为indexx无效,构建显示BUILD SUCCESS。

相关代码

indexx.java

import javax.swing.JOptionPane;
public class indexx extends javax.swing.JFrame {

    
    public indexx() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                           
    private void initComponents() {

        student = new javax.swing.JButton();
        admin = new javax.swing.JButton();
        exit = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setUndecorated(true);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        student.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        student.setIcon(new javax.swing.ImageIcon(getClass().getResource("/studentedited.png"))); // NOI18N
        student.setText("Student");
        student.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                studentActionPerformed(evt);
            }
        });
        getContentPane().add(student, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 120, 150, -1));

        admin.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        admin.setIcon(new javax.swing.ImageIcon(getClass().getResource("/admin_1.png"))); // NOI18N
        admin.setText("Admin");
        admin.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                adminActionPerformed(evt);
            }
        });
        getContentPane().add(admin, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 200, 150, -1));

        exit.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        exit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/exitt.png"))); // NOI18N
        exit.setText("Exit");
        exit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                exitActionPerformed(evt);
            }
        });
        getContentPane().add(exit, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 280, 150, -1));

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/t.jpg"))); // NOI18N
        jLabel1.setText(" ");
        getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 840, 480));

        pack();
    }// </editor-fold>                          

    private void studentActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
    }                                       

    private void exitActionPerformed(java.awt.event.ActionEvent evt) {                                     

        
    int a = JOptionPane.showConfirmDialog(null, "Exit Application?", "Select", JOptionPane.YES_NO_OPTION);
    if(a==0){
        System.exit(0);
    }else{}
// TODO add your handling code here: 
    }                                    

    private void adminActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
    }                                     

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(indexx.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(indexx.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(indexx.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(indexx.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new indexx().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton admin;
    private javax.swing.JButton exit;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JButton student;
    // End of variables declaration                   
}

当前主类 Quiz_Management.java

package com.mycompany.quiz_management;
//import javax.swing.JFrame;
/**
 *
 * @author HP
 */
public class Quiz_Management {

    public static void main(String[] args) {

        System.out.println("Hello World!");
    }
}
解决办法
  • 验证主类配置:右键项目 → 属性 → 运行 → 主类,确保选中的是indexx(注意包路径,若indexx在com.mycompany.quiz_management包下,需选择完整类名com.mycompany.quiz_management.indexx)。配置完成后,清理并重建项目:右键项目 → 清理,再右键 → 构建,最后运行。
  • 修改主类代码启动界面:如果配置不生效,直接修改Quiz_Management的main方法,替换原有输出代码为启动JFrame的逻辑:
    package com.mycompany.quiz_management;
    public class Quiz_Management {
        public static void main(String[] args) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new indexx().setVisible(true);
                }
            });
        }
    }
    
  • 检查包一致性:确认indexx.java的包名与Quiz_Management一致,若不一致,需在Quiz_Management中导入indexx类(比如import your.package.indexx;)。

内容的提问来源于stack exchange,提问作者Tnsae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:02:03