Bonjour à tous,
Tout d'abord je ne suis pas sûr d'être de poser ma question dans le bon forum, si vous pensez que ma question serait plus à sa place ailleurs merci de me le dire.
Maintenant une petite présentation et ma question:
Je me forme depuis quelques mois à la programation Java. J'ai découvert la semaine dernière l'api jgoodies et je voudrais tester des exemples trouvés sur le net (http://www.java2s.com/Code/Java/Swin...erExample1.htm) .
J'utilise eclipse et je travaille avec linux. J'ai créé un projet sous eclipse, j'ai ajouté le jar jgoodies-forms-1.4.2.jar à mon projet, j'ai copié un code:
Les importations concernant JGoodies sont résolus mais lors de l'exécution une erreur m'est renvoyée sur la ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 package component; import java.awt.BorderLayout; import javax.swing.BorderFactory; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import com.jgoodies.forms.builder.DefaultFormBuilder; import com.jgoodies.forms.layout.FormLayout; public class DefaultFormBuilderExample1 extends JPanel { public DefaultFormBuilderExample1() { super(new BorderLayout()); //originellement //DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("")); FormLayout layout= new FormLayout(""); DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); builder.appendColumn("right:pref"); builder.appendColumn("3dlu"); builder.appendColumn("fill:max(pref; 100px)"); builder.appendColumn("5dlu"); builder.appendColumn("right:pref"); builder.appendColumn("3dlu"); builder.appendColumn("fill:max(pref; 100px)"); builder.append("First:", new JTextField()); builder.append("Last:", new JTextField()); builder.nextLine(); builder.append("Married:", new JCheckBox()); builder.nextLine(); builder.append("Phone:", new JTextField()); builder.nextLine(); builder.append("Fax:", new JTextField()); builder.nextLine(); builder.append("Email:", new JTextField()); builder.nextLine(); builder.appendSeparator("Work"); builder.append("Company:", new JTextField()); builder.nextLine(); builder.append("Phone:", new JTextField()); builder.nextLine(); builder.append("Fax:", new JTextField()); builder.nextLine(); add(builder.getPanel()); } public static void main(String[] a){ JFrame f = new JFrame("FormLayout: Default Form Builder Example 1"); f.setDefaultCloseOperation(2); f.add(new DefaultFormBuilderExample1()); f.pack(); f.setVisible(true); } }
La console me renvoie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part FormLayout layout= new FormLayout("");
J'ai cherché sur le net et sur les forums de developpez.net mais je n'ai rien trouvé et je ne sais pas comment avoir un descriptif plus détaillé de mon erreur avec eclipse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Exception in thread "main" java.lang.NoClassDefFoundError: com/jgoodies/common/base/Preconditions at com.jgoodies.forms.layout.FormSpec.<init>(FormSpec.java:165) at com.jgoodies.forms.layout.ColumnSpec.<init>(ColumnSpec.java:143) at com.jgoodies.forms.factories.FormFactory.<clinit>(FormFactory.java:63) at com.jgoodies.forms.layout.LayoutMap.createRoot(LayoutMap.java:570) at com.jgoodies.forms.layout.LayoutMap.getRoot(LayoutMap.java:218) at com.jgoodies.forms.layout.FormLayout.<init>(FormLayout.java:283) at component.DefaultFormBuilderExample1.<init>(DefaultFormBuilderExample1.java:17) at component.DefaultFormBuilderExample1.main(DefaultFormBuilderExample1.java:64) Caused by: java.lang.ClassNotFoundException: com.jgoodies.common.base.Preconditions at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 8 more
J'ai testé d'autres codes trouvés au même endroit que le code ci-dessus mais j'obtiends toujours une erreur sur l'instanciation des FormLayout.
Quelqu'un sait il d'où vient mon problème ou comment je pourrais aller plus loin dans le déboggage?
Merci d'avance!
Partager