我的问题是如何在用Graphics创建的圆圈顶部显示按钮。我的代码是:
kwargs = {}
for k,v in self.request.query_params.items():
if not validate_that_key_is_an_actual_model_field(k):
return Response(status=status.HTTP_400_BAD_REQUEST)
kwargs[k] = v
return Product.objects.filter(fk_client=self.client)\
.filter(**kwargs)\
.order_by('uuid')\
.select_related('fk_user')
此代码是我项目的一小部分。我的项目中有很多面板,我的火法首先没有被调用。我的意思是第六个小组调用了火法。我必须用按钮绘制两个圆圈。这些按钮应位于两个圆圈之间。但我不能直接显示按钮。当我将鼠标悬停在按钮上时,它们显示出来。我想在第六个面板打开时立即显示按钮。 我上面有两个按钮。单击第一个按钮时,应打开另一个面板并显示圆圈(使用图形创建)和另一个按钮(带图标)。
答案 0 :(得分:1)
JPanel panel = new JPanel(){
@Override
public void paint(Graphics g)
{
不要覆盖paint()。通过覆盖paintComponent()
来完成自定义绘制,并且不要忘记调用super.paintComponent()
作为第一个语句。
您当前代码的问题在于,通过覆盖绘制,您更改了面板的默认绘制逻辑,并且从不绘制子组件。
请查看Custom Painting上Swing教程中的部分,了解更多信息和示例,尤其是关于A Closer Look at the Paint Mechanism
的部分。