我使用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));
}
答案 0 :(得分:6)
JButton button = new JButton( "Centered" );
button.setIcon( new ImageIcon("mong.jpg") );
button.setHorizontalTextPosition(JButton.CENTER);
button.setVerticalTextPosition(JButton.CENTER);