徽标未与导航面板左对齐

问题描述 投票:0回答:1

我正在尝试将徽标与导航面板的左侧对齐,但是由于某种原因,它无法正常工作。下面是显示其外观的图像:The Logo have a bit of a space on left side remaining empty.

但是当我移除导航按钮时,徽标看起来像这样向左对齐:

Now it's aligned left.

导航徽标代码

public class navLogo {

    public void addLogo() {
        try {
            BufferedImage myLogo = ImageIO.read(new File("Images/Logo.png"));
            JLabel logoLabel = new JLabel(new ImageIcon(myLogo));
            new navPanel().getNavPanel().add(logoLabel);
        } catch(IOException ex) {
            ex.printStackTrace();
        }
    }
}

导航按钮的代码

public class navBtns {

    private ArrayList<JButton> navBtnList = new ArrayList<>();

    public void setUpNavBtns() {
        makeNavBtns();
        customizeNavBtns();
    }

    void makeNavBtns() {
        navBtnList.add(0, new JButton("Mouse"));
        navBtnList.add(1, new JButton("Visuals"));
        navBtnList.add(2, new JButton("Desktop"));
        navBtnList.add(3, new JButton("Privacy"));
        navBtnList.add(4, new JButton("Encryption"));
        navBtnList.add(5, new JButton("Optimization"));
        navBtnList.add(6, new JButton("Settings"));
    }

    void customizeNavBtns() {
        for (JButton jButton : navBtnList) {
            jButton.setFont(new Font("Times New Roman", Font.PLAIN, 20));
            jButton.setAlignmentX(Component.CENTER_ALIGNMENT);
            jButton.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
            jButton.setFocusPainted(false);
            jButton.setBorderPainted(false);
            jButton.setForeground(Color.WHITE);
            jButton.setBackground(Color.WHITE);
            jButton.setOpaque(false);

            new navPanel().getNavPanel().add(jButton);
        }
    }
}

良好的回答将不胜感激。感谢您的帮助。

java swing layout-manager
1个回答
0
投票

从navBtns.java删除以下行后,它可以工作:

jButton.setAlignmentX(Component.CENTER_ALIGNMENT);
© www.soinside.com 2019 - 2024. All rights reserved.