public void itemStateChanged(ItemEvent event) { Object src = event.getSource(); // Check if it is the coupled background choice if (src == coupledBackgroundOnOffMenu) { coupledBackgroundOnOff = coupledBackgroundOnOffMenu.getState(); if (coupledBackgroundOnOff) { currentBackgroundColor = currentColor; backgroundColorMenu.setCurrent(currentColor); Color3f color = (Color3f) colors[currentColor].value; background.setColor(color); backgroundColorMenu.setEnabled(false); } else { backgroundColorMenu.setEnabled(true); } } // Handle all other checkboxes super.itemStateChanged(event); }
// // Initialize the GUI (application and applet) // public void initialize(String[] args) { // Initialize the window, menubar, etc. super.initialize(args); exampleFrame.setTitle("Java 3D LinearFog Example"); // // Add a menubar menu to change node parameters // Coupled background color // Background color --> // Fog color --> // Fog front distance --> // Fog back distance --> // Menu m = new Menu("LinearFog"); coupledBackgroundOnOffMenu = new CheckboxMenuItem("Couple background color", coupledBackgroundOnOff); coupledBackgroundOnOffMenu.addItemListener(this); m.add(coupledBackgroundOnOffMenu); backgroundColorMenu = new CheckboxMenu("Background color", colors, currentBackgroundColor, this); m.add(backgroundColorMenu); backgroundColorMenu.setEnabled(!coupledBackgroundOnOff); colorMenu = new CheckboxMenu("Fog color", colors, currentColor, this); m.add(colorMenu); frontMenu = new CheckboxMenu("Fog front distance", fronts, currentFront, this); m.add(frontMenu); backMenu = new CheckboxMenu("Fog back distance", backs, currentBack, this); m.add(backMenu); exampleMenuBar.add(m); }