Mi sembra di aver cercato metà del Web e non ho trovato alcuna soluzione ...
Ho un'applicazione java che visualizza una mappa (diversi paesi, ecc.).
al momento si è in grado di scorrere verso il basso e verso l'alto utilizzando la rotellina del mouse ...
Lo voglio così, che si è in grado di scorrere lateralmente (in orizzontale).
Tutto ciò di cui ho bisogno è un Listener (in Swing o Javafx non importa) che si attiva ogni volta che la rotellina del mouse viene inclinata, senza la necessità di mettere a fuoco la mappa (il passaggio del mouse con il mouse dovrebbe essere sufficiente a mantenere le finestre ancora a fuoco) e senza eventuali barre di scorrimento visibili.Listener scorrimento orizzontale
12
A
risposta
2
utilizzando il seguente codice ogni volta che si scorre lateralmente un messaggio viene stampato ...
import javafx.application.Application;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.event.EventType;
import javafx.scene.Scene;
import javafx.scene.input.ScrollEvent;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
scene.setOnScroll(new EventHandler<ScrollEvent>(){
@Override
public void handle(ScrollEvent event) {
System.out.println("Scroll:" + event.getDeltaX());
}
});
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
Una cosa da considerare: quanto pare quando l'incorporamento di un JFXPanel in un JFrame non è sempre passato l'evento di scorrimento sideway .
Che dire di '' node.setOnScroll (new EventHandler() ... ''? Fornisce le coordinate Y e X. –
Non si attiva sullo scorrimento laterale ... – RoiEX
Si è verificato un problema simile una volta. http://stackoverflow.com/questions/12911506/why-jscrollpane-does-not-react-to-mouse-wheel-events JScrollPane non ha reagito ai rotoli della rotellina del mouse –