Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自动从其他JPanel中的JPanel重新绘制_Java_Swing_Graph_Jpanel_Repaint - Fatal编程技术网

Java 自动从其他JPanel中的JPanel重新绘制

Java 自动从其他JPanel中的JPanel重新绘制,java,swing,graph,jpanel,repaint,Java,Swing,Graph,Jpanel,Repaint,我在两个不同的JPanel中绘制了两个有向图,当我单击按钮compile(RUN-compileare)时,我需要将这些图重新绘制在一个JPanel中,并提供相关建议、提示和教程。我已经搜索了,但没有结果。这取决于你如何绘制它们。如果使用形状只需在单个(合并面板)中绘制两次即可 您还可以重写合并面板的paintComponent(),并使用适当的转换调用该方法 firstGraphPanel.paintComponent(g); secondGraphPanel.paintComponent(g

我在两个不同的
JPanel
中绘制了两个有向图,当我单击按钮compile(RUN-compileare)时,我需要将这些图重新绘制在一个
JPanel
中,并提供相关建议、提示和教程。我已经搜索了,但没有结果。

这取决于你如何绘制它们。如果使用
形状
只需在单个(合并面板)中绘制两次即可

您还可以重写合并面板的paintComponent(),并使用适当的转换调用该方法

firstGraphPanel.paintComponent(g);
secondGraphPanel.paintComponent(g);

我认为您应该重写要重新绘制的JPanel的paintComponent方法:

@override
public void paintComponent (Graphics g) {
    // paint your two graphs here.
}
单击按钮时,调用JPanel.repaint()。比如说,

@Override
public void mouseClicked (MouseEvent me) {
    pnl.repaint();
}

当我在区域1或区域2上单击表示节点和弧的按钮时,图形在两个JPanel(区域1和区域2)上绘制。我会试试你的提示,然后回来再谈,谢谢!