Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : interface graphique swing [ Divers / Débutant(e) ] (franfr57)

samedi 11 novembre 2006 à 12:27:48 | interface graphique swing

franfr57

Je vais vous décrire ma fenêtre que je désire faire :
nom de la fenêtre : Portail des anciens étudiants
avec 6 onglets en haut de l'écran : Gestion des options, Gestion des étudiants, Gestion des compétences, Statistiques, Envoi de mail, Validation
Dans l'onglet gestion des options :
en haut un panel avk le nom édition d'option.
Dans ce panel un champ texte et à sa droite un bouton ajouter
en sessous de ce panel un panel Liste des options.
Dans celui ci un tablo avec 2 colonnes code etlibelle option
en dessous de ce tablo un bouton supprimer option sélectionné

Pour l'instant j'ai fait ceci :
import java.awt.*;
//utilisation de la bibliothèque graphique
import javax.swing.*;
//utilisation de la bibliothèque graphique
import javax.swing.event.*;
//utilisation de la programmation événementielle

//class Etiquette
class Etiquette extends JLabel
{
 public Etiquette(String titre, Container c)
 {
  super(titre);
  c.add(this);
 }
}//Etiquette

//classe Entrée
class Entree extends JTextField
{
 public Entree(String message, Container c)
 {
  super(message,10);
  c.add(this);
 }
 /*public String contenu()
 {
  return this.getText();
 }*/
}//Entree

//classe Sortie
class Sortie extends JTextField
{
 public Sortie(String message, Container c)
 {
  super(message,15);
  setEditable(false);
  c.add(this);
 }
 /*public void afficher(String texte)
 {
  this.setText(texte);
 }*/
}//Sortie

//classe Bouton
class Bouton extends JButton
{
 public Bouton(String libelle, Container c)
 {
  super(libelle);
  setBackground(Color.gray);
  c.add(this);
 }
}//Bouton

//classe Panneau
class Panneau extends JPanel
{
 Etiquette etiquetteResultat;
 Sortie resultat;
 Bouton bouton;
 public Panneau()
 {
  setLayout(new FlowLayout());
  setBackground(Color.blue);
  etiquetteResultat = new Etiquette("résultat",this);
  resultat = new Sortie("résultat de l'opération",this);
 }
}

class Onglet extends JTabbedPane{
 public Onglet()
 {
  super();
 }
 public void ajouteOnglet(String nom, JPanel p)
 {
  JLabel titreOnglet = new JLabel(nom);
     p.add(titreOnglet);
     this.addTab(nom, p);
 }
}


class MonCadre extends JFrame{
 Onglet lesOnglets;
 JPanel pannel = new JPanel();
 //fonction place()
 private void place()//gère le positionnement et le dimensionnement du cadre
 {
  Toolkit tk = Toolkit.getDefaultToolkit();
  Dimension d = tk.getScreenSize();//dimension de l'écran
  int he, le;//hauteur et largeur de l'écran
  int hf, lf;//hauteur et largeur de la fenêtre
  int Ox, Oy;//coordonnées du coin haut gauche de la fenêtre
  he = (int)(d.getHeight());//recupère la hauteur de l'écran
  le = (int)(d.getWidth());//récupère la largeur de l'écran
  hf = he; lf = le;//la fenêtre prend 1/4 de l'écran
  Ox = 0; Oy = 0;//placée à 1/4 du coin haut gauche
  setLocation (Ox,Oy);//coordonnées du cadre en pixels
  setSize(lf,hf);//dimensions du cadre en pixels
 }
 private  void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy){
        gbc.gridx = gx;
        gbc.gridy = gy;
        gbc.gridwidth = gw;
        gbc.gridheight = gh;
        gbc.weightx = wx;
        gbc.weighty = wy;          
    }
 //Constructeur Mon1Cadre
  public MonCadre (String titre)
 {
   super(titre);
  place();
  setLayout(new FlowLayout());
  //setBackground(Color.green);//change la couleur du fond
  JPanel panneau_princ = new JPanel();
  
  
  lesOnglets = new Onglet();
  
  JPanel p_option = new JPanel() ;
  JPanel onglet1 = new JPanel();
  onglet1.add(p_option);
  
     lesOnglets.ajouteOnglet("Onglet 1", onglet1);
    
  this.add(lesOnglets);
  //this.add(panneau_princ);
 } 
}//MonCadre

