我有一个正常运行的Java小程序,它可以嵌入到网页中,并希望现在为其他功能添加一些swing组件。但是每当我添加一个像JLabel这样的组件时,它就不会出现在视口/画布上,除非我删除了我的整个绘制方法。后一个选项允许我添加摆动组件,但自然我不能渲染任何形状。它看似类似于一个独特的OR(XOR),无论是一个还是另一个。
无论如何在本机Java小程序中添加swing组件并仍然保持paint(Graphics g)方法。请注意,我继承自Applet而不是JApplet。
答案 0 :(得分:3)
如果在applet中覆盖paint方法,则没有简单的方法。
你可以做什么而不是覆盖applet中的绘画。
答案 1 :(得分:2)
我建议您将组件添加到不会覆盖paint
的单独面板中。通过覆盖paint
,您可以自定义组件的绘制方式,因此布局管理器及其必须管理的组件不计算在内,只有您编写的paint
的实现决定了呈现。
因此,您的applet将包含一个包含组件的面板和一个用于执行自定义绘制的面板。
答案 2 :(得分:0)
在绘画方法结束时,请致电super.paint(g)
。
答案 3 :(得分:0)
我能够通过调用
在applet画布上可视化组件paintComponents(g);
因此,在实际的油漆(Graphics g)方法完成其时代之后,组件被涂漆。