更多JPanel和背景图片

时间:2017-01-08 09:59:58

标签: java swing jframe jpanel jcomponent

我应该使用中央开始按钮设置背景。点击按钮"开始"你必须加载一个" bersaglio"在另一个班级制作。 当我运行它时不会出现背景图像而只出现开始按钮,我也试图改变图像的路径。此外,当我点击按钮显示" bersaglio"。 我哪里错了?

家庭班级

if let arrayLevel03 = arrayLevel_01[0]["myArray02"], let arrayLevel05 = arrayLevel03[0]["myArray01"] {
    let one = arrayLevel05[0]   // 1
    let tow = arrayLevel05[1]   // 2
    let three = arrayLevel05[2] // 3
}

Sfondo班级

public class Home extends JFrame implements ActionListener{
    JFrame frame;
    JButton b1;
    public Home(){
        frame= new JFrame();
        frame.setSize(200, 200);
        frame.setTitle("Bersaglio");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //aggiungo lo sfondo e il bottone
        b1=new JButton("START");
        Sfondo sfondo=new Sfondo();

        JPanel panelsecondo=new JPanel();
        panelsecondo.add(b1,BorderLayout.CENTER);

        sfondo.add(panelsecondo);
        frame.getContentPane().add(sfondo); 

        b1.addActionListener(this); //aggiungo ascoltatore

        frame.pack();
        frame.setVisible(true);
    }
    public void actionPerformed(ActionEvent e) {
        System.out.println("entra");
        //bersaglio
        Bersaglio bersaglio = new Bersaglio();
        frame.add(bersaglio);
        repaint();
    }
}   

Bersaglio课程

class Sfondo extends JPanel{
    Image img;
    public Sfondo(){
        img = Toolkit.getDefaultToolkit().createImage("\\Esdicembre\\EsVacanze\\sfondo");
        loadImage(img);

    }
    private void loadImage(Image img) {
        try {
            MediaTracker mt = new MediaTracker(this);
            mt.addImage(img, 0);
            mt.waitForID(0);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    protected void paintComponent(Graphics g) {
        //setOpaque(false);
        g.drawImage(img, 0, 0, null);
        super.paintComponent(g);
    }
}

}

0 个答案:

没有答案