JButton背景图像文本

时间:2015-05-21 20:15:29

标签: java swing

我使用btn.setIcon方法在JButton上放置了一个图像。问题是文本被图像向右推,我可以看到背景按钮的颜色,只有文本的第一个字母甚至是他们的水平对齐都放在中心(我尝试了所有变化)。

注意:我需要的是一个完整的背景图片,文字超出图像。不仅仅是一个图标。

我怎样才能实现这一目标?

如果您发布代码,作为一个工作示例,我们将能够提供更多帮助。 - user2891133

它是:

public void placeResizedImage(JBUtton btn){
            URL buttonImage=this.getClass().getResource("/source/woodButton.png");
            BufferedImage bg=null;
            try {
                bg = ImageIO.read(buttonImage);
            } catch (IOException e) {
                System.out.println("Background image does not exist!");
                return null;
            }
            Image imageBuff=bg.getScaledInstance((int)btn.getSize().getWidth(),(int) btn.getSize().getHeight(),
            Image.SCALE_SMOOTH);
            btn.setIcon(new ImageIcon(imageBuff));
        }

1 个答案:

答案 0 :(得分:6)

JButton button = new JButton( "Centered" );
button.setIcon( new ImageIcon("mong.jpg") );
button.setHorizontalTextPosition(JButton.CENTER);
button.setVerticalTextPosition(JButton.CENTER);