2011-05-08 2 views
0

지금 java IDE를 탐색 중이며 지금은 netbeans부터 시작합니다. 두 개의 JFrame 클래스가있는 프로젝트를 만들었습니다. 일부 코드를 편집했지만 오류가 발생합니다. 내가 말할 수있는 것은 내가 한 일과 관련이있다. 나는 틀린 무엇이라도 정말로 볼 수 없다? 어쩌면 할 수 있을까요?Java 응용 프로그램 문제 - 순수한 콩

오류 :

Exception in thread "main" java.lang.NoClassDefFoundError: com/actvtimer/ActivityFrame$1 
    at com.actvtimer.ActivityFrame.initComponents(ActivityFrame.java:49) 
    at com.actvtimer.ActivityFrame.<init>(ActivityFrame.java:26) 
    at com.actvtimer.ActivityFrame.main(ActivityFrame.java:155) 
Caused by: java.lang.ClassNotFoundException: com.actvtimer.ActivityFrame$1 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    ... 3 more 

ActivityFrame.java :

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 

/* 
* ActivityFrame.java 
* 
* Created on May 7, 2011, 5:29:14 PM 
*/ 
package com.actvtimer; 

import javax.swing.DefaultListModel; 
import javax.swing.UIManager; 
import javax.swing.UnsupportedLookAndFeelException; 

/** 
* 
* @author Andrew 
*/ 
public class ActivityFrame extends javax.swing.JFrame { 
    DefaultListModel model = new DefaultListModel(); 

    /** Creates new form ActivityFrame */ 
    public ActivityFrame() { 
     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. 
    */ 
    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code">       
    private void initComponents() { 

     jScrollPane2 = new javax.swing.JScrollPane(); 
     jTable1 = new javax.swing.JTable(); 
     jButton1 = new javax.swing.JButton(); 
     jScrollPane1 = new javax.swing.JScrollPane(); 
     jList1 = new javax.swing.JList(); 
     jButton2 = new javax.swing.JButton(); 
     jButton3 = new javax.swing.JButton(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 
     setTitle("Activity Timer"); 

     jTable1.setModel(new javax.swing.table.DefaultTableModel(
      new Object [][] { 

      }, 
      new String [] { 
       "Activity", "Time Allowed", "Time Left" 
      } 
     ) { 
      Class[] types = new Class [] { 
       java.lang.String.class, java.lang.Integer.class, java.lang.String.class 
      }; 
      boolean[] canEdit = new boolean [] { 
       false, true, false 
      }; 

      public Class getColumnClass(int columnIndex) { 
       return types [columnIndex]; 
      } 

      public boolean isCellEditable(int rowIndex, int columnIndex) { 
       return canEdit [columnIndex]; 
      } 
     }); 
     jScrollPane2.setViewportView(jTable1); 

     jButton1.setText("Add Activity"); 
     jButton1.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       jButton1ActionPerformed(evt); 
      } 
     }); 

     jList1.setModel(model); 
     jScrollPane1.setViewportView(jList1); 

     jButton2.setText("Start Activity"); 

     jButton3.setText("Stop Activity"); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 464, Short.MAX_VALUE) 
      .addGroup(layout.createSequentialGroup() 
       .addComponent(jButton1) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
       .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
       .addComponent(jButton2) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
       .addComponent(jButton3) 
       .addGap(108, 108, 108)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(jButton1) 
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
         .addComponent(jButton2) 
         .addComponent(jButton3)) 
        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE)) 
       .addContainerGap()) 
     ); 

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

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

       AddActivityFrame addAct = new AddActivityFrame(this); 
       addAct.setVisible(true); 
       addAct.setResizable(false); 

    }           

    public void addActivity(String name, int minutes) { 
     model.addElement(name); 


    } 
    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String args[]) { 
      try { 
     // Set System L&F 
     UIManager.setLookAndFeel(
      UIManager.getSystemLookAndFeelClassName()); 
    } 
    catch (UnsupportedLookAndFeelException e) { 
     // handle exception 
    } 
    catch (ClassNotFoundException e) { 
     // handle exception 
    } 
    catch (InstantiationException e) { 
     // handle exception 
    } 
    catch (IllegalAccessException e) { 
     // handle exception 
    } 

       ActivityFrame app = new ActivityFrame(); 
       app.setVisible(true); 
       app.setResizable(false); 

    } 
    // Variables declaration - do not modify      
    private javax.swing.JButton jButton1; 
    private javax.swing.JButton jButton2; 
    private javax.swing.JButton jButton3; 
    private javax.swing.JList jList1; 
    private javax.swing.JScrollPane jScrollPane1; 
    private javax.swing.JScrollPane jScrollPane2; 
    private javax.swing.JTable jTable1; 
    // End of variables declaration     
} 
+0

'경고 :이 코드를 수정하지 마십시오.' - 아마도 이것이 당신 문제의 근원입니까? 코드를 편집 했습니까? – chemical

+0

@chemical 나는 그 코드를 전혀 편집하지 않았다! –

+1

명령 프롬프트에서 Netbeans 외부에서 프로그램을 실행할 수 있습니까? –

답변

1

NoClassDefFound가 "를 찾을 수 없습니다 클래스 정의"를 의미합니다.

NoClassDefFound는 Java 프로그램을 실행하는 데 필요한 클래스를 찾을 수 없을 때 JVM에서 오는 오류입니다. 이 오류는 실제 누락 된 클래스로 인해 발생할 수 있지만 일반적으로 결함이있는 CLASSPATH로 인해 발생합니다.

NetBeans의 설정이 올바르게 설정되지 않았다고 생각합니다. 이 코드는 문제가되지 않습니다.

+0

도 될 수 있습니다. 먼저 청소 옵션을 시도하십시오. – chemical

+0

안녕하세요, 청소가 효과가 있습니까? 그러나 나는 아직도 무엇이 잘못되었는지 모른다. –

+0

IDE가 항상 새로운 코드에 액세스하는 것은 아니므로 ... 도움이된다는 것이 좋습니다. 항상 소스를 새로 고침하고 깨끗하게 기억하십시오 :) (여전히 신비한 방법으로 cmd 행에서 동일한 오류를 얻을 수 있었습니까? 제대로하셨습니까?) – chemical