[JAVA]Interface Graphique (bouton, texte, ...

Résolu/Fermé
ZZ2F3 Messages postés 40 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 30 juin 2009 - 19 mai 2008 à 17:33
bouhmid86 Messages postés 21 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 26 février 2011 - 5 mars 2009 à 20:57
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.
A voir également:

4 réponses

alexdelareunion Messages postés 545 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 9 octobre 2023 142
19 mai 2008 à 18:22
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
ZZ2F3 Messages postés 40 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 30 juin 2009
20 mai 2008 à 11:12
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
0
ZZ2F3 Messages postés 40 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 30 juin 2009
20 mai 2008 à 12:33
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 !
0
bouhmid86 Messages postés 21 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 26 février 2011
5 mars 2009 à 20:57
j'ai pas comprit comment utliliser des actions sur les bouttons
-1