2016-05-04 3 views
0

Hallo Ich habe Schule Projekt, um Spiel in JSF Code, aber ich kämpfe o viel mit Tastatur.
Ich möchte Methode moveCubeUp() von Cubefield aufrufen, um nach oben zu bewegen, wenn der Benutzer die Tastatur nach oben drückt und dann das Formular aktualisiert und dies in alle 4 Richtungen tut.
ich javascripts versucht, jQuery, primefaces Hotkey

Dies ist in meinem xhtml:Rufen Sie Java-Methode in JSF/XHTML von KeyPress und Update-Formular

   <div class="game"> 
        <h:form id="form"> 
         <g:cuberoll value="#{cubefield}"/> 

         Cube X: <h:outputLabel value="#{cubefield.getCubeX()}"/> 
         Cube Y: <h:outputLabel value="#{cubefield.getCubeY()}"/> 
        </h:form> 
       </div> 

und Cubefield:

@Named("cubefield") 
@SessionScoped 
public class Field implements Serializable{ 
public Field() { 
    ... constructor 
} 

public void moveCubeRight(){ 
     ... do stuff 
} 
+0

Bitte beachten Sie, dass Javascript und Java sehr unterschiedlich sind. Bitte entfernen Sie das Javascript-Tag. – Feathercrown

Antwort

0

Ich glaube, Sie können versuchen, es mit Ajax auszulösen. Es soll wie folgt aussehen:

`<f:ajax event="onkeypress" execute="keyCode" listener="#{bean.listener}" />` 

Dann Sie den Schlüssel in einem versteckten Eingang bekommen.

`<h:inputHidden id="keyCode" binding="#{keyCode}" value="#{bean.keyCode}" />` 

Dieses Thema bezieht sich auf das, was Sie fragen: Catch KeyCode in AjaxBehaviorEvent of JSF 2

+0

immer noch nicht funktioniert, aber zumindest weiß ich jetzt, wo ich anfangen soll – Lovky