Проблема стека, не сохраняя значения

1

Я написал браузер для стороннего проекта, в настоящее время у меня есть этот код:

ReadHTML - это мой конструктор, а загрузка веб-страницы - это метод, который я использую для загрузки веб-страницы, что должно произойти, когда пользователь нажимает назад, он должен вызывать прослушиватель действий, а затем проверять, есть ли у стека некоторый контент, однако я протестировали это и обнаружили, что код достигнет прослушивателя действий, и тест стека завершится неудачно, и я верю, что моя программа не хранит содержимое в стеке, я был бы признателен, если бы кто-нибудь мог указать, где я ошибаюсь, или лучший способ сделать это, я был бы очень благодарен.

Если у вас недостаточно кода или мне нужно добавить дополнительную информацию, я могу отредактировать и опубликовать довольно быстро, спасибо заранее!

Stack<String> backStack = new Stack<String>();
Stack<String> forwardStack = new Stack<String>();
boolean stackTest = false;

    private void loadWebPage(String userInput) {
    if (stackTest = true) {
        forwardStack.push(urlBox.getText());
        stackTest = false;
    } else {
        backStack.push(urlBox.getText());
    }
    try {
        webWindow.setPage(userInput);
        urlBox.setText(userInput);
    } catch (Exception e) {
        try {
            File file = new File(userInput);
            webWindow.setPage(file.toURI().toURL());
        } catch (MalformedURLException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }
}
public ReadHTML() {
        forward.addActionListener(
    new ActionListener() {
        public void actionPerformed(ActionEvent forwardPress) {
            if (!forwardStack.empty()) {
                loadWebPage(forwardStack.pop());
            }
        }
    });
    back.addActionListener(
    new ActionListener() {
        public void actionPerformed(ActionEvent backPress) {
            if (!backStack.empty()) {
                stackTest = true;
                loadWebPage(backStack.pop());
            }
        }
    });
}
Теги:
io
swing
stack
actionlistener

1 ответ

2
Лучший ответ

Это выглядит как

 if (stackTest = true) {

Должно быть

 if (stackTest == true) {
  • 0
    .... или if (stackTest) {
  • 0
    @Eran Удивительный бутон, спасибо, прояснилось: D

Ещё вопросы

Сообщество Overcoder
Наверх
Меню