public class Projet {
  public static void main (String [] arg)
 {
 MonCadre m;
 m = new MonCadre("Portail des anciens élèves");//création du cadre
 m.show();//le cadre est rendu visible
 }//main
}

je voudrais savoir comment faire pour que mes onglets prenne toute la fenêtre et pas une seule partie. Et je voudrais savoir pourquoi end écommentant ma ligne //setBackground(Color.green); la couleur devien verte une seconde puis l'écran redevient gris...
Et je voudrais savoir si après dans mon onglet je peut rajouter diverses panel et s'il faut que sur un panel ou je soushaite rajouter des composants, il faut que je redécrlare un FlowLayout?

Merci de votre aide


lundi 13 novembre 2006 à 13:06:54 | Re : interface graphique swing

indiana_jules

Salut
si tu veux que ton panel prenne toute ta surface, il faudrait utiliser un BorderLayout et le mettre dans la zone du milieu. Du coup, il prendrait toute la place disponible.

Ensuite, tu peux rajouter dynamiquement des éléments à ces onglets, mais la façon dont tu les rajoutes dépende de l'agencemen que tu as mis en place, et ce que tu veux faire aussi bien sûr.

Voilà


[#Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
[#Je ne comprends pas tout, mais je parle de tout : c'est ce qui compte]



Cette discussion est classé dans : public, int, string, add, jpanel


Répondre à ce message

Sujets en rapport avec ce message

applet print [ par neo1260 ] Salut, c encore moi avec mon probléme d'applet, j'ai laissé tombé la classe interne mais il me met une erreude compilation au niveau du book.append (p pb a la compilation [ par fatcat ] salut a tousVoila mon petit pb j ai codé le jeu du morpion et quand je lance la compilation j ai cette erreur:is not abstract and does not override ab HELP HELP HELP !!!!!!!! [ par poupoule00 ] Boonjour et merci d'avance de me repondre. J'ai un projet a faire en jCreator qui consiste a entrer une date(jourdelasemaine, numero du jour, mois, an JTable éditeur de couleur [ par jc_romeo ] BonjourJe voudrais faire une JTable avec le fait que quand on clique sur une des cases on puisse changer sa couleur de fond.j'ai donc créer la classe: Je bloque!! [ par Boubousik ] Bonjour à tous,Je suis en train d'apprendre le Java, et cherche à faire un programme contenant plusieurs layouts. Dans le GridLayout, je souhaite fair char et if [ par Skyffer3 ] public class Tableauchar { public static void main(String args[]) { String a = "allo"; int b = a.length(); char[] x = new char[b]; for(int i=0 ; i ch jtable [ par KERKENNAH ] bonjour;je suis un etudiant et je besoin d'aide a propos de jtable je veux ajouter 2 boutton à mon travail un qui ajoute une ligne dans jtable et l'au Modifier un champs d'un texfield apres recherche dans access [ par fartman2001 ] Bonjour, voila je travaille en AWT, et j'aimerais après une recherche pouvoir modifier les elements de mon textfield pour modifier mas base de donner remplir un JComboBox [ par sanaaafkir ] bonjour; je veux remplir des JComboBox mais le code que j'ai cree ça ne marche pas et je ne sais pas ou est le probleme pouvez vous m'aidez ??import j Gros probleme pour faire un tableau aider moi svp [ par djterrence ] j ai reesayer d'incorporer un tableau en fait ce que je veux faire c'est lorsqu 'il demande de taper le type on tape 1 par exemple puis apres lors de


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.