JPanel とそのすべてのコンポーネントを含むメインの JFrame があります。メインの 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();