如题,
虽然说 用JAVA搞UI有点儿不大完美,但要搞UI也是没办法的事..
特别是在 JPanel或JFrame的一些 从超类等继承过来的方法,在JAVA的API说明文档中也不大看得明白,就比如这个
paintComponent
“如果 UI 委托为非 null,则调用该 UI 委托的 paint 方法。向该委托传递 Graphics 对象的副本,以保护其余的 paint 代码免遭不可取消的更改(例如 Graphics.translate)。
如果在子类中重写此方法,则不应该对传入到 Graphics 中的内容进行永久更改。例如,不应更改剪裁矩形 或修改转换。如果需要进行这些操作,您会发现根据传入的 Graphics 创建一个新 Graphics 并操作它会更容易一些。另外,如果不调用超类的实现,则必须遵守不透明属性,也就是如果此组件是不透明的,则必须以透明的颜色完全填充背景。如果不遵守不透明属性,则很可能看到可视化的人为内容。
”是嘛意思?
是不是说 每一个扩展(extends)JPanel的方法,都得重写 paintComponent方法,而且还要用到 super.paintComponent(Graphics g)?实在有些疑惑....
虽然说 用JAVA搞UI有点儿不大完美,但要搞UI也是没办法的事..
特别是在 JPanel或JFrame的一些 从超类等继承过来的方法,在JAVA的API说明文档中也不大看得明白,就比如这个
paintComponent
“如果 UI 委托为非 null,则调用该 UI 委托的 paint 方法。向该委托传递 Graphics 对象的副本,以保护其余的 paint 代码免遭不可取消的更改(例如 Graphics.translate)。
如果在子类中重写此方法,则不应该对传入到 Graphics 中的内容进行永久更改。例如,不应更改剪裁矩形 或修改转换。如果需要进行这些操作,您会发现根据传入的 Graphics 创建一个新 Graphics 并操作它会更容易一些。另外,如果不调用超类的实现,则必须遵守不透明属性,也就是如果此组件是不透明的,则必须以透明的颜色完全填充背景。如果不遵守不透明属性,则很可能看到可视化的人为内容。
”是嘛意思?
是不是说 每一个扩展(extends)JPanel的方法,都得重写 paintComponent方法,而且还要用到 super.paintComponent(Graphics g)?实在有些疑惑....
有需要者登录http://xdqbysj.10mb.cn/
QQ:
客服一(16376208) 客服二(57293694)