MouseWheelListener in JFrame that was created in java does not work

3 visualizaciones (últimos 30 días)
Hi all,
I have a java class with a constructor that receives some java model object. The class extends JFrame and visualizes the model. There is a MouseWheelListener to allow zooming into the model visualization.
public class myGUI extends JFrame {
public myGUI(myModelClass model) {
add(new modelCanvas(model));
}
}
public class modelCanvas extends JPanel {
private myModelClass model;
public modelCanvas(myModelClass model) {
this.model = model;
addMouseWheelListener(new myMouseWheelListener());
}
public void paintComponent(java.awt.Graphics g) {
// paints the model canvas
}
}
All works well when myGUI is invoked from java. As soon as I create a myModelClass in matlab and create a myGUI from it, 2 things happen:
  1. Look-and-feel is different, which is ok.
  2. The MouseWheelListener does not work, which renders the visualization useless.
Is there a way to circumvent the 2nd issue?
Wouter

Respuestas (1)

Wouter
Wouter el 25 de Nov. de 2011
Putting a MouseWheelListener on the JFrame instead of the JPanel inside it, and then transposing the mouse location (java.awt.Point) information did the trick. Ugly way to program the scroll=zoom function, but it does work. Still strange though.

Categorías

Más información sobre Model Predictive Control Toolbox en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by