probleme de code - Java - Programmation
Marsh Posté le 17-02-2005 à 22:08:50
jbuilder ?
Marsh Posté le 17-02-2005 à 22:37:57
C'est quoi ce JTextArea10 : il sort d'où, il a été déclaré où ?
C'est quoi ce nom de variable en plus ?
Il est où le code de la classe en fait ?
Marsh Posté le 17-02-2005 à 22:44:45
skoi jbuilder ?
Marsh Posté le 17-02-2005 à 22:48:45
malheureux !!!
débugguer du code GUI généré sous jbuilder, c un coup à perdre sa santé mentale...
le code jbuilder, ca se débugge sous Eclipse ou IDEA ou Netbeans, bref, un truc qui aie un système de recherche de références propre et rapide à utiliser...
Marsh Posté le 17-02-2005 à 22:49:56
package sans_titre2;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* <p>Titre : </p>
* <p>Description : </p>
* <p>Copyright : Copyright (c) 2005</p>
* <p>Société : </p>
* @author non attribuable
* @version 1.0
*/
public class Cadre3 extends JFrame {
JPanel contentPane;
JButton jButton1 = new JButton();
TextArea textArea1 = new TextArea();
//Construire le cadre
public Cadre3() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Initialiser le composant
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
jButton1.setBounds(new Rectangle(99, 158, 152, 31));
jButton1.setText("jButton1" );
jButton1.addActionListener(new Cadre3_jButton1_actionAdapter(this));
contentPane.setLayout(null);
this.setSize(new Dimension(400, 300));
this.setTitle("Titre du cadre" );
textArea1.setText("textArea1" );
textArea1.setBounds(new Rectangle(75, 9, 184, 121));
contentPane.add(jButton1, null);
contentPane.add(textArea1, null);
}
//Redéfini, ainsi nous pouvons sortir quand la fenêtre est fermée
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void jButton1_actionPerformed(ActionEvent e) {
Cadre3 c = new Cadre3();
c.hum();
}
public void hum(){
textArea1.setText("ca marche" );
}
}
class Cadre3_jButton1_actionAdapter implements java.awt.event.ActionListener {
Cadre3 adaptee;
Cadre3_jButton1_actionAdapter(Cadre3 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
Marsh Posté le 17-02-2005 à 22:52:22
je voudré afficher "ca marche"
void jButton1_actionPerformed(ActionEvent e) {
Cadre3 c = new Cadre3();
c.hum();
}
public void hum(){
textArea1.setText("ca marche" );
}
Marsh Posté le 17-02-2005 à 22:53:13
Ah parce que en plus ca se génère une GUI
Moi qui pensais que ça ce concevais proprement, à la main, parce que sinon, on arrive vite à un problème de nom de variables qui puent du sexe et indébuggeable.
En plus la doc de SUN est simple à mettre en oeuvre au niveau de la GUI
Marsh Posté le 17-02-2005 à 22:55:15
claque2000 a écrit : Ah parce que en plus ca se génère une GUI |
ca peut : regarde une gui générée par visual studio, le code est très clean, et tu peux changer le nom de la variable qui représente ton objet...
sous jbuilder tu peux aussi du reste, seulement, ca utilise ce putain de jbInit(), qui fout un merdier monstre...
Marsh Posté le 17-02-2005 à 22:55:44
claque2000 > Et oui, ca se génére. Mais attention aux changement de taille de la fenêtre qui sont en général mal gérer par ce genre de code généré.
Et je te parle pas des noms d'objects par défaut.
Marsh Posté le 17-02-2005 à 23:16:44
omega2 wrote : claque2000 > Et oui, ca se génére. Mais attention aux changement de taille de la fenêtre qui sont en général mal gérer par ce genre de code généré. |
Oui bah voila, autant concevoir ça sur papier, regarder les tutoriaux et coder. A la limite sortir le code de l'interface sera plus long, mais le débuggeage durera bcp moins longtemps.
Jubijub >> peut pas te dire au niveau de visual studio, je connais pas windows
Marsh Posté le 17-02-2005 à 23:44:05
Bon sinon pour avancer dans le binz :
setLayout(null) ca sert à quoi ?
add(truc, null) où truc est ton JButton ou TextArea ça sert à quoi.
Parce que définir un layout null, je vois pas l'intérêt. Enfin si JBuilder l'a fait, peut être que lui pourra le dire
Marsh Posté le 18-02-2005 à 00:03:43
ben c des templates...si tu définis soudainement un layout, y'a pas à changer la ligne...
c tout le pb des trucs générés : pour pas se casser le cul, les concepteurs font des raccourcis, ou des facilités...ca rend le code hyper verbeux, et illisible...
du coup idem pour le add(truc, null)
Marsh Posté le 18-02-2005 à 00:08:02
Ouais donc c'est des lignes qui servent à rien, à part embrouiller le programmeur. Mais cay super JBODYBUILDER
Marsh Posté le 18-02-2005 à 10:00:23
simson a écrit : public class Cadre1 extends JFrame { |
OMG
Marsh Posté le 17-02-2005 à 21:56:22
Bonjour,
pk mon code s'éxécute pas?
public class Cadre1 extends JFrame {
void jbInit() throws Exception {
....
......
}
...
void jButton4_actionPerformed(ActionEvent e) {
Cadre1 C = new Cadre1();
C.listextarea();
}
public void listextarea(){
jTextArea10.setText("ca marche" );}
}
je voudrais voir aparaitre "ca marche" ds mon jtextarea et cela n'est pas le cas