JButton 引入图片后 设置大小:
setIcon,第一步
第二步:setMargin(new java.awt.Insets(0, 0, 0, 0));
第三布:jb.setPreferredSize(new Dimension(icon.getIconWidth() - 1, icon.getIconHeight() - 1));
再一步,最让人恶心的一步:用一个 JPanel 包装这个 JButton
其他的Component没试过
设置文字放在图片正中:
jb.setHorizontalTextPosition(SwingConstants.CENTER);
setPerferredSize 这里让 width 和 height 都 -1 ,是因为还有边框会看到,具体是指看个人喜好。
一个代码
setIcon,第一步
第二步:setMargin(new java.awt.Insets(0, 0, 0, 0));
第三布:jb.setPreferredSize(new Dimension(icon.getIconWidth() - 1, icon.getIconHeight() - 1));
再一步,最让人恶心的一步:用一个 JPanel 包装这个 JButton
其他的Component没试过
设置文字放在图片正中:
jb.setHorizontalTextPosition(SwingConstants.CENTER);
setPerferredSize 这里让 width 和 height 都 -1 ,是因为还有边框会看到,具体是指看个人喜好。
一个代码
- public static JPanel wrapJButton(JButton jb, Icon icon) {
- JPanel jp = new JPanel();
- jb.setMargin(new java.awt.Insets(0, 0, 0, 0));
- jb.setHorizontalTextPosition(SwingConstants.CENTER);
- if (icon == null) {
- icon = jb.getIcon();
- }
- if (icon != null) {
- jb.setPreferredSize(new Dimension(icon.getIconWidth() - 1, icon.getIconHeight() - 1));
- }
- jp.add(jb);
- return jp;
- }