左右两个JLabel在" North" BorderLayout的

时间:2015-02-23 13:49:07

标签: java alignment jlabel

我正在使用BorderLayout申请。 setLayout(new BorderLayout()); 我需要在JLabels的{​​{1}}左右对齐两个"NORTH"

这是我的代码:

JPanel

所以我需要左边的topTxtLabel和右边的logoutTxtLabel。 我试图再次使用边框布局来使用" WEST"和" EAST",但它没有奏效。想法?

1 个答案:

答案 0 :(得分:2)

假设您的应用包含JFrameBorderLayout,您可以尝试这样做:将JPanel的布局模式再次设置为BorderLayout。在框架的北部添加面板。然后在东部和西部添加2 JLabels。您也可以将JFrame替换为另一个JPanel

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class Main 
{

    public static void main(String[] args) 
    {
        new Main();
    }

    Main()
    {
        JFrame frame = new JFrame("MyFrame");
        frame.setLayout(new BorderLayout());

        JPanel panel = new JPanel(new BorderLayout());
        JLabel left = new JLabel("LEFT");
        JLabel right = new JLabel("RIGHT");
        JPanel top = new JPanel(new BorderLayout());

        top.add(left, BorderLayout.WEST);
        top.add(right, BorderLayout.EAST);
        panel.add(top, BorderLayout.NORTH);
        frame.add(panel, BorderLayout.NORTH);
        frame.add(new JLabel("Another dummy Label"), BorderLayout.SOUTH);

        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}