Construction fenetre

Résolu
alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 - 11 nov. 2005 à 12:38
alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 - 24 nov. 2005 à 09:52
bonjour,

j'essais d'utiliser "visual class" d'eclipse afin de creer l'interface de ma 1ere application (vous trouverez le code genere automatiquement ci-dessous).
je n'arrive pas a lancer la construction de la fenetre principale a partir de mon "main", pourriez-vous m'indiquer comment faire ?

import javax.swing.JDialog;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JButton;


public class FenetreTest {


private JDialog jDialog = null; // @jve:decl-index=0:visual-constraint="202,74"
private JPanel jContentPane = null;
private JButton jButton = null;


private JDialog getJDialog() {
if (jDialog == null) {
jDialog = new JDialog();
jDialog.setSize(new java.awt.Dimension(381,241));
jDialog.setContentPane(getJContentPane());
}
return jDialog;
}

private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new java.awt.Rectangle(133,152,127,30));
jButton.setText("TEXTBOUTON");
}
return jButton;
}


public static void main(String[] args) {
????????????

}

}

merci a vous,

alonsyl

8 réponses

luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
11 nov. 2005 à 14:08
Rajoute le constructeur par défault :

public FenetreTest(){
//construction de ta fenêtre
this.getJDialog().setContentPane(this.getJContentPane());
//Affichage de ta fenêtre
jDialog.show();
}

et dans ton main tu fais simplement :

public static void main(String[] args) {
FenetreTest fenetre = new FenetreTest();

}
3
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
15 nov. 2005 à 09:15
Pour la question 1)

Si tu veux un événement sur ton JTextField :
Disons que tu as un JTextField suivant:
JTextField jtext = new JTextField();

pour ajouter un événement:

jtext.addCaretListener(new javax.swing.event.CaretListener() {
public void caretUpdate(javax.swing.event.CaretEvent e){
Change();
}
});

Change() est une fonction que tu crée toi même et qui sera appelé à chaque modification dans ton JTextField

Pour la question 2)

Disons que tu as un bouton
JButton button = new JButton("Réaliser l'estimation");

Pour ajouter un événement sur ce bouton (un listener si tu préfère) tu fais :

button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e){
NomDeTaFonction();
}
});

NomDeTaFonction() est une fonction que tu crée toi même et dans laquelle tu fais le traitement qui doit être réalisé lorsque tu clique sur le bouton...
3
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
15 nov. 2005 à 14:31
En fait tu apprendras l'existence de ces listener au fur et à mesure que tu travailleras avec des composants...
Mais te spécifier quels sont tous les listener n'est pas simple car ils sont différents d'après le composant avec lequel tu travailles ... Par exemple, pour le JButton tu pourra trouver ActionListener(quand tu clique sur le bouton), addChangeListener(quand tu modifie le bouton), ...
Pour ton JTextField, tu retrouveras également ces 2 listener + plein d'autre encore...
Le CaretListener, lui, est appelé quand tu modifie la valeur de ton JTextField... Pour un JTextField tu peux encore trouver KeyListener, MouseListener ...
Tu pouvais très bien ajouter un ActionListener sur ton JTextField comme sur ton JButton... C'est le même principe...
Et tu en retrouveras encore plein pour les autres composants...
Si un jour tu veux voir les listener possible pour ton composant, regarde simplement les méthode offertes pour ce composant...

Heureux de t'avoir aidé
3
alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 12
14 nov. 2005 à 16:23
et ou est-ce que je dois mettre le "implements ActionListener" ?

merci a toi,

alonsyl
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
luuuuudooooo Messages postés 64 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 2 août 2006 4
14 nov. 2005 à 16:27
Ca dépend... Quel est ton but ?
0
alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 12
14 nov. 2005 à 19:28
1) certains de mes JTextField sont liés entre eux par des relations arithmetiques. donc, quand j'en modifie 1 les autres doivent s'ajuster automatiquement (un peu comme dans excel)
2) lancer des calculs lorsque l'utilisateur clique sur le bouton "Réaliser l'estimation"

merci a toi,

alonsyl
0
alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 12
15 nov. 2005 à 14:21
merci a toi luuuuudooooo !

toutes les indications que tu m'as donnees fonctionnent parfaitement mais pourrais-tu m'expliquer un peu plus en details les differences entre CaretListener et ActionListener ?
quand dois-je utiliser l'1 ou l'autre ?
existe t'il 1 ou +ieurs autres xxxListener et a quoi servent t'ils ?

encore merci,

alonsyl
0
alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 12
24 nov. 2005 à 09:52
la mise en application de que tu m'as explique ce passe moyennement !
pour la phase d'ajustement des calculs a chaque saisie : pas de pbl. en revenche, je n'arrive pas a gerer l'erreur "si l'utilisateur tappe une lettre dans TextField utilisé pour les calculs".

comme tu pourras le voir dans le code ci-dessous, j'ai 3 TextField : 1 pour le montant de mon obligation, un pour le taux de remboursement et 1 pour le montant du remboursement. si l'utilisateur tappe une lettre dans "obligation" alors le prg recalcul son ancien montant (par le biais du tx et du montant de remboursement) et remplace la valeur erronee de "obligation".
le prg s'execute normalement mais m'envoit un mega message d'erreur apres l'accolade de sortie.

public void caretUpdate(CaretEvent ev){
Object source = ev.getSource();
try {
desactiv = true;
part = Double.valueOf(tx.getText()).doubleValue();
montant = Double.valueOf(obligation.getText()).doubleValue();
if (source == obligation) {
String texte = new String("" + forma.format((montant * part / 100)));
montanremb.setText(texte.replace(",", "."));
}
} catch (Exception erreur) {
montant = Double.valueOf(montanremb.getText()).doubleValue();
correction = new String("" + 100 * montant / part);
obligation.setText(correction.replace(".", "."));
}
}

voici le message d'erreur renvoye par eclipse :

saurais-tu m'aider a resoudre ce pbl ?

grand merci a toi pour l'assistanat dont tu me fais beneficier,

alonsyl
0
Rejoignez-nous