我想从另一个人那里打电话。 我有两个类,它们都在扩展JPanels,我希望一个消失,另一个消失。
我已经查看了其他问题,但没有一个真正适用于我的情况。
我的menuScreen类:
package screens;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class menuScreen extends JPanel implements MouseListener{
private static final long serialVersionUID = 1L;
//-------------VARIABLES---------------//
Image wallpaper = (Image)Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/wallpaper.jpg"));
Image title_text = (Image)Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/title-text.png"));
ImageIcon startGameimg = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/startGame.png")));
ImageIcon optionsimg = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/options.png")));
//JButton start = new JButton(basketball);
JLabel options = new JLabel(optionsimg);
JLabel startGame = new JLabel(startGameimg);
gameScreen gS = new gameScreen();
//-------------PAINT FUNCTION----------//
public void paintComponent(Graphics g){
g.drawImage(wallpaper,0,0,this);
g.drawImage(title_text,0,0,this);
//g.drawImage(basketball1,110,180,this);
}
//-------------CONSTRUCTOR-------------//
public menuScreen(){
this.setLayout(null);
this.add(options);
this.add(startGame);
startGame.setBounds(110,180,110,110);
options.setBounds(110,300,110,110);
startGame.addMouseListener(this);
options.addMouseListener(this);
}
public void mouseClicked(MouseEvent e) {
if(e.getSource() == (startGame)){
setVisible(false);
}
if(e.getSource() == (options)){
setVisible(false);
}
}
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
} //END OF CLASS startingScreen
我想要出现的gameScreen类:
package screens;
import javax.swing.*;
public class gameScreen extends JPanel{
private static final long serialVersionUID = 1L;
}
在gameScreen类中,我还没有放任何东西,因为我不知道如何调用它。
答案 0 :(得分:0)
基本上你想要的行为是多余的,没有任何帮助,因为继承它们是相同的类型并且实现相同的目的。好吧,简单不行。你不能替换这样的类,你可以做的是将引用/实例化从调用类更改为新的gamescreen类实例,否则从menuscreen类中进行重绘以保存你希望你的游戏类应该保存的状态值。