GridLayout java centre de l'alignement
Je suis en utilisant GridLayout classe en Java pour la mise en page de certains composants de l'INTERFACE utilisateur. L'Image est ici:
Je voudrais obtenir le Créer Panier de l'image et le texte associé à être aligné centre dans leurs cellules respectives dans le panneau. Pour plus de détails - le panier de l'image doit être dans le centre du gris cellules du panneau. Et le texte dans le JTextArea doivent être alignés. Pouvez-vous s'il vous plaît aider. Mon code est ci-joint.
import javax.swing.*;
import java.awt.*;
class ImageDemo extends JFrame
{
ImageDemo()
{
Container pane = getContentPane();
pane.setLayout(new GridLayout(2,2));
setSize(800,400);
setLayout(new GridLayout(2,2));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel cartpane = new JPanel();
cartpane.setLayout(new GridLayout(1,2));
/*
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.SOUTH;
c.fill=GridBagConstraints.BOTH;
cartpane.add(imglabelcart,c);
c.gridx=1;
c.gridy=0;
c.fill=GridBagConstraints.BOTH ;
c.anchor = GridBagConstraints.WEST;
cartpane.add(cartta,c);
*/
ImageIcon iconcart = new ImageIcon("cart.jpg");
JLabel imglabelcart = new JLabel("Create Shopping Cart");
imglabelcart.setIcon(iconcart);
imglabelcart.setVerticalTextPosition(SwingConstants.BOTTOM);
imglabelcart.setHorizontalTextPosition(SwingConstants.CENTER);
JTextArea cartta = new JTextArea();
cartta.setLineWrap(true);
cartta.append("Use the Create Shopping Cart transaction to create a
new shopping cart for your purchases.\n");
cartta.append("You can view the products available in the catalog and select
them to be part of your shopping cart.");
cartpane.add(imglabelcart);
cartpane.add(cartta);
ImageIcon iconapprove = new ImageIcon("approve.jpg");
ImageIcon iconviewpo = new ImageIcon("viewpo.jpg");
ImageIcon iconlogout = new ImageIcon("viewpo.jpg");
JLabel imglabelapprove = new JLabel("Approve Shopping Cart");
JLabel imglabelviewpo = new JLabel("View Purchase Order");
JLabel imglabellogout = new JLabel("Logout");
imglabelapprove.setIcon(iconapprove);
imglabelapprove.setVerticalTextPosition(SwingConstants.BOTTOM);
imglabelapprove.setHorizontalTextPosition(SwingConstants.CENTER);
imglabelviewpo.setIcon(iconviewpo);
imglabelviewpo.setVerticalTextPosition(SwingConstants.BOTTOM);
imglabelviewpo.setHorizontalTextPosition(SwingConstants.CENTER);
imglabellogout.setIcon(iconlogout);
imglabellogout.setVerticalTextPosition(SwingConstants.BOTTOM);
imglabellogout.setHorizontalTextPosition(SwingConstants.CENTER);
pane.setBackground(new Color(156,195,252));
pane.add(cartpane);
pane.add(imglabelapprove);
pane.add(imglabelviewpo);
pane.add(imglabellogout);
setVisible(true);
}
public static void main(String[] args)
{
ImageDemo demoi = new ImageDemo();
}
}
OriginalL'auteur Sathish | 2013-12-09
Vous devez vous connecter pour publier un commentaire.
Utilisation
setHorizontalAlignment()
méthode deJLabel
comme suivant:Pour centrer le texte dans
JTextArea
lu que réponse.Si avec cette approche, il n'est pas de travail, il se peut que votre JLabel est trop courte, alors même que vous centrer le contenu, il apparaît sur la gauche de la cellule. Augmentation de la longueur de celui-ci.
OriginalL'auteur alex2410