我有主 JFrame,其中包含一个 JPanel 及其上的所有组件。我在我的主 Jframe 上绘制了一个图表,我使用 getGraphics() 方法在 JPanel 上绘制形状。我想将其转换为另一个图表,以便新图表显示在新 Jframe 上,但我无法绘制任何形状在新创建的框架面板上。(我也尝试使用与我在主 Jframe 中使用的相同的 getGraphics() 方法进行绘制)。
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import javax.swing.JButton;
import javax.swing.JPanel;
public class Transformation extends javax.swing.JFrame {
private JPanel myPanel;
public Transformation() {
this.setSize(500, 500);
this.setVisible(true);
myPanel = new JPanel(new FlowLayout());
myPanel.add(new JButton("Hello"));
this.getContentPane().add(myPanel);
Graphics2D g = (Graphics2D) myPanel.getGraphics();
g.draw(new Line2D.Double(20, 50, 100, 200) );
}
}
在主 Jframe 中,我在 Jbutton 的动作侦听器中调用了以下行。
转换 tfm = new Transformation();