社区
Java SE
帖子详情
Java中如何实现代理方法
shengli_liao
2007-01-08 02:40:13
JComponent有一个方法setBounds(x,y,w,h),并且Sun公司已经完全实现,我想覆盖或者重写该方法,如何实现?
由于已有的程序中生成了许多各式各样的JComponent,让每个JComponent覆盖父类的该方法显然是不可能的。
有没有如代理接口的方法实现代理JComponent的setBounds(x,y,w,h)的方法。
不管过程多复杂,只要能实现就好。谢谢。
...全文
401
15
打赏
收藏
Java中如何实现代理方法
JComponent有一个方法setBounds(x,y,w,h),并且Sun公司已经完全实现,我想覆盖或者重写该方法,如何实现? 由于已有的程序中生成了许多各式各样的JComponent,让每个JComponent覆盖父类的该方法显然是不可能的。 有没有如代理接口的方法实现代理JComponent的setBounds(x,y,w,h)的方法。 不管过程多复杂,只要能实现就好。谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shengli_liao
2007-01-16
打赏
举报
回复
谁也不会,那只好结贴了。
看来CSDN上高手都不怎么舍得帮忙呀。
rehte
2007-01-12
打赏
举报
回复
明白了。不好改。如果你不准备使用布局管理器,你说那种方法可能是最好的。
shengli_liao
2007-01-12
打赏
举报
回复
自定义一个Component继承JComponent
===================
没看明白,那所有的Java组件又得继承我写的Component,最后我不得不重写一套Swing
benewu
2007-01-12
打赏
举报
回复
还是自定义一个Component继承JComponent并且重写setBounds吧。就算1000个component,手工改起来也就一个上午的时间。
shengli_liao
2007-01-12
打赏
举报
回复
因为原来已经在1024*768上作了定义,而且显示的特别顺眼,
现在如果换了其它的分辨率,只是将原组件大小及位置按计算的比例重新定位,
位置和大小当然一起缩放
rehte
2007-01-12
打赏
举报
回复
你的意思是说每个组件都按照这个比例缩放?但是位置怎么重定义?
shengli_liao
2007-01-12
打赏
举报
回复
就是有办法重写setBounds,难道楼主就能在这一个方法内改变10000控件的重新准确的布局吗?
===================================================
当然有办法,我可以获得当前系统的分辨率大小,然后求出与设计时大小的比例,
原有的setBounds方法不作任何改变,程序就能适用于任何分辨率大小的系统
我现在也想采用自己写一个静态方法:
static setBounds(Component c,..){
c.setBounds(...);
}
可是感觉不爽,那样的话相当于借助于第三方类,而且以后所有的组件setBounds都只能通过该方法
shengli_liao
2007-01-11
打赏
举报
回复
呵呵,就因为我现在使用的null布局,带来了灾难性后果。
编程时只考虑了在显示器分辨率为1024*768下的情况,
现在客户要求显示到分辨率更大的情况下,
结果我要么重写所有的setBounds方法,
实际上重写所有的setBounds方法已经是不可能的了,
因为我的程序中估计已经生成有10000个控件。
所以我想问一下有没有如代理接口似的实现代理方法,
或者其它的什么方法重新实现JComponent的setBounds方法
rehte
2007-01-11
打赏
举报
回复
就是有办法重写setBounds,难道楼主就能在这一个方法内改变10000控件的重新准确的布局吗?
hcx_2008
2007-01-11
打赏
举报
回复
自己写一个静态方法:
static setBounds(Component c,..){
c.setBounds(...);
}
hcx_2008
2007-01-11
打赏
举报
回复
不是向上转型已经可以了吗?
Component c=yourComponent;//不管你的组件是什么
c.setBounds(...);
mdxk
2007-01-10
打赏
举报
回复
关于布局可以都使用NULL那样不就自己自由的指定了
没有必要重新写
rehte
2007-01-08
打赏
举报
回复
lixiaoxue85:
LZ没有打算设置边框啊,你是不是把setBounds看成setBorder了:)
lixiaoxue85
2007-01-08
打赏
举报
回复
LZ为社么要这样做?
API上这样写的~~
虽然从技术上讲可以在继承自 JComponent 的所有对象上设置边框,但是很多标准 Swing 组件的外观实现无法很好地使用用户设置的边框。通常,如果希望在标准的 Swing 组件而不是 JPanel 或 JLabel 上设置边框时,我们建议将该组件放入 JPanel 中,并在 JPanel 上设置边框。
rehte
2007-01-08
打赏
举报
回复
你想要实现什么样的功能,我觉得你完全没有必要覆盖JComponent的setBounds的功能,你说一下你们想要实现的功能,大家想想有没有其他的方法来实现。
Java
代理
模式
实现
方式与测试
方法
本文介绍
Java
代理
模式的
实现
与测试
方法
。包括静态
代理
,通过手动编写
代理
类在编译期确定
代理
关系;动态
代理
,如JDK动态
代理
基于反射机制、CGLIB通过生成子类
实现
。还对比了
实现
方式,给出测试注意事项,最后总结各方式适用场景,强调按需选择并测试。
Java
实现
HTTP
代理
的技巧与
方法
本文介绍了在
Java
中
实现
HTTP
代理
的过程。先解释了HTTP
代理
是客户端和服务器间的
中
介服务器,有隐藏IP等功能。接着阐述
Java
设置HTTP
代理
的基本
方法
、用Authenticator身份验证、
代理
选择的高级配置,还说明了
代理
IP在隐私保护、突破限制等方面的优势。
用
java
动态
代理
类
实现
方法
缓存
文章介绍了用
Java
动态
代理
实现
方法
缓存的内容。其缓存是针对InvocationHandler
实现
对象的实例,非全局的。每次调用Memoizer.memoize
方法
会生成新的Memoizer实例,还提到
方法
中
object.getClass().getInterfaces()用法灵活,体现了基于动态
代理
的AOP
实现
思想。
Java
动态
代理
的两种
实现
方法
本文深入讲解
Java
动态
代理
技术,包括其基本概念、
实现
方法
及应用场景。通过实例演示如何使用
Java
反射API创建
代理
对象,并探讨
代理
在解决实际问题
中
的运用。
Java
动态
代理
实现
接口
方法
本文探讨了MyBatis
中
自定义Mapper接口
方法
与XML配置文件的绑定机制,通过
Java
动态
代理
实现
接口
方法
调用,重点介绍了使用Proxy.newProxyInstance
方法
及InvocationHandler接口的具体
实现
。
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章