java.awt.HeadlessException при вызове JOptionPane.showMessageDialog в методе поддержки бина - PullRequest
2 голосов
/ 21 декабря 2011

Я пытаюсь следующее:

labelconfig.xhtml * * 1004

<h:form id="ok">
    <h:commandButton value="click">
        <f:ajax event="click" listener="#{canvasController.oeps}" /> 
    </h:commandButton>
</h:form>

И я пытаюсь получить это здесь:

CanvasController.java

@ManagedBean(name = "canvasController")
@SessionScoped
public class CanvasController

    public void oeps(AjaxBehaviorEvent event) {
        JOptionPane.showMessageDialog(null, "SUCCES3");
    }

}

Но когда я нажимаю кнопку, я получаю:

serverError: класс java.awt.HeadlessException

Как это вызвано и как я могу решить?

1 Ответ

2 голосов
/ 21 декабря 2011

Вы пытаетесь вызвать Swing из серверного приложения без графического интерфейса рабочего стола.Вместо JOptionPane используйте logger или FacesContext.addMessage, чтобы получить обратную связь.Если по какой-то причине вы хотите управлять приложением Swing через JSF, убедитесь, что установлены параметры DISPLAY и т. Д., Но тогда я предлагаю перефразировать ваш вопрос.

...