0

我做了一个快速的研究来解决这个问题,但直到现在我没有发现任何关于这个的问题。我在一个 TabbedPane 对象中有一张图像,但是当我尝试将此图像对齐到 TabbedPane 内标签的中心时,它“不起作用”。在这种情况下,中心对齐仅适用于水平视图,但我希望位于垂直和水平的中心。查看下面的示例:

import java.awt.BorderLayout;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

import com.sh.st.gui.MainScreen;

public class test {

    JTabbedPane tabbedPane = new JTabbedPane();
    JFrame mainFrame = new JFrame();

public static void main (String[] args){

        test t = new test();

    }

    public test(){

        JPanel entrance = new JPanel();
        JLabel lbImage1;
        JMenuBar bar;
        JMenu file, registerQuery;
        ImageIcon Logo= new ImageIcon("rsc/img/imagem.jpg");        


        lbImage1= new JLabel(Logo, JLabel.CENTER);
            entrance.add(lbImage1);
                tabbedPane.addTab("Entrance", null, entrance);
                    mainFrame.getContentPane().add( tabbedPane, BorderLayout.CENTER);
                        bar= new JMenuBar();
                            file= new JMenu("File");
                                registerQuery= new JMenu("Request");
                                    mainFrame.setVisible(true);
    }   

}

我想做我想做的事并不难,但直到现在,正如我所说,我什么也没找到,有人可以帮忙吗?提前致谢

4

1 回答 1

2

由于JLabel其父容器的药水特性,对齐将仅水平居中。在这种情况下,默认布局JPanelFlowLayout. 这个布局管理器不利于简单的垂直对齐。

假设JLabel lbImage1将是 上的唯一组件JPanel entranceGridLayout则可用于JLabel水平和垂直居中:

entrance.setLayout(new GridLayout());
于 2013-07-12T13:27:59.233 回答