質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.04%

ボタンに画像を貼り付けて表示させたい

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,535

score 11

実行結果

コードpackage gazou;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class MainFrame extends JFrame{

    public String[] PanelNames = {"mp","1","2","3","4","5","6","7","8","9"};
    Taitoru0 mp = new Taitoru0(this,PanelNames[0]);
    Mode1 sp = new Mode1(this,PanelNames[1]);
    Cara2 sp2 = new Cara2(this,PanelNames[2]);
    Loading3 sp3 = new Loading3(this,PanelNames[3]);
    Stage4 sp4 = new Stage4(this,PanelNames[4]);
    VS5 sp5 = new VS5(this,PanelNames[5]);
    Batoru6 sp6 = new Batoru6(this,PanelNames[6]);
    Result7 sp7 = new Result7(this,PanelNames[7]);
   // bunki8 sp8 = new bunki8(this,PanelNames[8]);



    public MainFrame(){
        this.add(mp);mp.setVisible(true);
        this.add(sp);sp.setVisible(false);
        this.add(sp2);sp2.setVisible(false);
        this.add(sp3);sp3.setVisible(false);
        this.add(sp4);sp4.setVisible(false);
        this.add(sp5);sp5.setVisible(false);
        this.add(sp6);sp6.setVisible(false);
        this.add(sp7);sp7.setVisible(false);
       // this.add(sp8);sp8.setVisible(false);
      //  this.add(sp9);sp9.setVisible(false);

        this.setBounds(100, 100, 800, 600);
    }
    public static void main(String[] args) {
        MainFrame mf = new MainFrame();
        mf.setDefaultCloseOperation(EXIT_ON_CLOSE);
        mf.setTitle("ACE DREAM MATCH");//タイトルバーの名前
        mf.setVisible(true);
    }
    public void PanelChange(JPanel jp, String str){
        System.out.println(jp.getName());
        String name = jp.getName();
        if(name==PanelNames[0]){
            mp = (Taitoru0)jp;
            mp.setVisible(false);
        }else if(name==PanelNames[1]){
            sp = (Mode1)jp;
            sp.setVisible(false);
        }else if(name==PanelNames[2]){
            sp2 = (Cara2)jp;
            sp2.setVisible(false);
        }else if(name==PanelNames[3]){
            sp3 = (Loading3)jp;
            sp3.setVisible(false);
        }else if(name==PanelNames[4]){
            sp4 = (Stage4)jp;
            sp4.setVisible(false);
        }else if(name==PanelNames[5]){
            sp5 = (VS5)jp;
            sp5.setVisible(false);
        }else if(name==PanelNames[6]){
            sp6 = (Batoru6)jp;
            sp6.setVisible(false);
        }else if(name==PanelNames[7]){
            sp7 = (Result7)jp;
            sp7.setVisible(false);
        }//else if(name==PanelNames[8]){
           // sp8 = (bunki8)jp;
           // sp8.setVisible(false);
       // }//else if(name==PanelNames[9]){
           // sp9 = (Mode1_m9)jp;
           // sp9.setVisible(false);
        //}
        if(str==PanelNames[0]){
            mp.setVisible(true);
        }else if(str==PanelNames[1]){
            sp.setVisible(true);
        }else if(str==PanelNames[2]){
            sp2.setVisible(true);
        }else if(str==PanelNames[3]){
            sp3.setVisible(true);
        }else if(str==PanelNames[4]){
            sp4.setVisible(true);
        }else if(str==PanelNames[5]){
            sp5.setVisible(true);
        }else if(str==PanelNames[6]){
            sp6.setVisible(true);
        }else if(str==PanelNames[7]){
            sp7.setVisible(true);
        }/*else if(str==PanelNames[8]){
            sp8.setVisible(true);
        }
        //else if(str==PanelNames[9]){
          //  sp9.setVisible(true);
        //}*/
    }


}
コードpackage gazou;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;



public class Taitoru0 extends JPanel {
    JButton btn,btn2,btn3;
    JLabel paneltitle;
    MainFrame mf;
    String str;

    public Taitoru0(MainFrame m,String s){
        mf = m;
        str = s;
        this.setName("mp");
        this.setLayout(null);
        this.setSize(500, 400);
        paneltitle = new JLabel("これは"
                +getClass().getCanonicalName()+"タイトルクラスのパネルです");
        paneltitle.setBounds(0, 5, 400, 40);
        this.add(paneltitle);
        //
        btn = new JButton("モード選択に移動");
        btn.setBounds(20, 50, 150, 40);
        btn.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                pc();
            }
        });
        this.add(btn);
        /*
        btn2 = new JButton("SubPanel2に移動");
        btn2.setBounds(20, 100, 150, 40);
        btn2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                pc(mf.PanelNames[2]);
            }
        });
        this.add(btn2);
        btn3 = new JButton("SubPanel3に移動");
        btn3.setBounds(200, 100, 150, 40);
        btn3.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                pc(mf.PanelNames[3]);
            }
        });
        this.add(btn3);*/
        Float f = (float) Math.random();
        this.setBackground(Color.getHSBColor(f, 0.9f, 0.9f));

    }
    public void pc(){
        mf.PanelChange((JPanel)this,mf.PanelNames[1]);
    }
}
package gazou;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JPanel;


public class Mode1 extends Cara2 {
    JButton btn1,btn2;
    public Mode1(MainFrame m,String s){
        super(m,s);
        mf = m;
        str = s;
        btn1 = new JButton("シングルプレイ");
        btn1.setBounds(20, 50, 150, 40);
        btn1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                pc();
            }
        });
        this.add(btn1);
        //
        btn2 = new JButton("マルチプレイ");
        btn2.setBounds(20, 100, 150, 40);
        btn2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                pc();
            }
        });
        this.add(btn2);
    }



    @Override
    public void pc(){
        mf.PanelChange((JPanel)this, mf.PanelNames[2]);
    }
}
```Java  
コードimport javax.swing.ImageIcon;  
import javax.swing.JButton;  
import javax.swing.JPanel;  

public class Cara2 extends Loading3 {  
public Cara2(MainFrame m,String s){  
super(m,s);  
JPanel p = new JPanel();  
ImageIcon icon1 = new ImageIcon("Z:/Java/gazou1/bin/gazou1/ca-bi.png");  
JButton button1 = new JButton(icon1);  
button1.setIcon(icon1);  
button1.setBounds(20, 50, 150, 40);  
button1.setText("カービィ ");  
p.add(button1);  

}  
@Override  
public void pc(){  
mf.PanelChange((JPanel)this, mf.PanelNames[3]);  
}  
}  
コードpackage gazou;  

import javax.swing.JButton;  
import javax.swing.JPanel;  

public class Loading3 extends Stage4 {  
JButton btn1,btn2;  
public Loading3(MainFrame m,String s){  
super(m,s);  
btn.setText("0000000000");  
}  
@Override  
public void pc(){  
mf.PanelChange((JPanel)this, mf.PanelNames[4]);  
}  
}  

```引用サイト
引用サイト2

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • umyu

    2017/05/29 21:12

    Loading3 クラスとMainFrameクラスのソースを質問文に記載してくださいな。

    キャンセル

  • pancy

    2017/05/30 10:27

    追加しました

    キャンセル

  • pancy

    2017/05/30 10:31

    画面遷移でLoading 3~4,5,6,7,まで回って、また、0に戻るのを繰り返すようにしていて、 PC()を@overridesしています。

    キャンセル

回答 1

0

p.add(button1);
は単に記入漏れでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/29 12:03

    試してみましたが、ボタンが表示されませんでした

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る