[英]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.