簡體   English   中英

GridLayout java中心對齊

[英]GridLayout java center alignment

我在Java中使用GridLayout類來布局一些UI組件。 圖像在這里:

在此輸入圖像描述

我想讓Create Shopping Cart圖片和相關文本在面板中各自的單元格中對齊。 有關詳細信息 - 購物車圖片必須位於面板灰色單元格的中心。 並且JTextArea中的文本也必須居中對齊。 你能幫忙嗎? 我的代碼已附上。

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();
}
}

使用JLabel setHorizontalAlignment()方法,如下:

imglabelapprove.setHorizontalAlignment(JLabel.CENTER);

對於JTextArea文本居中,請閱讀該答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM