Interface graphique en java
Résolu
loops
-
NakNak -
NakNak -
salut tout le monde,
tout d abord, le programme est en java
ensuite, j ai une fenetre graphique contenant un textfield, un bouton et une jinternalframe.
l utilisateur rentre une serie de chiffre. losque qu il clic sur le bouton un graphique s affiche dans la jInternalFrame correspondant aux valeurs du textfield.
la premiere fois le graphique s affiche bien (grace a la methhode updateUI() qui permet d actualise). mais si je rentre une autre serie de chiffres et que je reclic sur le bouton, le graphique ne se reactualise pas .j ai aussi essayer avec la methode repaint mais sans succes
j ai alors inserer un autre textfield ou je lis la valeur rentree dans le premier textfield (pou verifier): le changement s'effectue bien dans la textfield mais pas dans la jinternalfraME
comment faire
merci @+
loops
tout d abord, le programme est en java
ensuite, j ai une fenetre graphique contenant un textfield, un bouton et une jinternalframe.
l utilisateur rentre une serie de chiffre. losque qu il clic sur le bouton un graphique s affiche dans la jInternalFrame correspondant aux valeurs du textfield.
la premiere fois le graphique s affiche bien (grace a la methhode updateUI() qui permet d actualise). mais si je rentre une autre serie de chiffres et que je reclic sur le bouton, le graphique ne se reactualise pas .j ai aussi essayer avec la methode repaint mais sans succes
j ai alors inserer un autre textfield ou je lis la valeur rentree dans le premier textfield (pou verifier): le changement s'effectue bien dans la textfield mais pas dans la jinternalfraME
comment faire
merci @+
loops
A voir également:
- Interface graphique en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Changer carte graphique - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
7 réponses
J'ai moi même galéré pendant 15 plombe pour trouver alors voici un petit coup de pouce :
Utilise la fonction revalidate comme cela :
Jpanel pane = new Jpanel();
....
Traitements
....
pane.revalidate();
Cette méthode permet d'indiquer au thread qui s'occupe de la gestion des evenements du java, qu'il faut actualiser le composant 'pane'.
Pour une frame ou une internaleFrame je pense que ca doit être la même méthode puisqu'il s'agit d'un composant de ta fenetre principale.
Voilà, redi moi ca.
@++
Utilise la fonction revalidate comme cela :
Jpanel pane = new Jpanel();
....
Traitements
....
pane.revalidate();
Cette méthode permet d'indiquer au thread qui s'occupe de la gestion des evenements du java, qu'il faut actualiser le composant 'pane'.
Pour une frame ou une internaleFrame je pense que ca doit être la même méthode puisqu'il s'agit d'un composant de ta fenetre principale.
Voilà, redi moi ca.
@++
Si setSize ne marche pas, essaye : this.setPreferedSize(new Dimension(400, 300))
Des fois ça marche mieux ... mais j'vais pas donner trop d'aide, j'trouve le java assez lourd pour tout ça ...
Des fois ça marche mieux ... mais j'vais pas donner trop d'aide, j'trouve le java assez lourd pour tout ça ...
salut,
bha je pense bien :
Canvas c = new repere(tabBin, compteur);
jInternalFrame1.restoreSubcomponentFocus();
jInternalFrame1.getContentPane().add(c);
jInternalFrame1.paint(c.getGraphics());
jInternalFrame1.revalidate();
jInternalFrame1.updateUI();
jInternalFrame1.repaint();
ca, ca se trouve dans le actionperformed du bouton.
repere construit mon graphique apres je le fou dans la frame et j actualise. mais ca marche qu une seule fois, le graphe ne se redessine pas.
merci
@+
bha je pense bien :
Canvas c = new repere(tabBin, compteur);
jInternalFrame1.restoreSubcomponentFocus();
jInternalFrame1.getContentPane().add(c);
jInternalFrame1.paint(c.getGraphics());
jInternalFrame1.revalidate();
jInternalFrame1.updateUI();
jInternalFrame1.repaint();
ca, ca se trouve dans le actionperformed du bouton.
repere construit mon graphique apres je le fou dans la frame et j actualise. mais ca marche qu une seule fois, le graphe ne se redessine pas.
merci
@+
yop yop kij_82
voila le debut de la classe avec les constructeur et une methode qui initialise la fenetre. mais je pense que le setSize() n est pas pris en compte. car qd le prog se lance il se lance pas en plain ecran!
public class tp2 extends javax.swing.JFrame {
public tp2() {
initfenetre();
initComponents();
}
private void initfenetre(){
Toolkit k = Toolkit.getDefaultToolkit();
Dimension tailleEcran = k.getScreenSize();
// int largeurEcran = tailleEcran.width;
//int hauteurEcran = tailleEcran.height;
setTitle("Encodage");
setSize(tailleEcran);
setLocation(80,80);
}
merci
@+
voila le debut de la classe avec les constructeur et une methode qui initialise la fenetre. mais je pense que le setSize() n est pas pris en compte. car qd le prog se lance il se lance pas en plain ecran!
public class tp2 extends javax.swing.JFrame {
public tp2() {
initfenetre();
initComponents();
}
private void initfenetre(){
Toolkit k = Toolkit.getDefaultToolkit();
Dimension tailleEcran = k.getScreenSize();
// int largeurEcran = tailleEcran.width;
//int hauteurEcran = tailleEcran.height;
setTitle("Encodage");
setSize(tailleEcran);
setLocation(80,80);
}
merci
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yop kij_82
merci pour ta reponse. je viens de tester et ca marche super bien
c cool, trop bien!!!!!
c est qd meme agreable ca, tu poses des questions, on trouve pas du premier coup, pis enfin apres une plus mure reflexion y a tt qui fonctionne. moi je dis c est de la balle
encore merci a kij_82
@+
merci pour ta reponse. je viens de tester et ca marche super bien
c cool, trop bien!!!!!
c est qd meme agreable ca, tu poses des questions, on trouve pas du premier coup, pis enfin apres une plus mure reflexion y a tt qui fonctionne. moi je dis c est de la balle
encore merci a kij_82
@+
re kij_82
toi qui a l air de te demerder et de repondre a plein de questions
est ce que tu sais comment faire pour qu a l execution du programme ma fenetre et une taille bien definie?
g pourtant essaye de faire un setSize() mais il n etait po pris en commpte
j utilise netbeen et dans les preference de la fenetre je peux normalement regler la taille mais la case se trouve etre en grisee donc impossible de changer ma valeur et je pense que c est pour cette raison que le setSize() n est pas pris en compte!!
ca t es jamais arrive ca?? ce serai cool en tt cas ;-)
aller @+ et merci encore ca fait bien plaisir d avoir a faire a des gars comme toi!!
toi qui a l air de te demerder et de repondre a plein de questions
est ce que tu sais comment faire pour qu a l execution du programme ma fenetre et une taille bien definie?
g pourtant essaye de faire un setSize() mais il n etait po pris en commpte
j utilise netbeen et dans les preference de la fenetre je peux normalement regler la taille mais la case se trouve etre en grisee donc impossible de changer ma valeur et je pense que c est pour cette raison que le setSize() n est pas pris en compte!!
ca t es jamais arrive ca?? ce serai cool en tt cas ;-)
aller @+ et merci encore ca fait bien plaisir d avoir a faire a des gars comme toi!!
Met voir ton code de début, je veux dire celui de ta fenetre globale.
Est-ce que ta classe principale étant la classe JFrame ? Si non alors il faut qu'elle étande la classe JFrame, et dans le constructeur, tu met le
Que tu fais déjà, avec HAUT et LARG qui sont des attribut constant de ta classe :
Voilà, redit moi ca.
++
Est-ce que ta classe principale étant la classe JFrame ? Si non alors il faut qu'elle étande la classe JFrame, et dans le constructeur, tu met le
setsize(HAUT,LARG);
Que tu fais déjà, avec HAUT et LARG qui sont des attribut constant de ta classe :
private static final int HAUT = 700; private static final int LARG = 1024;
Voilà, redit moi ca.
++
j ai tout de suite teste ta solution. revalidate() exit bien avec ma jinternalframe mais elle ne s actualise tjrs po.
c est a ni rien comprendre!!!
auriez vous une autre solution?
merci
@+