Rechercher : dans
Par :

Interface graphique en java

Dernière réponse le 1 avr 2008 à 00:36:40 loops, le 16 avr 2005 à 23:01:18 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « interface graphique en java » dans :
Votre première application graphique avec Python et Glade VoirCe guide vous aidera à créer pas à pas votre première application graphique. Nous allons utiliser le langage de programme Python et l'API graphique GTK, en utilisant le logiciel Glade pour créer facilement les interfaces graphiques. C'est de la...
Interfaces graphiques pour SQLite VoirSQLite est un formidable moteur de base de données, ne nécessitant pratiquement aucune administration, portable (tous systèmes) et accessible de pratiquement tous les langages (C, C++, Java, Python...). Contrairement à mySQL, il ne nécessite pas...

1

kij_82, le 17 avr 2005 à 19:34:23
  • +1

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.

@++ ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

2

loops, le 18 avr 2005 à 17:42:50

Salut kij_82 et merci pour ta reponse,

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
@+

Répondre à loops

3

kij_82, le 19 avr 2005 à 21:29:25

Tu l'a bien mise au bon endroit ? fais voir ton code.
~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

4

Loops, le 19 avr 2005 à 22:53:47

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
@+

Répondre à Loops

5

kij_82, le 19 avr 2005 à 23:03:10
  • +4

Essaie ca entre tes lignes déjà écrites pour voir :


Canvas c = new repere(tabBin, compteur);
jInternalFrame1.restoreSubcomponentFocus();


jInternalFrame1.getContentPane().removeAll();

jInternalFrame1.getContentPane().add(c);

jInternalFrame1.paint(c.getGraphics());

~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

6

loops, le 21 avr 2005 à 17:00:20

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

@+

Répondre à loops

7

kij_82, le 21 avr 2005 à 18:55:46

De rien, j'ai galérer la dessus ya qq mois...

Ca fait plaisir de rendre service !
++ ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

8

Loops, le 22 avr 2005 à 00:14:12

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!!

Répondre à Loops

9

kij_82, le 22 avr 2005 à 10:11:05

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

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.

++ ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

10

Loops, le 22 avr 2005 à 16:57:12

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
@+

Répondre à Loops

11

kij_82, le 24 avr 2005 à 14:38:46

Essay un "setsize(700,1024);" à la place, et si ca change qqchose, alors c'est que tu emplois mal la classe toolkit. Je peux pas t'en dire plus car je ne connais pas cette classe et je n'ai pas le temps pour le moment d'y jeter un coup d'oeil, même bref alors ...

Bonne recherche ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

12

az, le 3 jan 2008 à 18:27:29

Salut
des cours sur interface graphique en langage java

Répondre à az

13

Kikiwa, le 1 avr 2008 à 00:35:48
  • +2

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 ...

Répondre à Kikiwa

14

 NakNak, le 1 avr 2008 à 00:36:40

Aze

Répondre à NakNak