两个 JLabel 垂直居中
我必须创建两个 JLabel,并且它们应该在 JFrame 中位于彼此的中心和正下方。我一直在使用 swing 的 gridbaglayout,但我不知道如何做到这一点。
terminalLabel = new JLabel("No reader connected!", SwingConstants.CENTER);
terminalLabel.setVerticalAlignment(SwingConstants.TOP);
cardlabel = new JLabel("No card presented", SwingConstants.CENTER);
cardlabel.setVerticalAlignment(SwingConstants.BOTTOM);
I've got to create two JLabels, and the should been positioned center and right under each other in the JFrame. I've beeing using the gridbaglayout from swing, but I can't figure out how to do this.
terminalLabel = new JLabel("No reader connected!", SwingConstants.CENTER);
terminalLabel.setVerticalAlignment(SwingConstants.TOP);
cardlabel = new JLabel("No card presented", SwingConstants.CENTER);
cardlabel.setVerticalAlignment(SwingConstants.BOTTOM);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 BoxLayout。在下面的代码中,Box 类是一个便利类,它创建一个使用 BoxLayout 的 JPanel:
Use a BoxLayout. In the code below the Box class is a convenience class that creates a JPanel that uses a BoxLayout:
使用 FlowLayout 和 GridLayout
使用此方法,您可以将 2 个
JLabels
放置在中心并彼此下方。您还可以设置两个标签之间的垂直间隙。 #GridLayout(int, int, int, int)Using FlowLayout and GridLayout
Using this method you can place 2
JLabels
in the center and beneath each other. You can also set vertical gap between the 2 labels . #GridLayout(int, int, int, int)您应该为用于将标签添加到容器的 GridBagCOnstraint 指定正确的锚点 (CENTER)。
You should specify proper anchor (CENTER) for the GridBagCOnstraints you use to add the labels to container.
您必须使用 GridBagConstraints 。添加第二个标签时更改约束的
gridY
值,它将放置在第一个标签下。试试这个:
另请阅读以下内容:如何使用 GridBagLayout
You have to use
GridBagConstraints
. ChangegridY
value of constraints while adding second label and it will be placed under first one.Try this:
Also read this: How to Use GridBagLayout