Java 挥杆操纵JPanel

Java 挥杆操纵JPanel,java,swing,graph,jpanel,Java,Swing,Graph,Jpanel,我正在开发一个将XML文件转换为动态图的应用程序,因此我创建了一个扩展JPanel的类来排列节点circularnode.java,并创建了一个扩展JPanel的类来添加arrows arrow.java,但当显示箭头时,它们总是位于节点后面。java的背景隐藏了它们 如何在另一个JPanel上显示一个JPanel,或者如何控制显示顺序?考虑提取代码,以便直接从JPanel中绘制箭头和节点。也许您可以创建一个箭头和一个节点类,它们知道如何绘制自己,例如,它有一个公共的void paintGrap

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


如何在另一个JPanel上显示一个JPanel,或者如何控制显示顺序?

考虑提取代码,以便直接从JPanel中绘制箭头和节点。也许您可以创建一个箭头和一个节点类,它们知道如何绘制自己,例如,它有一个公共的void paintGraphics方法

然后您可以创建一个ArrayList,请查看描述这个非常有用的构造的链接


顺便说一下,欢迎访问stackoverflow.com

考虑从JPanel中提取用于直接绘制箭头和节点的代码。也许您可以创建一个箭头和一个节点类,它们知道如何绘制自己,例如,它有一个公共的void paintGraphics方法

然后您可以创建一个ArrayList,请查看描述这个非常有用的构造的链接


顺便说一下,欢迎访问stackoverflow.com

也要考虑一个现有的,如jFrutar、JGror或Jung。也考虑一个现有的,如JFrice,JGrand或Jung。谢谢您,非常感谢您!我按照您的建议,在列表元素public element中重新排列了它,包括文本、字符串标识、颜色couleurNormal、颜色couleurticf和int taille{this.couleur=couleur-normal;this.couleur-normal=couleur-normal;this.couleur-ractif=couleur-ractif;this.texte=texte;this.Ident=Ident;largeur=taille;this.setizenew-Dimensionlargeur,largeur;this.setOpaquefalse;this.setlayout新边界布局;ajuterlistener;}@Rad1:不客气!你会想发布任何代码作为对你问题的编辑,因为评论没有正确显示代码格式。你还会希望发布的代码缩进4个空格,以便网站显示代码格式。好的,我是新来的,我在这个项目上真的很不愉快!我会尝试进一步澄清我的帖子我的主要类:Fenetre rad1=new Fenetre;List items=new ArrayList;items.addnew ElementMenuelementAction.getText,ACTION,new Color19,73,140,new Color162,198,232,150;items.addnew ElementMenuelementGoal.getText,GOAL,new Color19,73,140,new Color162,198,232,150;rad1.addnew MenuCirculairector.blue,1000,600,200,150,items,BorderLayout.CENTER;rad1.addnew ArrowPanel363.5335460.5168540171635.5335;我的箭头以4点的坐标作为设置来绘制2个箭头!我已经用类MenuCerclaire组织了我的节点元素菜单,它是一个Jpannel,所以它包含所有元素,然后我将箭头绘制到许多节点!但它总是我在pannel Menucerclaire的后台工作!谢谢你,你真是太好了!我按照你的建议在列表元素public element Menustring texte、String Identity、Color CoulerNormal、Color CoulerActif、int taille中重新排列了它{this.couleur=couleur-normal;this.couleur-normal=couleur-normal;this.couleur-ractif=couleur-ractif;this.texte=texte;this.Ident=Ident;largeur=taille;this.setizenew-Dimensionlargeur,largeur;this.setOpaquefalse;this.setlayout新边界布局;ajuterlistener;}@Rad1:不客气!你会想发布任何代码作为对你问题的编辑,因为评论没有正确显示代码格式。你还会希望发布的代码缩进4个空格,以便网站显示代码格式。好的,我是新来的,我在这个项目上真的很不愉快!我会尝试进一步澄清我的帖子我的主要类:Fenetre rad1=new Fenetre;List items=new ArrayList;items.addnew ElementMenuelementAction.getText,ACTION,new Color19,73,140,new Color162,198,232,150;items.addnew ElementMenuelementGoal.getText,GOAL,new Color19,73,140,new Color162,198,232,150;rad1.addnew MenuCirculairector.blue,1000,600,200,150,items,BorderLayout.CENTER;rad1.addnew ArrowPanel363.5335460.5168540171635.5335;我的箭头以4点的坐标作为设置来绘制2个箭头!我已经用类MenuCerclaire组织了我的节点元素菜单,它是一个Jpannel,所以它包含所有元素,然后我将箭头绘制到许多节点!但它总是我躲在pannel Menucerclaire的后面!