Petite interface swing. 3 jtextfield 2 jbutton

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 079 fois - Téléchargée 28 fois

Contenu du snippet

C'est un petit programme qui sert à montrer comment marche le BoxLayout. Cependant, il me reste un problème pour l'alignement de deux boutons. Je voudrais qu'ils soient alignées à droite mais ils restent obstinéments au centre. Merci de votre aide.

Source / Exemple :


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

public class TheBoxLayout
{
	public static void main(String[] args)
	{
		SwingUtilities.invokeLater(new
				Runnable()
				{
					public void run()
					{
						JFrame.setDefaultLookAndFeelDecorated(true);
						LayoutFrame frame = new LayoutFrame();
						frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
						frame.pack();
						frame.setVisible(true);
					}
				});
	}
}

class LayoutFrame extends JFrame
{
	public LayoutFrame()
	{
		setTitle("Test de BoxLayout");

		createMainPanel();
		createTextFieldPanel();	
		createButtonPanel();
		
		mainPanel.add(txtPanel);
		mainPanel.add(buttonPanel);
		
		getContentPane().add(mainPanel);
		
	}
	
	/** Crée un panneau de champs */
	private void createTextFieldPanel()
	{
		txtPanel = new JPanel();
		txtPanel.setLayout(new BoxLayout(txtPanel, BoxLayout.PAGE_AXIS));
		createTextField(txtFirstName);
		createTextField(txtLastName);
		createTextField(txtTelNumber);
		txtPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
		
	}
	
	/** 

  • Crée un nouveau champs de texte
  • @param txtF Le bouton à créer
  • /
private void createTextField(JTextField txtF) { txtF = new JTextField(10); txtPanel.add(txtF); txtPanel.add(Box.createRigidArea(new Dimension(0,10))); } /** Crée un panneau de boutons */ private void createButtonPanel() { buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS)); createButton(btnOk, "Ok"); createButton(btnCancel, "Cancel"); } /**
  • Crée un bouton et l'ajoute au panneau de bouton
  • @param button Le bouton a créer
  • @param name Nom du bouton
  • /
private void createButton(JButton button, String name) { button = new JButton(name); button.setAlignmentX(JButton.RIGHT_ALIGNMENT); buttonPanel.add(button); } private void createMainPanel() { mainPanel = new JPanel(); mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS)); } JPanel mainPanel; JPanel txtPanel; JPanel buttonPanel; JTextField txtFirstName; JTextField txtLastName; JTextField txtTelNumber; JButton btnOk; JButton btnCancel; }

A voir également

Ajouter un commentaire

Commentaires

poiuytrez3
Messages postés
150
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
17 mars 2009
-
Bon bon bon oublions.... Pensons plutôt à améliorer ce code!
Aurais tu la solution pour aligner les deux boutons ok et cancel? Merci
cs_neodante
Messages postés
2837
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10 -
Je crois également que tu juges les personnes un peu trop hativement ... pour dire qu'elles ne savent pas ce que c'est l'entraide ...

De plus si on devait mettre une source pour chaque layout avoue qu'il y en aurait pas mal ... un layout c'est un layout il marhce tous pareil sauf qu'il n'affiche pas de la même façon ... alors qu'un programme dans lequel à l'aide d'un menu on peut changer les layout ... ca c'est plutot pas mal ...

Mais comme je viens de relire mon post, je ne crois avoir été particulièrement odieux avec toi ... et la fin laisse bien penser que ce n'est pas un grand reproche non plus ...

Mais attention ne confond pas entraide avec mettre à disposition ses propres sources ... ne pas polluer une bonne base de sources (je ne parle pas pour ton app mais en général) c'est aussi s'entraider ...
... sinon je serais (et beaucoup d'autres personnes) déjà environ à une bonne centaine de sources ...

ciao
@+
poiuytrez3
Messages postés
150
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
17 mars 2009
-
Cher ami,
J'ai cherché sur le site les programmes qui utilisaient des objets swing en BoxLayout et qui les alignaient. J'ai aussi cherché dans le tutorial de sun microsystem, ce n'est pas clair. N'y arrivant pas, j'ai publié mon code. Il n'y a pas des problèmes mais un problème. J'améliorerais mon code dès que j'aurai trouvé la solution. C'est un site d'entraide non?
poiuytrez3
Messages postés
150
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
17 mars 2009
-
Cher ami,
J'ai cherché sur le site les programmes qui utilisaient des objets swing en BoxLayout et qui les alignaient. J'ai aussi cherché dans le tutorial de sun microsystem, ce n'est pas clair. N'y arrivant pas, j'ai publié mon code. Il n'y a pas des problèmes mais un problème. J'améliorerais mon code dès que j'aurai trouvé la solution. Je vois par contre que tu ne sais pas ce que c'est que l'entraide.
cs_neodante
Messages postés
2837
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10 -
En gros tu nous montre ton premier programme en SWING pour simplifier ... en plus avec des problèmes que tu n'as pas résolu ... désolé d'être méchant comme ça mais les sources de ce style pulule de plus en plus et les gens ne vérifient pas s'il existe déjà des sources montrant la même chose ... souvent en plus leur source ne vale pas celle de leur prédecesseur ... mais bon chacun veut faire mieux que l'autre et c'est légitime !
@+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.