(求教)Swing - Jbutton - 透明 - 背景

hans8 2010-04-02 09:16:26
想做个图片按钮,圆角。

普通状态,鼠标滑过状态的效果都满意,但是当鼠标按下时候那个讨厌的背景和方框框又出来了!

求教如何处理

上程序 和 图

一:
ImageButton startServer = new ImageButton(new ImageIcon("images/Start.png"));
startServer.setPressedIcon(new ImageIcon("images/pressStart.png"));
startServer.setRolloverIcon(new ImageIcon("images/overStart.png"));
//startServer.setSelectedIcon(new ImageIcon("images/pressStart.png"));两个注释打开后效果也一样
//startServer.setRolloverSelectedIcon(new ImageIcon("images/pressStart.png"));

二:
import java.awt.*;
import javax.swing.*;

public class ImageButton extends JButton {

public ImageButton(ImageIcon icon) {
setIcon(icon);
setMargin(new Insets(0,0,0,0));
setIconTextGap(0);
setBorderPainted(false);
setBorder(null);
setText(null);
setBackground(null);
setSize(icon.getImage().getWidth(null),
icon.getImage().getHeight(null));
setOpaque(false);
}
}
下面为 普通状态

下面为 鼠标滑过状态

下面为 按下状态 可恶的背景和方框!!



...全文
478 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwtyb 2010-04-02
  • 打赏
  • 举报
回复
按照你程序
普通状态和鼠标滑过状态其实也没有处理好,Swing实现的JButton按钮都存在背景,只不过普通状态和鼠标滑过状态未显示出来而已
最好是自己实现JButton
hans8 2010-04-02
  • 打赏
  • 举报
回复
已解决!!
开心
和大家分享
setContentAreaFilled(false);设置这个即可,按下后也不会有讨厌的背景了
hans8 2010-04-02
  • 打赏
  • 举报
回复
谢谢1楼,这个文章我有搜到过,但是普通状态和鼠标滑过状态既然已经处理好了,press状态为什么会异样呢? 我的这个问题还请教怎么解决。。。
wwwtyb 2010-04-02
  • 打赏
  • 举报
回复
对于你这样的需求,可以自定义按钮:
参考这个
http://hi.baidu.com/kedman/blog/item/4e54a125f39d336435a80f3f.html

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