Accueil > > > PETITE INTERFACE SWING. 3 JTEXTFIELD 2 JBUTTON
PETITE INTERFACE SWING. 3 JTEXTFIELD 2 JBUTTON
Information sur la source
Description
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
- 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;
- }
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;
}
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Ajouter JButton au milieu d'un JPanel... [ par elvis36 ]
Bonsoir, Voila en fait j'ai un problème très simple...J'ajoute simplement un bouton dans un panel. Dans le cas ci-dessous j'utilise un BoxLayout. mais
swing [ par josef1705 ]
Bonsoir Mensieurs, je possede une jbutton sur une jFrame j'instancie la classe 1 qui contien cette boutton a une autre classe 2 et je veux consulter
java et SWING [ par curieuse9informatique ]
salut mes amis SVP j'ai 4 champs de saisie(JtextField) dans une boite de dialog: JtextField nom=new JtextField(); JtextField prénom=new JtextField();
Comparaison de classe [ par Hermios ]
Bonjour à tous,Ma question est vraiment bête, mais j'a comprend rien du tout!Alors voilà, j'ai cette ligne : if(componentList[i].getClass()==javax.sw
swing--->jtextfield--->keypressed [ par kam81 ]
salut, je suis debutant en java.Comment gerer l'evenement keypressed d'un jtextfield pour ne permettre de taper que des chiffres par exemple.
[Swing] Probleme de size de JPanel, je ne controle rien. [ par zinZ ]
Bonjour, Je suis en train de me prendre la tête avec les tailles de mes composants. J'utilise une JToolBar, avec plusieurs JPanel imbriqué dedans. E
Probleme Placement JButton, JTextField etc... [ par Al3x38 ]
Bonjour,Alors avant toute remarque, je tiens à dire que je suis totalement débutant en Java Graphique et que je viens d'avoir un projet qui est plus q
lire le contenu d'un JTextField à partir d'un autre JFrame [ par Meriem85 ]
Bonsoir,Ds mon code je veux lire le contenu de JTextField d'un JFrame à partir d'un autre JFrame.Voici ma classe [B]InterfConf [/B]de laquelle je veux
Faire une grille de Jlabel dans une JFrame [ par ABF ]
Bonjour, Je voudrais : 0) demander de sélectionner une map 1) charger un fichier texte, le parser en fonction des | et remplir un tableau 2) generer
Quesque vous pensez ? [ par amine1234Z ]
SalutEnfin Voila apres 6 jours de recherche comment Ajoutter un :Jtable avec layout null dans JscrollPane package testjscolpane;import ja
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|