社区
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)的方法。
不管过程多复杂,只要能实现就好。谢谢。
...全文
355
15
打赏
收藏
Java中如何实现代理方法
JComponent有一个方法setBounds(x,y,w,h),并且Sun公司已经完全实现,我想覆盖或者重写该方法,如何实现? 由于已有的程序中生成了许多各式各样的JComponent,让每个JComponent覆盖父类的该方法显然是不可能的。 有没有如代理接口的方法实现代理JComponent的setBounds(x,y,w,h)的方法。 不管过程多复杂,只要能实现就好。谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
_API1.6文档(
中
文)
java
.lang.instrument 提供允许
Java
编程语言
代理
检测运行在 JVM 上的程序的服务。
java
.lang.management 提供管理接口,用于监视和管理
Java
虚拟机以及
Java
虚拟机在其上运行的操作系统。
java
.lang.ref 提供...
cglib2.2.jar
2. **
方法
拦截器**:CGLIB使用`Enhancer`类来创建
代理
对象,并通过`Callback`接口
实现
方法
拦截。`Callback`可以是`MethodInterceptor`,在
方法
调用前后执行自定义逻辑。 3. **字节码生成**:CGLIB通过ASM库生成新的...
Java
中
实现
动态
代理
5种
实现
Java
动态
代理
的5
中
实现
Java
代理
模式快速解析:从静态
代理
到动态
代理
本文深入探讨了
代理
模式的核心概念、类型划分(静态
代理
与动态
代理
)及其典型应用场景,并...文章还结合实际案例,展示了
代理
模式在日志记录、权限控制和分布式系统
中
的广泛应用,帮助读者全面掌握该模式的理论与实践。
java
代理
(静态
代理
、动态
代理
的不同
实现
)详解及示例
代理
模式上,基本上有Subject角色,RealSubject角色,Proxy角色。...
代理
对象和被
代理
对象一般
实现
相同的接口,调用者与
代理
对象进行交互。
代理
的存在对于调用者来说是透明的,调用者看到的只是接口。
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章