gpt4 book ai didi

java - 在 Swing 中操作 JPanel

转载 作者:行者123 更新时间:2023-11-29 03:43:14 25 4
gpt4 key购买 nike

我正在开发一个将 XML 文件转换为动态图形的应用程序,因此我创建了一个扩展 JPanel 的类以排列节点 (circularnode.java),我创建了一个扩展 JPanel 以添加箭头的类 (arrow.java)但是在显示箭头时,它们总是在节点后面。 circularnode.java 的背景隐藏了它们。

如何在另一个 JPanel 之上显示一个 JPanel,或控制出现的顺序?

最佳答案

考虑从 JPanel 中提取直接绘制箭头和节点的代码。也许你可以创建一个 Arrow 和一个 Node 类,它们知道如何绘制自己,例如有一个 public void paint(Graphics g)方法。

然后你可以创建一个 ArrayList<Arrow>ArrayList<Node> JPanel 类的字段,并在 JPanel 的 paintComponent(...) 中绘制通过遍历列表并调用每个项目的 paint(...) 来调用方法方法传入从 JVM 获取的 Graphics 上下文。

否则,如果您确实需要在单独的 JPanel 中绘制它们,一个在另一个之上,请确保顶部的 JPanel 不是不透明的 setOpaque(false) ,这样它的背景就不会被画出来,你可以透过它看到。

要获得更具体的帮助,请考虑告诉我们更多关于您的问题、您当前的代码,甚至发布您的一些代码,最好以 SSCCE 的形式发布(请参阅描述这个非常有用结构的链接)。

顺便说一下,欢迎来到 stackoverflow.com!

关于java - 在 Swing 中操作 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12199649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com