Я относительно новичок в java, и я делаю HangMan Game, но сейчас у меня проблема. В частности, я хочу закрыть рамку программы, чтобы открыть новую когда кто-то находит это слово, но поскольку мой класс там расширяет JPanel, dispose() не является доступным решением. Итак, что мне делать, чтобы закрыть этот кадр? (в виду, что его объект определен в другом классе, тот, который вызывает этот конкретный.) Вот часть моего кода: (пожалуйста, простите меня за отображение так много строк) Я просто хочу знать, как я могу закрыть это окно без выхода из всей программы, Спасибо за ваше время :))Как закрыть класс extends JPanel
EDIT: Спасибо, ребята, я очень многому научился через этот раздел комментариев. Я благодарен за ваши быстрые ответы, и я надеюсь, что в будущем я больше не буду задавать такой глупый вопрос :) PS: Я действительно использовал CardLayout для решения моей проблемы. Я действительно не вижу мысли, как этот вопрос похож на «Как программно закрыть JFrame», поскольку в этом я не могу использовать метод dispose, потому что я расширяю JPanel.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//import java.io.File;
import java.util.*;
import java.util.concurrent.TimeUnit;
public class Game extends JPanel implements Runnable{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
this.setBackGround(Color.BLACK);
}
public void run()
{
}
}
Просьба указать [минимальный объем кода] (http://stackoverflow.com/help/mcve), который продемонстрирует вашу проблему. Это слишком много нерелевантного кода, чтобы ожидать, что кто-нибудь прочтет. – khelwood
* «Я хочу закрыть рамку программы, чтобы открыть новую» * - Plese рассматривает альтернативы, такие как «CardLayout», [использование нескольких 'JFrame'] (http://stackoverflow.com/q/ 9554636/4857909) не является хорошей практикой. –
* «Я хочу закрыть рамку программы, чтобы открыть новую, когда кто-то найдет слово« * - Не делайте этого. Снова перезапустите состояние игры – MadProgrammer