Так что мой код уже делает начальное меню из кнопок и ярлыка. Когда одна из кнопок нажата, я хочу удалить все (что она делает) и показать новую метку и кнопку. Только новые элементы не появляются, пожалуйста, помогитеДобавление Jbuttons и Jlabel
public void HighScoreScreen(String HighScores){
//first we need to get rid of what's already there (this works)
remove(title);
remove(newGameButton);
remove(twoPlayerButton);
remove(highScore);
//now adding what I want to show (doesn't work)
highScoreSheet = new JLabel(HighScores);
gbc.gridx = 0;
gbc.gridy = 0;
add(highScoreSheet, gbc);
menu = new JButton("Menu");
gbc.gridx = 0;
gbc.gridx = 1;
add(menu, gbc);
repaint();
}
Я думаю, что это все, что релевантно, но если вам нужен код, где я первый сделать меню здесь:
public GUI(){
super("Snake Game");
setLayout(new GridBagLayout());
gbc.insets = new Insets(20, 20, 0, 0);
title = new JLabel("SNAKE");
gbc.gridx = 0;
gbc.gridy = 0;
add(title, gbc);
newGameButton = new JButton("New Game");
gbc.gridx = 0;
gbc.gridy = 1;
add(newGameButton, gbc);
twoPlayerButton = new JButton("2 player Mode");
gbc.gridx = 0;
gbc.gridy = 2;
add(twoPlayerButton, gbc);
highScore = new JButton("HighScores");
gbc.gridx = 0;
gbc.gridy = 3;
add(highScore, gbc);
ButtonHandler handler = new ButtonHandler();
newGameButton.addActionListener(handler);
twoPlayerButton.addActionListener(handler);
highScore.addActionListener(handler);
}
Действие Листер это код относится к классу внутри этого класса и отлично работает, когда нажата рекорда, он будет делать свою вещь, а затем вызовет первый код, который я показал.
И, наконец, здесь главное, только в случае, если вам это нужно:
public class SnakeGame extends Canvas implements Runnable {
public boolean read = false;
public SnakeGame(){
GUI frame = new GUI();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,300);
frame.setVisible(true);
}
public void run(){
}
public static void main(String[] args) {
SnakeGame Game = new SnakeGame();
}
}
Пожалуйста, примите решение (http://meta.stackexchange.com/a/5235/155831), если это поможет решить проблему. –