社区
Java SE
帖子详情
GUI编程中的JButton组件,当鼠标移动到其上面时,按钮显示出边框,能否去掉?
llzlucky
2007-07-29 01:29:00
GUI编程中的JButton组件,当鼠标移动到其上面时,此JButton按钮会显示出边框(但愿我的表达够清楚,有点像是得到了焦点),能否去掉?
...全文
714
9
打赏
收藏
GUI编程中的JButton组件,当鼠标移动到其上面时,按钮显示出边框,能否去掉?
GUI编程中的JButton组件,当鼠标移动到其上面时,此JButton按钮会显示出边框(但愿我的表达够清楚,有点像是得到了焦点),能否去掉?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
llzlucky
2007-08-03
打赏
举报
回复
zwgs1985(流氓狗)大虾,多谢!我的你的仰慕有如长江之水,连绵不绝,又有如黄河之水,泛滥成灾。
其实用setBorder(new EmptyBorder(0, 0, 0, 0));就可以解决我的问题了。setBorder(null);效果也一样。
在这里讲一下我的一点教训,我是在一个Frame中应用了一个GridLayout,然后再加上的JButton。之所以出现我在上文中提到的“横向的按钮之间倒是没问题,纵向的按钮之间没有边界”这个问题,是因为我给窗口增加了菜单,去掉菜单就没有这个问题了。也许我应该把JButton加到Panel里,然后再加到Frame里,这样大概没问题,还没有试呢。
另外我实现扫雷的边框效果的方法是利用图像,而不是设置边框。在Windows里的扫雷程序中提取出图像的资源,然后应用到程序中的。
zwgs1985
2007-08-02
打赏
举报
回复
扫雷?那就是这效果了
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.BevelBorder;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
public class TestFrame extends JFrame {
/**
*
*/
private static final long serialVersionUID = -5312488161764152418L;
public TestFrame() {
super();
this.init();
}
private void init() {
JPanel panel = new JPanel();
JButton label = new JButton("button");
label.setBorder(new CompoundBorder(new EmptyBorder(0, 0, 0, 0),
new BevelBorder(0)));
panel.add(label);
this.getContentPane().add(panel);
}
public static void main(String[] args) {
TestFrame t = new TestFrame();
t.pack();
t.setVisible(true);
t.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
llzlucky
2007-08-02
打赏
举报
回复
不好意思,好像setBorder有点管用。本人的程序是把几行几列的按钮放在一个GridLayout布局管理器里,使用了setBorder后,横向的按钮之间倒是没问题,纵向的按钮之间没有边界了,还请zwgs1985(流氓狗) 大虾不吝赐教。
llzlucky
2007-07-31
打赏
举报
回复
setUI与setBorder完全不管用。修改paint方法,操作过程中出现大量的出错信息,本人无法解决,于是把paint方法中只加入一条打印语句,发现完全没有被调动。?
其实本人是想编写一个小游戏的扫雷程序,把鼠标移动到按钮上,有个边框的话,那么跟windows里带的扫雷相差太多了呀。
zwgs1985
2007-07-31
打赏
举报
回复
setBorder(new EmptyBorder(0, 0, 0, 0));
djsl6071
2007-07-30
打赏
举报
回复
估计无法在该类中作修改,因为外观是托管的,也就是在look and feel里面设计的,改那边的才有用。
chenweionline
2007-07-30
打赏
举报
回复
jButton.setUI(new BasicButtonUI());
kulatasana
2007-07-30
打赏
举报
回复
要修改显示外观,有多种途径,并非只有laf一条路可走哦~
kulatasana
2007-07-30
打赏
举报
回复
如果只是希望不显示边框,我给你出个主意!
写个累,extends JButton,然后重载其paint方法,方法内容完全copy自JComponent之中,只需要去掉其中两个调用paintBorder的地方即可,这样你的Border就完全画不出来了^_^
java图形化
GUI
编程
-Awt&Swing(一文解决)
一. 课程概述 通常情况下,java语言一般是用来开发后台程序的,所谓的后台程序就是部署在服务器端的程序,默默的工作,用户是看不到任何界面的,所以很多情况下,学习java会感觉很枯燥。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Oy5Lvdq-1632886582166)(./images/服务器.jpg)] 事实上,我们使用java语言同样可以完成图形化界面程序的开发,而学习图形化界面
编程
相对来说就会有趣很多,因为所见即所得,也就是说,我们写的大部分代码的执行效果,是
Java图形化界面
编程
之——Swing
1、Swing概述 Swing是由100%纯Java实现的,不再依赖于本地平台的
GUI
,因此可以在所有平台上都保持相同的界面外观。独立于本地平台的Swing
组件
被称为是轻量级
组件
,而依赖于本地平台的
组件
被称为重量级
组件
。 由于Swing的所有
组件
完全采用Java实现,不再调用本地平台的
GUI
,所以导致Swing图形界面的
显示
速度要比AWT图形界面的
显示
速度慢一些,但相对于快速发展的硬件设施而言,这种微笑的速度差别无妨大碍。 使用Swing 的优势: Swing
组件
不再依赖于本地平台的
GUI
,无需采用
java图形化界面
编程
-Swing
编程
前一章己经介绍过AWT和Swing 的关系 , 因此不难知道 : 实际使用 Java 开发图形界面程序
时
,很少使用 AWT
组件
,绝大部分
时
候都是用 Swing
组件
开发的 。 Swing是由100%纯 Java实现的,不再依赖于本地平台的
GUI
, 因此可以在所有平台上都保持相同的界面外观。独立于本地平台的Swing
组件
被称为轻量级
组件
;而依赖于本地平台的 AWT
组件
被称为重量级
组件
。
JFrame实现无
边框
及 实现拖动和Button关闭功能
JFrame实现无
边框
及 实现拖动和Button关闭功能 在用Java的Swing
编程
做
GUI
图形用户界面
时
,可能有这样的需求,就是不想要外面的那个默认
边框
,那么如何实现JFrame去
边框
,以及去
边框
后又会
出
现什么问题呢? 使用setUndecorated(true);去
边框
后 1、JFrame就没有标题了,且不能拖动了,需要自己实现界面的鼠标拖事件。 2、没有最小化、最大化和关闭
java图形化界面
编程
2
前一章己经介绍过AWT和Swing 的关系 , 因此不难知道 : 实际使用 Java 开发图形界面程序
时
,很少使用 AWT
组件
,绝大部分
时
候都是用 Swing
组件
开发的 。 Swing是由100%纯 Java实现的,不再依赖于本地平台的
GUI
, 因此可以在所有平台上都保持相同的界面外观。独立于本地平台的Swing
组件
被称为轻量级
组件
;而依赖于本地平台的 AWT
组件
被称为重量级
组件
。 由于 Swing 的所有
组件
完全采用 Java 实现,不再调用本地平台的
GUI
,所以导致 Swing 图形界面
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章