我有这个程序,我在一个窗口中有一个带有2个圆圈的画布(你可以通过点击画布移动其中一个圆圈)。
它在Windows和iOS上没有问题,但在ubuntu上有这个问题:
当我使用窗口左上角的组合框更改选定的圆圈时,圆圈消失,仅在画布的左上角可见,在我变形之前被组合框项目覆盖的区域中选定的圈子。
当我拖动应用程序窗口使其离开屏幕或在窗口上放置另一个窗口时,圆圈开始在隐藏的画布部分中可见。
请你解释一下,为什么会发生这种情况,我做错了什么?
答案 0 :(得分:1)
你打破了油漆链,你应该打电话给outlet
,但是对于UITextField
,你应该覆盖super.paint
(并呼叫JPanel
在你做任何自定义绘画之前)
答案 1 :(得分:0)
很难给出任何想法(这段代码不短)。在我的系统(Cinnamon 2.4.8)上,一切都画得很好。无论如何,添加super.paint()
并不需要付出太多努力,也不会对任何事情造成伤害。
以下是有趣的:您可以直接在main()
方法中创建框架。但是现在应该在事件队列中创建Swing / AWT主框架:
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new BlochovyKruhy2();
}
});
}
而不是
public static void main(String[] args) {
new BlochovyKruhy2();
}