[JAVA]Interface Graphique (bouton, texte, ... [Résolu/Fermé]

Signaler
Messages postés
40
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
30 juin 2009
-
Messages postés
21
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
26 février 2011
-
Bonjour,

Je souhaite développer un logiciel en JAVA.
Je voudrais qu'il y ait une fenetre qui proposerait en cliquant sur le nom d'une variable de pouvoir configurer sa valeur min, sa valeur max et le pas (pour l'intervalle).
Le but de ce programme sera par la suite de récupérer toutes ses valeurs pour les utiliser ailleurs... (pour l'instant je n'en suis pas là !!)

Le truc que je n'arrive pas à faire, c'est :

1) Je voudrais qu'il y est des valeurs par défaut dans chaque champs textuel et que tous les champs au début soient grisé
2) une fois qu'on appuie sur le bouton de la variable qu'on souhaite modifier, les champs ne doivent plus être grisé et on doit pouvoir taper des valeurs (qui doivent être extraite par la suite en cliquant sur un bouton Extraire par exemple).


Voila ce que j'ai déjà fait pour 3 variables (parametres) :

import javax.swing.*;
import java.awt.GridLayout;
import java.awt.BorderLayout;

public class Software {
JPanel contenuFenêtre, panneauParam;
JTextField champAffichage;

JButton param0;
JTextField min0;
JLabel labelmin0;
JTextField max0;
JLabel labelmax0;
JTextField step0;
JLabel labelstep0;

JButton param1;
JTextField min1;
JLabel labelmin1;
JTextField max1;
JLabel labelmax1;
JTextField step1;
JLabel labelstep1;

JButton param2;
JTextField min2;
JLabel labelmin2;
JTextField max2;
JLabel labelmax2;
JTextField step2;
JLabel labelstep2;


Software() {
contenuFenêtre = new JPanel();
BorderLayout dispositionl = new BorderLayout();
contenuFenêtre.setLayout(dispositionl
champAffichage = new JTextField(30);
contenuFenêtre.add("North", champAffichage);

param0 = new JButton("Name 0");
labelmin0 = new JLabel(" Min :");
min0 = new JTextField("");
labelmax0 = new JLabel(" Max :");
max0 = new JTextField("");
labelstep0 = new JLabel(" Step :");
step0 = new JTextField("");

param1 = new JButton("Name 1");
labelmin1 = new JLabel(" Min :");
min1 = new JTextField("");
labelmax1 = new JLabel(" Max :");
max1 = new JTextField("");
labelstep1 = new JLabel(" Step :");
step1 = new JTextField("");

param2 = new JButton("Name 2");
labelmin2 = new JLabel(" Min :");
min2 = new JTextField("");
labelmax2 = new JLabel(" Max :");
max2 = new JTextField("");
labelstep2 = new JLabel(" Step :");
step2 = new JTextField("");

panneauParam = new JPanel();
GridLayout disposition2 = new GridLayout(3, 1);
panneauParam.setLayout(disposition2);

panneauParam.add(param0);
panneauParam.add(labelmin0);
panneauParam.add(min0);
panneauParam.add(labelmax0);
panneauParam.add(max0);
panneauParam.add(labelstep0);
panneauParam.add(step0);

panneauParam.add(param1);
panneauParam.add(labelmin1);
panneauParam.add(min1);
panneauParam.add(labelmax1);
panneauParam.add(max1);
panneauParam.add(labelstep1);
panneauParam.add(step1);

panneauParam.add(param2);
panneauParam.add(labelmin2);
panneauParam.add(min2);
panneauParam.add(labelmax2);
panneauParam.add(max2);
panneauParam.add(labelstep2);
panneauParam.add(step2);

contenuFenêtre.add("Center", panneauParam);
JFrame frame = new JFrame("Software");
frame.setContentPane(contenuFenêtre);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {
Software soft = new Software();


}
}




Merci par avance pour votre aide.

4 réponses

Messages postés
544
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
24 février 2012
139
Tu dois ajouter un ActionListener pour gérer les évênement à provoquer en cas de clic sur le bouton.
Voici un exemple de ce que tu peux faire, mais certainement pas ce qu'il y a de plus joli et générique, je te laisse te creuser un peu la tête pour ça...
param0.addActionListener(new ActionListener()

		{

			public void actionPerformed(ActionEvent e)

			{

				actionChangeAccessMin0();

			}

		});
public void actionChangeAccessMin0(){
  if(this.min0.isEditable() == false){
     this.min0.setEditable(true);
  }
  else{
    this.min0.setEditable(false);
  }
}
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61028 internautes nous ont dit merci ce mois-ci

Messages postés
40
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
30 juin 2009

Merci beaucoup pour ton aide sur l'apparition des cases quand je clic sur un bouton !!! (j'avais pas trouvé la fonction...)

Maintenant je vais me pencher sur le problème de "Récupérer les données que j'ai rentré dans les différents champs de texte"....
Si quelqu'un a un "indice", je suis preneur...

Pendant ce temps je vais essayer de trouver mon bonheur sur la toile !!

Merci encore
Messages postés
40
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
30 juin 2009

Bon j'ai trouvé comment récuperer et transformer en entier ce qui se trouve dans le JTextField :

Integer.parseInt(min0.getText())

avec min0 nom du champs textuel !!!


Merci encore !
Messages postés
21
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
26 février 2011

j'ai pas comprit comment utliliser des actions sur les bouttons