Re: Mac Canvas3D location bug
Posted by
Manu on
Sep 30, 2013; 11:43am
URL: https://forum.jogamp.org/Mac-Canvas3D-location-bug-tp4030052p4030144.html
I found an other issue about visibility of a canvas3D, and also an issue about Canvas3D location when only AWT is used.
The following test should allow the user to show / hide a canvas 3D, but it has no visible effect.
There shouldn't be so much space between the visibility check box and the canvas.
import java.awt.*;
import java.awt.GraphicsEnvironment;
import java.awt.event.*;
import javax.media.j3d.*;
import com.sun.j3d.utils.universe.SimpleUniverse;
public class Canvas3DVisibilityTest {
public static void main(String [] args) {
// Create a new canvas 3D bound to a universe
GraphicsConfigTemplate3D gc = new GraphicsConfigTemplate3D();
final Canvas3D canvas = new Canvas3D(GraphicsEnvironment.getLocalGraphicsEnvironment().
getDefaultScreenDevice().getBestConfiguration(gc));
new SimpleUniverse(canvas);
// Create a check box that hides / shows canvas
final Checkbox checkbox = new Checkbox("Visible canvas", true);
checkbox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
canvas.setVisible(checkbox.getState());
System.out.println(canvas.isVisible());
}
});
// Build a GUI that displays canvas and check box
Frame frame = new Frame("Canvas3DVisibilityTest");
frame.setLayout(new BorderLayout());
frame.add(canvas, BorderLayout.CENTER);
frame.add(checkbox, BorderLayout.NORTH);
frame.setSize(200, 200);
frame.setVisible(true);
}
}
Thanks for trying to fix this issue.
Emmanuel Puybaret