Bonjour,
Je voulais savoir s'il y a une fonction qui permet d'ajouter
la petite etoile qui indique que le Frame a ete modifie mais qu'il n'a pas ete enregistre depuis ses dernieres modifications
Merci d'avance
et bonne journée
Bonjour,
Je voulais savoir s'il y a une fonction qui permet d'ajouter
la petite etoile qui indique que le Frame a ete modifie mais qu'il n'a pas ete enregistre depuis ses dernieres modifications
Merci d'avance
et bonne journée
A ma connaissance, rien de portable mise à par maFrame.setTitle(hasBeenEdited ? ("* " : "") + baseFrameTitle)
j'ai du mal a comprendre ce que tu souhaite,
Ajouter une petite étoile a quoi? ( a la frame ?)
Pour quelle modification ? ( des composants de celle-ci ?)
Ajouter une petite étoile au titre de ma JFrame dés quand modifie un composant de cette JFrame ( exemples : changer un item d'un JCombobox , modifier le contenu d'un JTextField....)
en gros c'est comme kan on change un fichier text (dans Notepad++) on voit une petite etoile sur le nom du fichier dans la barre de menu qui indique que le fichier a ete modifie mais qu'il n'a pas ete enregistre depuis ses dernieres modifications
Phil S a donné la réponse je pense.
comme Pill_S l'a dit la fonction setTitle(String titre) te permettra de changer le nom de ta fenêtre.
Par contre pour détecter tout changement tu peux utiliser un actionListener directement sur un composant ( checkbox ou autre) ou alors utiliser un listener directement sur ta frame. (regarde bien les différents types de listener suivant le changement que tu souhaite détecter.
est ce que on peut utiliser un listener sur une frame?
si oui le quel ?
merci d'avance
non, il ne faut pas écouter la frame mais plutot le document de ton composant de texte (genre maJTextArea.getDocument().addDocumentListener(...))
Si je comprend bien il faut que je met des listner sur chaque composant de ma JFrame, sachant que ma Jframe est composé de 10 panels et chane panel est composé de JButton + JTextField + Jcombobox
c'est bcp !!!
est ce que y a moyen de faire si le contenu de ma JFrame a changé ( ajout de text dans un JTextfield ou Changement d'un item d'une JCombobox....) alors on a un return ????
bah une boucle sur getContentPane().getComponents() et c'est règlé...
après tout dépend de ce que tu veux écouter,
tu peux ajouter un listener sur ton panel, un composant de ton panel ou alors la jframe directement.
Oui je veux ajouter un listener sur la jframe directement c'est plus pratique
mais je ne sais pas le quel?
peux tu me dire le quel stp ?
tu ferai mieux de te renseigner sur les différents type de listener qui existe, car il y en a plusieurs, avec leur caractéristique propre.
c'est peut-être plus pratique mais cela ne fait pas le même boulot que d'écouter chaque composant que l'on choisit individuellement (admettons que je clique sur le bouton "play" d'un éditeur audio, cela ne doit pas marquer le fichier en cours d'édition comme étant modifié!).
et en plus il n'y a même pas de listener destiné à écouter "n'importe quel événement de n'importe quel sous-composant" dans la classe jframe (d'ailleurs ça n'aurait aucun sens)
Bonjour et merci bcp,
Vous avez raison .
Est ce que je peux utiliser ça :
sur chaque composant de maFrame
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 composant.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt) { maFrame.setTitle(hasBeenEdited ? ("* " : "") + baseFrameTitle) } });
Oui.
Les actionslisteners sont utilisés pour des composants de type bouton, les combobox, radio, etc.
Pour les JTextComponent, il faut utiliser un documentlistener (cf. mon 2è post)
ça marche
Merci Pill_S
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager