作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 JPanel,我将其插入到 JFrame 中。现在,我想在 JPanel 的左侧显示一个 JLabel。所以我有这个代码:
JPanel panelHeader = new JPanel();
panelHeader.setBackground(new Color(52,151,236));
panelHeader.setPreferredSize(new Dimension(300,25));
GridBagConstraints GBC = new GridBagConstraints();
Container CR = new Container();
GridBagLayout GBL = new GridBagLayout();
CR.setLayout(GBL);
panelHeader.add(CR);
LabelFormat label = new LabelFormat("EasyManagement",new Font("Arial Narrow", Font.PLAIN, 16),Color.white);
GBC = new GridBagConstraints();
CR.add(label);
GBC.gridx=0;
GBC.gridy=0;
GBC.insets.left = 1;
GBC.insets.top=0;
GBC.fill = GridBagConstraints.BOTH;
GBC.anchor= GridBagConstraints.EAST;
GBL.setConstraints(label,GBC);
使用此代码,我无法在 JPanel 左侧显示 JLabel,但我在中间看到它。
如何修复它?
最佳答案
-您可能希望设置 JLabel 的 HorizontalAlignment 属性。一种方法是通过其构造函数。尝试:
JLabel label = new JLabel(lText, SwingConstants.LEFT);
这也可以通过预期的 setter 方法来完成:
label.setHorizontalAlignment(SwingConstants.LEFT);
-您还可以尝试对 JLabel JPanel 容器使用左对齐
myJPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
-最终方式:
您可以使用 FlowLayout.LEADING
将标签包装在 JPanel
中
JPanel wrapper = new JPanel(new FlowLayout(FlowLayout.LEADING,0, 0));
wrapper.add(Jlabel);
panel.add(wrapper);
<小时/>
还要记住遵循 Java 命名约定。变量以小写字母开头,使用驼峰式大小写:Jlabel
→ jLabel
关于java - 如何在JPanel中设置左对齐JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33171772/
我是一名优秀的程序员,十分优秀!