|
1
1
Java中的屏幕绘制(几乎)总是在paint()中完成。你的课程需要:
如果需要在特定时间打开牛眼的绘制,请在DrawingFrame对象上创建一个标志,并在需要时进行设置。设置标志时,需要调用repaint()。 |
|
|
2
4
我想你把问题倒过来了。在Swing中,所有绘图操作都应在
您可以做的是将要绘制的图像作为属性存储在类中,然后在pain方法中,在任何需要的地方绘制图像。例如:
在你的另一节课上:
|
|
|
3
1
|
|
|
4
1
很少应该使用paint()方法进行自定义绘制,尤其是JFrame的paint()方法。自定义绘制是通过重写Swing组件(通常是JComponent或JPanel)的paintComponent()方法完成的。阅读Swing教程中关于 Custom Painting 更多信息和工作示例。 然而,在这种情况下,你不需要做任何定制绘画。您只需创建一个ImageIcon并将该图标添加到JLabel,然后将JLabel添加到面板。阅读Swing教程中关于 How to Use Icons 工作示例。 如果找不到合适的布局管理器,也可以使用绝对定位。同样,您将在教程中找到一个关于使用布局管理器的部分,该部分将对此进行更详细的解释。 |
|
|
5
1
在类中创建一个图形对象,它必须具有全局性,而不仅仅是方法局部性。
并重写subject Swing Component超类的update method(),如下所示:
Update()将屏幕外图形数据缓冲区中的所有颜色清除为GraphicsObject的当前背景色。而且,您还必须知道在Swing组件的paint()中执行的三种方法: (1) 它调用它自己的paintComponent(),这里是该组件的实际绘制被委托给的地方; (2) 绘制其边界的方法;最后是绘制其子组件。最后一件非常重要且不可避免的事情:使用嵌套的、命名的或匿名的类来重写容器方法。并将该类传递给JFrame的setContentPane(Container actualgraphicsreference)方法;这是必须的。我希望我的解释性和信息性的方法是明确的。自我解释,您现在可以使用freefrompaint来绘制beyond,并且操作系统对帧的repaint()的调用不会调用“twin Graphics”默认光栅清除操作,现在您已经按照上面的指示和建议在代码中抑制了该操作。谢谢你给我一个表达的机会。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 9 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 9 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 9 月前 |
|
|
rudraraj · java中未声明最终变量 10 月前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 10 月前 |