2010-11-05 5 views
0

Je suis nouveau à java et j'ai deux classes (classe calc et bouton) que j'ai besoin de scinder en fichiers séparés et la classe calc utilise le bouton class. ils compilent tous les deux cependant quand je cours la classe A il échoue. Comment puis-je faire ceci?java partager les fichiers source

C'est le code pour la classe calc

package start; 
import javax.swing.*; 
import java.awt.event.*; 
import java.awt.Container; 
import java.awt.Insets; 
import java.awt.Dimension; 
import button.*; 

public class calc { 
private button calc_buttons; 

private static void creategui(){ 
    JFrame window = new JFrame("hello dynamic window"); 

    buttons.createbuttons(); 
    buttons.setOpaque(false); 
    window.setContentPane(buttons); 
    window.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
    window.pack(); 
    window.setVisible(true); 

} 

static public void main(String[] args){ 
    creategui(); 
} 

} 

c'est le code pour le bouton de classe

package button; 

import javax.swing.*; 
import java.awt.event.*; 
import java.awt.Container; 
import java.awt.Insets; 
import java.awt.Dimension; 

public class button /*extends JPanel implements ActionListener*/{ 

protected static JButton button1, button2, button3, button4, button5, button6, button7; 
protected static JButton button8, button9, button_fact, button_exp, button_sqrt, button_abs; 
protected static JButton button_sin, button_cos, button_tan, button_percent, button_rcl; 
protected static JButton button_MC, button_e, button_pi, button_Mplus, button_Mminus; 
protected static JButton button_C, button_AC, button_MS, button_sign; 
protected static JButton button_plus, button_minus, button_div, button_mult, button_equal; 

static public void calc_button(){ 


} 

} 

quand je compile je reçois aucun message d'erreur, mais quand je lance la classe calc je reçois ce

Exception in thread "main" java.lang.NoClassDefFoundError: calc (wrong name: start/calc) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 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)

Répondre

2

Allez un répertoire plus haut (dans le répertoire qui contient "start" et "button") et faites ceci: Par ailleurs, c'est une convention de laisser les noms de classe commencent par une lettre majuscule.

+0

Merci! cela a fonctionné c'est ma première expérience avec Java – romejoe

Questions connexes