当前位置: 技术问答>java相关
如何编写自己的Java Component
来源: 互联网 发布时间:2015-10-20
本文导语: 可以用在JBuilder的工具栏中。 各位兄弟给个入门提示,多谢先! 另外,我注意到,JButton、JLabel等Component的大小会随着自己的Caption变化,如何做到? 另外,如何做一个固定大小的Component? | ...
可以用在JBuilder的工具栏中。
各位兄弟给个入门提示,多谢先!
另外,我注意到,JButton、JLabel等Component的大小会随着自己的Caption变化,如何做到?
另外,如何做一个固定大小的Component?
各位兄弟给个入门提示,多谢先!
另外,我注意到,JButton、JLabel等Component的大小会随着自己的Caption变化,如何做到?
另外,如何做一个固定大小的Component?
|
首先要继承Jcomponent类
> JButton、JLabel等Component的大小会随着自己的Caption变化
那是因为他们在getPreferedSize()中计算了自己应该占多大size比较好,当然如果想要更完善的话,还要实现getMaximumSize()和getMinimunSize()
LayoutManager会调用这些方法来进行布局。
> 固定大小的Component?
这个有很多方法,比如重写setBounds(Rectanle)方法。 或者结合LayoutManager来做。
你可以参考javax.swing.Box的source
> JButton、JLabel等Component的大小会随着自己的Caption变化
那是因为他们在getPreferedSize()中计算了自己应该占多大size比较好,当然如果想要更完善的话,还要实现getMaximumSize()和getMinimunSize()
LayoutManager会调用这些方法来进行布局。
> 固定大小的Component?
这个有很多方法,比如重写setBounds(Rectanle)方法。 或者结合LayoutManager来做。
你可以参考javax.swing.Box的source
|
构造方法调用setUI
|
楼上说得没错。
更简单的,你设计你想要的component直接继承和它相仿的系统已有的 component
然后重载楼上说的那些方法实现固定大小--不过,不见得能固定。
因为容器不见得容许你这么做,除非你也重载容器以下,但是这样属于特殊问题,没有实用性了。
更简单的,你设计你想要的component直接继承和它相仿的系统已有的 component
然后重载楼上说的那些方法实现固定大小--不过,不见得能固定。
因为容器不见得容许你这么做,除非你也重载容器以下,但是这样属于特殊问题,没有实用性了。