从另一个主JFrame创建一个新的JFrame,并在新的JFrame上绘制形状或添加组件

时间:2013-04-24 09:57:37

标签: java swing

我有一个主JFrame,它包含一个JPanel及其上的所有组件。我在我的主Jframe上绘制了一个图表,我使用了getGraphics()方法在JPanel上绘制形状。我想将其转换为另一个图表,以便新图表显示在新的Jframe上,但我无法绘制任何形状在新创建的框架的面板上。(我也尝试使用相同的getGraphics()方法绘制,就像我在主Jframe中使用的那样)。

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();

0 个答案:

没有答案