Problem de mise en forme fenetre java

Fermé
nah01 Messages postés 75 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 2 novembre 2012 - 4 avril 2009 à 09:43
nah01 Messages postés 75 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 2 novembre 2012 - 5 avril 2009 à 21:39
Bonjour,
j'ai créée une fenêtre avec jdk1.6 et j'aimerai personnaliser sa mise en forme m'ai j'y arrive pas
en faite j'aimerai afficher mes objets (combo, text, ...)de façon verticale ceci comme je veux

voilà mon code:

import java.awt.event.*;
import java.awt.*;
import java.text.NumberFormat;
import javax.swing.*;

public class Fenetre extends JFrame
{ boolean b= true;

// ici on initialise tous nos objets
/////
private JMenuBar menuBar=new JMenuBar();
private JMenu menuFichier =new JMenu("FICHIER");
private JMenu menuEdition =new JMenu("EDITION");
private JComboBox comboJour=new JComboBox();
private JComboBox comboMois=new JComboBox();
private JComboBox comboAnnee=new JComboBox();
private JLabel labMois= new JLabel("Entrer le mois :");
private JLabel labAnnee= new JLabel("Entrer l'année :");
private JLabel labJour= new JLabel("Entrer le jour :");
private JFormattedTextField textNum=new JFormattedTextField(NumberFormat.getIntegerInstance());
private JLabel labNum= new JLabel("le :");
private JPanel container =new JPanel();

//ici on initialise nos sous-menus
private JMenuItem ItemQuick=new JMenuItem("Quitter");

public Fenetre() //le debut de la fenêtre
{
// on personnalise la fenêtre
this.setTitle("Mon Premier Calendrier...");
this.setSize(600, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setAlwaysOnTop(b);

// on personnalise le conteneur
container.setBackground(Color.white);
container.setLayout(new BorderLayout());

// personalisation du combojour
String[] tab1 = {"Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"};
comboJour.addItemListener(new ItemState());
comboJour.setPreferredSize(new Dimension(150, 20));
comboJour=new JComboBox(tab1);
comboJour.setForeground(Color.blue);

//comboMois.....
String[] tab2={"Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"};
comboMois.addItemListener(new ItemState());
comboMois.setPreferredSize(new Dimension(150, 20));
comboMois=new JComboBox(tab2);
comboMois.setForeground(Color.red);

//comboAnnee...
String[] tab3={"2009","2008","2007","2006","2005","2004","2003","2002","2001","2000"};
comboAnnee.addItemListener(new ItemState());
comboAnnee.setPreferredSize(new Dimension(100, 20));
comboAnnee=new JComboBox(tab3);

// on positionne les objets
JPanel top=new JPanel();

Font police = new Font("Arial", Font.BOLD, 14);
textNum.setFont(police);
textNum.setPreferredSize(new Dimension(50, 20));
textNum.setForeground(Color.BLACK);
top.add(labJour);
top.add(comboJour);
top.add(labNum);
top.add(textNum);
top.add(labMois);
top.add(comboMois);
top.add(labAnnee);
top.add(comboAnnee);

// les évènements que doivent effectuer les menus
this.menuFichier.add(ItemQuick);
ItemQuick.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent arg0)
{
System.exit(0); // la sortie de la fenêtre
}
});

this.menuBar.add(menuFichier);
this.menuBar.add(menuEdition);

this.setJMenuBar(menuBar);

container.add(top, BorderLayout.WEST);
this.setContentPane(container);
this.setVisible(true);
}
/*
class interne implementant l'interface ItemListener
*/
class ItemState implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
System.out.println("ItemListener: Evénement déclanché sur :"+e.getItem());
}
}

/*
class interne implementant l'interface ActionListener
*/
class ItemAction implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.out.println(" ActionListener: Evénement déclanché sur "+comboJour.getSelectedItem());
}
}

}


svp j'ai besoin d'un brin de code a ajouter à celui ci-dessus aussi des liens car j'ai un réel problème avec la mise en forme (je début encore)

merci d'avance!!!!!
A voir également:

2 réponses

UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 35
4 avril 2009 à 10:56
pour mettre les composants verticalement
tu fais :
top.setLayout(new BoxLayout(top, BoxLayout.Y_AXIS));
0
nah01 Messages postés 75 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 2 novembre 2012 4
5 avril 2009 à 21:39
merci bien ! et si j'aimerais qu'ils soient (les objets) du genre:
deux ou trois sur une seule ligne et passer à une autre ligne bref une certaine mise en forme personnaliser.
svp s'il ya un exemple de code avec une certaine diposition des objets peut être ça va m'aider.

merci d'avance!!!
0