import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.Image; public class Panel_1 extends JPanel implements ActionListener { JButton bt; int x,y,z; Image s0; int s3=50; int s1,s2; MainFrame mf; //<-- mainメソッドのある、「フレーム」のクラス // この「フレーム」に、”画面1(このPanel_1のこと)” や ”画面2” などの「パネル」が貼られている public Panel_1(MainFrame frame){ mf = frame; // MainFrameクラスで, p1 = new Panel_1(this); として引数にthis(<--MainFrame)を // 渡している. それを変数に入れて保持. setLayout(null); bt = new JButton("GamePlay!"); add(bt); bt.setBounds(480,330,200,140); bt.addActionListener(this); ImageIcon icon2 = new ImageIcon("_c_choju45_0028_s256_choju45_0028_6.png"); s0=icon2.getImage(); s1=s0.getWidth(this); s2=s0.getHeight(this); setBackground(Color.blue); } public void actionPerformed(ActionEvent e){ if (e.getSource()==bt){ mf.panelChange("画面2"); } } // 画面へ描画するプログラムはこのメソッドの中に書く public void paintComponent(Graphics g) { super.paintComponent(g); Font font1 = new Font("HGP創英角ポップ体",Font.ITALIC,70); g.setFont(font1); g.drawString("玉侍",300,100); g. g.setFont(font1); g.drawImage(s0,s3,250,this); } }