public void initComponents() { GridBagLayout gridBag = new GridBagLayout(); GridBagConstraints constraints = new GridBagConstraints(); JLabel label; JPanel panel; Dimension size; setBorder(new javax.swing.border.EtchedBorder()); setLayout(gridBag); label = new JLabel(name); constraints.anchor = GridBagConstraints.WEST; constraints.gridwidth = GridBagConstraints.REMAINDER; gridBag.setConstraints(label, constraints); add(label); panel = filterOptions(); gridBag.setConstraints(panel, constraints); add(panel); sliderCutoff = new JSlider(JSlider.VERTICAL); sliderCutoff.setPaintTicks(true); sliderCutoff.setToolTipText("Cutoff Frequency"); sliderCutoff.setMinimum(0); sliderCutoff.setMaximum(500); sliderCutoff.setMinorTickSpacing(25); sliderCutoff.setMajorTickSpacing(100); sliderCutoff.setValue(100); sliderCutoff.addChangeListener(new CutoffListener(filter)); constraints.anchor = GridBagConstraints.CENTER; constraints.gridwidth = 1; gridBag.setConstraints(sliderCutoff, constraints); add(sliderCutoff); sliderResonance = new JSlider(JSlider.VERTICAL); sliderResonance.setPaintTicks(true); sliderResonance.setToolTipText("Resonance (Pass-band Ripple)"); sliderResonance.setMinimum(1); sliderResonance.setMaximum(58); sliderResonance.setMinorTickSpacing(3); sliderResonance.setMajorTickSpacing(57); sliderResonance.setValue(1); sliderResonance.addChangeListener(new ResonanceListener(filter)); constraints.gridwidth = GridBagConstraints.REMAINDER; gridBag.setConstraints(sliderResonance, constraints); add(sliderResonance); label = new JLabel("Cutoff"); constraints.gridwidth = 1; constraints.ipadx = 10; gridBag.setConstraints(label, constraints); add(label); label = new JLabel("Resonance"); constraints.gridwidth = GridBagConstraints.REMAINDER; gridBag.setConstraints(label, constraints); add(label); }
/** * Sets the panel in which the GUI should be implemented Any standard swing components can be used * * @param panel The GUI panel */ public void setPanel(JPanel panel) { this.panel = panel; panel.setLayout(new BorderLayout()); JLabel label = new JLabel("Produces an effect similar to thermal erosion", (int) JLabel.CENTER_ALIGNMENT); panel.add(label, BorderLayout.PAGE_START); JPanel iterations = new JPanel(); iterations.setLayout(new FlowLayout()); label = new JLabel("Iterations "); iterations.add(label); sldIterations = new JSlider(1, 100, 1); sldIterations.addChangeListener(this); iterations.add(sldIterations); txtIterations = new JTextField(Integer.toString((int) sldIterations.getValue())); txtIterations.setEditable(false); txtIterations.setPreferredSize(new Dimension(35, 25)); iterations.add(txtIterations); panel.add(iterations, BorderLayout.CENTER); btnApply = new JButton("Apply Thermal Erosion"); btnApply.addActionListener(this); panel.add(btnApply, BorderLayout.PAGE_END); if (preview) parent.refreshMiniView(apply(preview)); }
private JComponent createSettingsPanel() { JPanel result = new JPanel(new FlowLayout(FlowLayout.RIGHT, 3, 0)); result.add(new JLabel(ApplicationBundle.message("label.font.size"))); myFontSizeSlider = new JSlider(JSlider.HORIZONTAL, 0, FontSize.values().length - 1, 3); myFontSizeSlider.setMinorTickSpacing(1); myFontSizeSlider.setPaintTicks(true); myFontSizeSlider.setPaintTrack(true); myFontSizeSlider.setSnapToTicks(true); UIUtil.setSliderIsFilled(myFontSizeSlider, true); result.add(myFontSizeSlider); result.setBorder(BorderFactory.createLineBorder(UIUtil.getBorderColor(), 1)); myFontSizeSlider.addChangeListener( new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { if (myIgnoreFontSizeSliderChange) { return; } EditorColorsManager colorsManager = EditorColorsManager.getInstance(); EditorColorsScheme scheme = colorsManager.getGlobalScheme(); scheme.setQuickDocFontSize(FontSize.values()[myFontSizeSlider.getValue()]); applyFontSize(); } }); String tooltipText = ApplicationBundle.message("quickdoc.tooltip.font.size.by.wheel"); result.setToolTipText(tooltipText); myFontSizeSlider.setToolTipText(tooltipText); result.setVisible(false); result.setOpaque(true); myFontSizeSlider.setOpaque(true); return result; }
protected void attachTo(Component jc) { if (extListener != null && extListener.accept(jc)) { extListener.startListeningTo(jc, extNotifier); listenedTo.add(jc); if (wizardPage.getMapKeyFor(jc) != null) { wizardPage.maybeUpdateMap(jc); } return; } if (isProbablyAContainer(jc)) { attachToHierarchyOf((Container) jc); } else if (jc instanceof JList) { listenedTo.add(jc); ((JList) jc).addListSelectionListener(this); } else if (jc instanceof JComboBox) { ((JComboBox) jc).addActionListener(this); } else if (jc instanceof JTree) { listenedTo.add(jc); ((JTree) jc).getSelectionModel().addTreeSelectionListener(this); } else if (jc instanceof JToggleButton) { ((AbstractButton) jc).addItemListener(this); } else if (jc instanceof JFormattedTextField) { // JFormattedTextField must be tested before JTextCompoent jc.addPropertyChangeListener("value", this); } else if (jc instanceof JTextComponent) { listenedTo.add(jc); ((JTextComponent) jc).getDocument().addDocumentListener(this); } else if (jc instanceof JColorChooser) { listenedTo.add(jc); ((JColorChooser) jc).getSelectionModel().addChangeListener(this); } else if (jc instanceof JSpinner) { ((JSpinner) jc).addChangeListener(this); } else if (jc instanceof JSlider) { ((JSlider) jc).addChangeListener(this); } else if (jc instanceof JTable) { listenedTo.add(jc); ((JTable) jc).getSelectionModel().addListSelectionListener(this); } else { if (logger.isLoggable(Level.FINE)) { logger.fine( "Don't know how to listen to a " + // NOI18N jc.getClass().getName()); } } if (accept(jc) && !(jc instanceof JPanel)) { jc.addPropertyChangeListener("name", this); if (wizardPage.getMapKeyFor(jc) != null) { wizardPage.maybeUpdateMap(jc); } } if (logger.isLoggable(Level.FINE) && accept(jc)) { logger.fine("Begin listening to " + jc); // NOI18N } }
public ImageOps() { setBackground(Color.white); for (int i = 0; i < imgName.length; i++) { Image image = getImage(imgName[i]); int iw = image.getWidth(this); int ih = image.getHeight(this); img[i] = new BufferedImage(iw, ih, BufferedImage.TYPE_INT_RGB); img[i].createGraphics().drawImage(image, 0, 0, null); } slider1 = new JSlider(JSlider.VERTICAL, 0, 255, low); slider1.setPreferredSize(new Dimension(15, 100)); slider1.addChangeListener(this); slider2 = new JSlider(JSlider.VERTICAL, 0, 255, high); slider2.setPreferredSize(new Dimension(15, 100)); slider2.addChangeListener(this); setControls(new Component[] {new DemoControls(this), slider1, slider2}); setConstraints(new String[] {BorderLayout.NORTH, BorderLayout.WEST, BorderLayout.EAST}); }
ApplicationFrame() { super("Ecuatii Neliniare"); setSize(frameWidth, frameHeight); setDefaultCloseOperation(this.EXIT_ON_CLOSE); panel.setOpaque(true); getContentPane().add(panel); addComponentListener(this); for (int i = 0; i < Methods.length; i++) ChooseMethod.addItem(Methods[i]); buttonPanel.add(ChooseMethod); buttonPanel.setOpaque(true); JButton buttonAdd = new JButton("Aplica..."); buttonAdd.setPreferredSize(new Dimension(125, 25)); buttonAdd.addActionListener(this); buttonPanel.add(buttonAdd); unitXSlider.setMinorTickSpacing(5); unitXSlider.setPaintTicks(true); unitXSlider.addChangeListener(this); unitYSlider.setMinorTickSpacing(5); unitYSlider.setPaintTicks(true); unitYSlider.addChangeListener(this); buttonPanel.add(unitXSlider); buttonPanel.add(unitYSlider); Border padding = BorderFactory.createEmptyBorder(0, 20, 20, 20); panel.setBorder(padding); panel.add(buttonPanel, BorderLayout.NORTH); panel.add(graph, BorderLayout.CENTER); pack(); setVisible(true); }
private void createGUI() { setDefaultCloseOperation(EXIT_ON_CLOSE); Container window = getContentPane(); window.setLayout(new FlowLayout()); lSlider = new JSlider(JSlider.VERTICAL, 1, 6, 1); window.add(lSlider); lSlider.addChangeListener(this); panel = new JPanel(); panel.setPreferredSize(new Dimension(200, 175)); panel.setBackground(Color.WHITE); window.add(panel); rSlider = new JSlider(JSlider.VERTICAL, 1, 6, 1); window.add(rSlider); rSlider.addChangeListener(this); deepLabel = new JLabel("Deep end: "); window.add(deepLabel); deepField = new JTextField(4); window.add(deepField); shallLabel = new JLabel("Shall end: "); window.add(shallLabel); shallField = new JTextField(4); window.add(shallField); areaLabel = new JLabel("Area of the swimming pool: "); window.add(areaLabel); areaField = new JTextField(4); window.add(areaField); }
private JPanel makeSlider(JLabel label, JSlider slider, JLabel value, String color) { JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); label.setDisplayedMnemonic(label.getText().charAt(0)); label.setLabelFor(slider); String tip = color + " color component slider"; label.setToolTipText(tip); slider.setToolTipText(tip); value.setToolTipText(tip); p.add(label); slider.setMaximumSize(new Dimension(128, slider.getMaximumSize().height)); slider.addChangeListener(this); p.add(slider); p.add(value); return p; }
TimerControls(ControlBar creator) { parent = creator; super.setPreferredSize(new Dimension(200, 172)); setLayout(new BorderLayout()); pausePlay = new JButton("Play"); speed = makeJSlider(); pausePlay.addActionListener(this); speed.addChangeListener(this); super.add(pausePlay, BorderLayout.WEST); super.add(speed, BorderLayout.EAST); super.add(new JLabel(" Simulation Speed Controls"), BorderLayout.NORTH); super.repaint(); super.setVisible(true); }
public ImageLabFrame() { // Set up menus JMenuBar menuBar = new JMenuBar(); JMenu imageLabMenu = new JMenu("imageLab"); menuBar.add(imageLabMenu); aboutItem = new JMenuItem("About imageLab"); imageLabMenu.add(aboutItem); quitItem = new JMenuItem("Quit"); imageLabMenu.add(quitItem); JMenu fileMenu = new JMenu("File"); menuBar.add(fileMenu); openItem = new JMenuItem("Open File..."); fileMenu.add(openItem); saveItem = new JMenuItem("Save As..."); fileMenu.add(saveItem); JMenu imageMenu = new JMenu("Images"); menuBar.add(imageMenu); addPictureGenerator(imageMenu, new Stripe()); JMenu filterMenu = new JMenu("Filters"); menuBar.add(filterMenu); addFilter(filterMenu, new BWFilter()); filterMenu.addSeparator(); addScalableFilter(filterMenu, new SwirlFilter()); // Listeners for filters are added in addScalableFilter aboutItem.addActionListener(this); quitItem.addActionListener(this); openItem.addActionListener(this); saveItem.addActionListener(this); // Set up rest of GUI lab = initialImage().getJLabel(); slider = new JSlider(0, 100); sliderPanel = new JPanel(); sliderPanel.add(slider); sliderPanel.setVisible(false); Border b1 = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED); border = BorderFactory.createTitledBorder(b1, ""); sliderPanel.setBorder(border); slider.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { double scale = (slider.getValue() - 50) / 50.0; currentFilter.apply(pic1, pic2, scale); lab.setIcon(pic2.getJLabel().getIcon()); repaint(); } }); JPanel panel = new JPanel(new BorderLayout()); getContentPane().add(panel); panel.add(lab, BorderLayout.NORTH); panel.add(sliderPanel, BorderLayout.SOUTH); setJMenuBar(menuBar); pack(); setTitle("imageLab"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Prepare file chooser chooser = new JFileChooser(new File(".")); FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG Images", "jpg"); chooser.setFileFilter(filter); }
public NumberField(NumberOption option) { super(option); panel = new JPanel(new GridBagLayout()); this.step = option.getStep(); Double min = option.getMin(); Double max = option.getMax(); Double defl = new Double(option.getDefault()); // Normalize parameters if (min != null && defl.compareTo(min) < 0) { defl = min; } else if (max != null && defl.compareTo(max) > 0) { defl = max; } if (min != null) { sliderMin = (int) (min.doubleValue() / step); } else { sliderMin = SLIDER_DEFAULT_MIN; } if (max != null) { sliderMax = (int) (max.doubleValue() / step); } else { sliderMax = SLIDER_DEFAULT_MAX; } // Create spinner SpinnerNumberModel spinnerModel = new SpinnerNumberModel(defl, min, max, new Double(step)); spinner = new JSpinner(spinnerModel); ((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().setColumns(FIELD_WIDTH); // Create slider slider = new JSlider(sliderMin, sliderMax, sliderIndex(defl)); slider.setPaintLabels(false); slider.setPaintTicks(false); slider.setSnapToTicks(false); // Add listeners. The spinner is the master and the slider is // the slave. spinner.addChangeListener( new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { int newIndex = sliderIndex((Double) spinner.getValue()); if (slider.getValue() != newIndex) { slider.setValue(newIndex); } fireChangeEvent(); } }); slider.addChangeListener( new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { int newIndex = slider.getValue(); if (newIndex != sliderIndex((Double) spinner.getValue())) { spinner.setValue(new Double(newIndex * step)); } } }); // Create enable checkbox configureEnableToggle( option.isInitiallyEnabled(), string(option.getDisabledValue()), Arrays.asList((JComponent) spinner, slider)); // Add to the panel panel.add(spinner); GridBagConstraints c = new GridBagConstraints(); c.insets = new Insets(0, 8, 0, 0); c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 1; panel.add(slider, c); }
// Initializes this component. private void jbInit() { fileChooser.setFileFilter(new ScriptFileFilter()); this.getContentPane().setLayout(null); Hashtable<Integer, JLabel> labelTable = new Hashtable<Integer, JLabel>(); JLabel slowLabel = new JLabel("Slow"); slowLabel.setFont(Utilities.thinLabelsFont); JLabel fastLabel = new JLabel("Fast"); fastLabel.setFont(Utilities.thinLabelsFont); labelTable.put(1, slowLabel); labelTable.put(5, fastLabel); speedSlider.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { SpeedSlider_stateChanged(e); } }); speedSlider.setLabelTable(labelTable); speedSlider.setMajorTickSpacing(1); speedSlider.setPaintTicks(true); speedSlider.setPaintLabels(true); speedSlider.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0)); speedSlider.setPreferredSize(new Dimension(95, 50)); speedSlider.setMinimumSize(new Dimension(95, 50)); speedSlider.setToolTipText("Speed"); speedSlider.setMaximumSize(new Dimension(95, 50)); final Dimension buttonSize = new Dimension(39, 39); loadProgramButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { loadProgramButton_actionPerformed(); } }); loadProgramButton.setMaximumSize(buttonSize); loadProgramButton.setMinimumSize(buttonSize); loadProgramButton.setPreferredSize(buttonSize); loadProgramButton.setSize(buttonSize); loadProgramButton.setToolTipText("Load Program"); loadProgramButton.setIcon(loadProgramIcon); ffwdButton.setMaximumSize(buttonSize); ffwdButton.setMinimumSize(buttonSize); ffwdButton.setPreferredSize(buttonSize); ffwdButton.setToolTipText("Run"); ffwdButton.setIcon(ffwdIcon); ffwdButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { ffwdButton_actionPerformed(); } }); stopButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { stopButton_actionPerformed(); } }); stopButton.setMaximumSize(buttonSize); stopButton.setMinimumSize(buttonSize); stopButton.setPreferredSize(buttonSize); stopButton.setToolTipText("Stop"); stopButton.setIcon(stopIcon); rewindButton.setMaximumSize(buttonSize); rewindButton.setMinimumSize(buttonSize); rewindButton.setPreferredSize(buttonSize); rewindButton.setToolTipText("Reset"); rewindButton.setIcon(rewindIcon); rewindButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { rewindButton_actionPerformed(); } }); scriptButton.setMaximumSize(buttonSize); scriptButton.setMinimumSize(buttonSize); scriptButton.setPreferredSize(buttonSize); scriptButton.setToolTipText("Load Script"); scriptButton.setIcon(scriptIcon); scriptButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { scriptButton_actionPerformed(); } }); breakButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { breakButton_actionPerformed(); } }); breakButton.setMaximumSize(buttonSize); breakButton.setMinimumSize(buttonSize); breakButton.setPreferredSize(buttonSize); breakButton.setToolTipText("Open breakpoint panel"); breakButton.setIcon(breakIcon); breakpointWindow.addBreakpointListener(this); singleStepButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { singleStepButton_actionPerformed(); } }); singleStepButton.setMaximumSize(buttonSize); singleStepButton.setMinimumSize(buttonSize); singleStepButton.setPreferredSize(buttonSize); singleStepButton.setSize(buttonSize); singleStepButton.setToolTipText("Single Step"); singleStepButton.setIcon(singleStepIcon); stepOverButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { stepOverButton_actionPerformed(); } }); stepOverButton.setMaximumSize(buttonSize); stepOverButton.setMinimumSize(buttonSize); stepOverButton.setPreferredSize(buttonSize); stepOverButton.setSize(buttonSize); stepOverButton.setToolTipText("Step Over"); stepOverButton.setIcon(stepOverIcon); animationCombo.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { animationCombo_actionPerformed(); } }); formatCombo.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { formatCombo_actionPerformed(); } }); additionalDisplayCombo.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { additionalDisplayCombo_actionPerformed(); } }); messageLbl.setFont(Utilities.statusLineFont); messageLbl.setBorder(BorderFactory.createLoweredBevelBorder()); messageLbl.setBounds(new Rectangle(0, 667, CONTROLLER_WIDTH - 8, 25)); toolBar = new JToolBar(); toolBar.setSize(new Dimension(TOOLBAR_WIDTH, TOOLBAR_HEIGHT)); toolBar.setLayout(new FlowLayout(FlowLayout.LEFT, 3, 0)); toolBar.setFloatable(false); toolBar.setLocation(0, 0); toolBar.setBorder(BorderFactory.createEtchedBorder()); arrangeToolBar(); this.getContentPane().add(toolBar, null); toolBar.revalidate(); toolBar.repaint(); repaint(); // Creating the menu bar menuBar = new JMenuBar(); arrangeMenu(); setJMenuBar(menuBar); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); this.getContentPane().add(messageLbl, null); setControllerSize(); // sets the frame to be visible. setVisible(true); }
private void makeComponents() { this.getWwd().setPreferredSize(new Dimension(1024, 768)); JPanel panel = new JPanel(new BorderLayout()); { panel.setBorder(new EmptyBorder(10, 0, 10, 0)); JPanel controlPanel = new JPanel(new BorderLayout(0, 10)); controlPanel.setBorder(new EmptyBorder(20, 10, 20, 10)); JPanel btnPanel = new JPanel(new GridLayout(5, 1, 0, 5)); { JButton btn = new JButton("Zoom to Matterhorn"); btn.setActionCommand(ACTION_COMMAND_BUTTON1); btn.addActionListener(this.controller); btnPanel.add(btn); btn = new JButton("DEMO getElevations()"); btn.setActionCommand(ACTION_COMMAND_BUTTON2); btn.addActionListener(this.controller); btnPanel.add(btn); btn = new JButton("DEMO getElevation()"); btn.setActionCommand(ACTION_COMMAND_BUTTON3); btn.addActionListener(this.controller); btnPanel.add(btn); btn = new JButton("DEMO new getElevations"); btn.setActionCommand(ACTION_COMMAND_BUTTON4); btn.addActionListener(this.controller); btnPanel.add(btn); // btn = new JButton("Button 5"); // btn.setActionCommand(ACTION_COMMAND_BUTTON5); // btn.addActionListener(this.controller); // btnPanel.add(btn); } controlPanel.add(btnPanel, BorderLayout.NORTH); JPanel vePanel = new JPanel(new BorderLayout(0, 5)); { JLabel label = new JLabel("Vertical Exaggeration"); vePanel.add(label, BorderLayout.NORTH); int MIN_VE = 1; int MAX_VE = 8; int curVe = (int) this.getWwd().getSceneController().getVerticalExaggeration(); curVe = curVe < MIN_VE ? MIN_VE : (curVe > MAX_VE ? MAX_VE : curVe); JSlider slider = new JSlider(MIN_VE, MAX_VE, curVe); slider.setMajorTickSpacing(1); slider.setPaintTicks(true); slider.setSnapToTicks(true); Hashtable<Integer, JLabel> labelTable = new Hashtable<Integer, JLabel>(); labelTable.put(1, new JLabel("1x")); labelTable.put(2, new JLabel("2x")); labelTable.put(4, new JLabel("4x")); labelTable.put(8, new JLabel("8x")); slider.setLabelTable(labelTable); slider.setPaintLabels(true); slider.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { double ve = ((JSlider) e.getSource()).getValue(); ActionEvent ae = new ActionEvent(ve, 0, ACTION_COMMAND_VERTICAL_EXAGGERATION); controller.actionPerformed(ae); } }); vePanel.add(slider, BorderLayout.SOUTH); } controlPanel.add(vePanel, BorderLayout.SOUTH); panel.add(controlPanel, BorderLayout.SOUTH); this.layerPanel = new LayerPanel(this.getWwd(), null); panel.add(this.layerPanel, BorderLayout.CENTER); } getContentPane().add(panel, BorderLayout.WEST); }
public ControlPanel(int width, int height) { this.width = width; this.height = height; // create 2 ball panels ballPanel = new JPanel(); ballPanel.setLayout(new GridLayout(2, 1)); ball1 = new BallPanel(0, 65, Color.RED, Color.CYAN); ball2 = new BallPanel(0, 65, Color.BLUE, Color.YELLOW); ballPanel.add(ball1); ballPanel.add(ball2); // create 10 buttons upRed = new JButton("Up Red"); downRed = new JButton("Down Red"); leftRed = new JButton("Left Red"); rightRed = new JButton("Right Red"); stopRed = new JButton("Stop Red"); upBlue = new JButton("Up Blue"); downBlue = new JButton("Down Blue"); leftBlue = new JButton("Left Blue"); rightBlue = new JButton("Right Blue"); stopBlue = new JButton("Stop Blue"); // create 2 sliders slider1 = new JSlider(JSlider.VERTICAL, 0, 50, 20); slider1.setMajorTickSpacing(10); slider1.setMinorTickSpacing(1); slider1.setPaintTicks(true); slider1.setPaintLabels(true); slider2 = new JSlider(JSlider.VERTICAL, 0, 50, 20); slider2.setMajorTickSpacing(10); slider2.setMinorTickSpacing(1); slider2.setPaintTicks(true); slider2.setPaintLabels(true); // add the corresponding listener to sliders and buttons ActionListener bListener = new ButtonListener(); SliderListener sListener = new SliderListener(); upRed.addActionListener(bListener); downRed.addActionListener(bListener); leftRed.addActionListener(bListener); rightRed.addActionListener(bListener); stopRed.addActionListener(bListener); upBlue.addActionListener(bListener); downBlue.addActionListener(bListener); leftBlue.addActionListener(bListener); rightBlue.addActionListener(bListener); stopBlue.addActionListener(bListener); slider1.addChangeListener(sListener); slider2.addChangeListener(sListener); // organize 5 buttons into a panel using grid layout buttonPanel1 = new JPanel(); buttonPanel1.setLayout(new GridLayout(5, 1)); buttonPanel1.add(upRed); buttonPanel1.add(downRed); buttonPanel1.add(leftRed); buttonPanel1.add(rightRed); buttonPanel1.add(stopRed); // organize 5 buttons into a panel using grid layout buttonPanel2 = new JPanel(); buttonPanel2.setLayout(new GridLayout(5, 1)); buttonPanel2.add(upBlue); buttonPanel2.add(downBlue); buttonPanel2.add(leftBlue); buttonPanel2.add(rightBlue); buttonPanel2.add(stopBlue); // create 2 labels label1 = new JLabel("Red Ball Delay"); label2 = new JLabel("Blue Ball Delay"); // organize a label and a slider into a panel using border layout sliderPanel1 = new JPanel(); sliderPanel1.setLayout(new BorderLayout()); sliderPanel1.add(label1, BorderLayout.NORTH); sliderPanel1.add(slider1, BorderLayout.CENTER); sliderPanel2 = new JPanel(); sliderPanel2.setLayout(new BorderLayout()); sliderPanel2.add(label2, BorderLayout.NORTH); sliderPanel2.add(slider2, BorderLayout.CENTER); // organize the panel containing buttons and the panel with a slider settingsPanel = new JPanel(); settingsPanel.setLayout(new GridLayout(2, 2)); settingsPanel.add(buttonPanel1); settingsPanel.add(sliderPanel1); settingsPanel.add(buttonPanel2); settingsPanel.add(sliderPanel2); // organize a label and a slider into a panel using border layout setLayout(new BorderLayout()); add(settingsPanel, BorderLayout.WEST); add(ballPanel, BorderLayout.CENTER); }
/** Install the Rotate-Button into the toolbar */ private void installRotateButton() { URL imgURL = ClassLoader.getSystemResource("ch/tbe/pics/rotate.gif"); ImageIcon rotateIcon = new ImageIcon(imgURL); rotate = new JButton(rotateIcon); rotate.setEnabled(false); rotatePanel = new JToolBar(); rotatePanel.setOrientation(1); rotatePanel.setLayout(new BorderLayout(0, 1)); rotateSlider = new JSlider(); rotateSlider.setMaximum(359); rotateSlider.setMinimum(0); rotateSlider.setMaximumSize(new Dimension(100, 100)); rotateSlider.setOrientation(1); Box box = Box.createVerticalBox(); sliderValue.setPreferredSize(new Dimension(30, 20)); rotateSlider.setAlignmentY(Component.TOP_ALIGNMENT); box.add(sliderValue); box.add(rotateSlider); sliderValue.setAlignmentY(Component.TOP_ALIGNMENT); rotatePanel.add(box, BorderLayout.NORTH); sliderValue.addFocusListener( new FocusListener() { private int oldValue = 0; public void focusGained(FocusEvent arg0) { oldValue = Integer.parseInt(sliderValue.getText()); } public void focusLost(FocusEvent arg0) { int newValue = 0; try { newValue = Integer.parseInt(sliderValue.getText()); } catch (Exception ex) { sliderValue.setText(Integer.toString(oldValue)); } if (newValue >= 0 && newValue <= 359) { RotateCommand rc = new RotateCommand(board.getSelectedItems()); ArrayList<Command> actCommands = new ArrayList<Command>(); actCommands.add(rc); TBE.getInstance().addCommands(actCommands); rotateSlider.setValue(newValue); } else { sliderValue.setText(Integer.toString(oldValue)); } } }); rotateSlider.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent arg0) { if (board.getSelectionCount() == 1 && board.getSelectionCells()[0] instanceof ShapeItem) { sliderValue.setText(Integer.toString(rotateSlider.getValue())); ShapeItem s = (ShapeItem) board.getSelectionCells()[0]; board.removeItem(new ItemComponent[] {s}); s.setRotation(rotateSlider.getValue()); board.addItem(s); } } }); rotateSlider.addMouseListener( new MouseAdapter() { private int value; public void mousePressed(MouseEvent e) { value = rotateSlider.getValue(); } public void mouseReleased(MouseEvent e) { if (value != rotateSlider.getValue()) { RotateCommand rc = new RotateCommand(board.getSelectedItems()); ArrayList<Command> actCommands = new ArrayList<Command>(); actCommands.add(rc); TBE.getInstance().addCommands(actCommands); rc.setRotation(value); } } }); rotate.setToolTipText(workingViewLabels.getString("rotate")); rotate.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (board.getSelectionCount() == 1 && board.getSelectedItems()[0] instanceof ShapeItem) { rotateSlider.setValue(((ShapeItem) board.getSelectedItems()[0]).getRotation()); } rotatePanel.setVisible(!rotatePanel.isVisible()); showRotate = !showRotate; } }); rotate.setContentAreaFilled(false); rotate.setBorderPainted(false); toolbar.add(rotate); rotatePanel.setVisible(false); this.add(rotatePanel, BorderLayout.EAST); }
protected static JXStatusBar getStatusBar( final JXPanel jxPanel, final JTabbedPane mainTabbedPane) { JXStatusBar statusBar = new JXStatusBar(); try { ClassLoader cl = Thread.currentThread().getContextClassLoader(); Enumeration<URL> urls = cl.getResources("META-INF/MANIFEST.MF"); String substanceVer = null; String substanceBuildStamp = null; while (urls.hasMoreElements()) { InputStream is = urls.nextElement().openStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); while (true) { String line = br.readLine(); if (line == null) break; int firstColonIndex = line.indexOf(":"); if (firstColonIndex < 0) continue; String name = line.substring(0, firstColonIndex).trim(); String val = line.substring(firstColonIndex + 1).trim(); if (name.compareTo("Substance-Version") == 0) substanceVer = val; if (name.compareTo("Substance-BuildStamp") == 0) substanceBuildStamp = val; } try { br.close(); } catch (IOException ioe) { } } if (substanceVer != null) { JLabel statusLabel = new JLabel(substanceVer + " [built on " + substanceBuildStamp + "]"); JXStatusBar.Constraint cStatusLabel = new JXStatusBar.Constraint(); cStatusLabel.setFixedWidth(300); statusBar.add(statusLabel, cStatusLabel); } } catch (IOException ioe) { } JXStatusBar.Constraint c2 = new JXStatusBar.Constraint(JXStatusBar.Constraint.ResizeBehavior.FILL); final JLabel tabLabel = new JLabel(""); statusBar.add(tabLabel, c2); mainTabbedPane .getModel() .addChangeListener( new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { int selectedIndex = mainTabbedPane.getSelectedIndex(); if (selectedIndex < 0) tabLabel.setText("No selected tab"); else tabLabel.setText("Tab " + mainTabbedPane.getTitleAt(selectedIndex) + " selected"); } }); JPanel fontSizePanel = FontSizePanel.getPanel(); JXStatusBar.Constraint fontSizePanelConstraints = new JXStatusBar.Constraint(); fontSizePanelConstraints.setFixedWidth(270); statusBar.add(fontSizePanel, fontSizePanelConstraints); JPanel alphaPanel = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, 0)); final JLabel alphaLabel = new JLabel("100%"); final JSlider alphaSlider = new JSlider(0, 100, 100); alphaSlider.setFocusable(false); alphaSlider.addChangeListener( new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { int currValue = alphaSlider.getValue(); alphaLabel.setText(currValue + "%"); jxPanel.setAlpha(currValue / 100.0f); } }); alphaSlider.setToolTipText("Changes the global opacity. Is not Substance-specific"); alphaSlider.setPreferredSize(new Dimension(120, alphaSlider.getPreferredSize().height)); alphaPanel.add(alphaLabel); alphaPanel.add(alphaSlider); JXStatusBar.Constraint alphaPanelConstraints = new JXStatusBar.Constraint(); alphaPanelConstraints.setFixedWidth(160); statusBar.add(alphaPanel, alphaPanelConstraints); return statusBar; }
public ColorDialog(java.awt.Frame parent, boolean modal) { super(parent, modal); setTitle("Choose Color"); // Group two buttons OK and Cancel JPanel jpButtons = new JPanel(); jpButtons.add(jbtOK); jpButtons.add(jbtCancel); // Group labels JPanel jpLabels = new JPanel(); jpLabels.setLayout(new GridLayout(3, 0)); jpLabels.add(new JLabel("Red")); jpLabels.add(new JLabel("Green")); jpLabels.add(new JLabel("Blue")); // Group sliders for selecting red, green, and blue colors JPanel jpSliders = new JPanel(); jpSliders.setLayout(new GridLayout(3, 0)); jpSliders.add(jslRed); jpSliders.add(jslGreen); jpSliders.add(jslBlue); // Group jpLabels and jpSliders JPanel jpSelectColor = new JPanel(); jpSelectColor.setLayout(new BorderLayout()); jpSelectColor.setBorder(BorderFactory.createTitledBorder("Select Color")); jpSelectColor.add(jpLabels, BorderLayout.WEST); jpSelectColor.add(jpSliders, BorderLayout.CENTER); // Group jpSelectColor and jpSelectedColor JPanel jpColor = new JPanel(); jpColor.setLayout(new BorderLayout()); jpColor.add(jpSelectColor, BorderLayout.SOUTH); jpColor.add(jpSelectedColor, BorderLayout.CENTER); // Place jpButtons and jpColor into the dialog box getContentPane().add(jpButtons, BorderLayout.SOUTH); getContentPane().add(jpColor, BorderLayout.CENTER); pack(); jbtOK.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { setVisible(false); } }); jbtCancel.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { color = null; setVisible(false); } }); jslRed.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { redValue = jslRed.getValue(); color = new Color(redValue, greenValue, blueValue); jpSelectedColor.setBackground(color); } }); jslGreen.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { greenValue = jslGreen.getValue(); color = new Color(redValue, greenValue, blueValue); jpSelectedColor.setBackground(color); } }); jslBlue.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { blueValue = jslBlue.getValue(); color = new Color(redValue, greenValue, blueValue); jpSelectedColor.setBackground(color); } }); }
/** Construct the TV object - that is, the main GUI for the program */ public TV(JFrame f, TD mod) { super(); frm = f; theTD = mod; JButton b; // Build the GUI toolBar = new JToolBar(); toolBar.setFloatable(false); toolBar.getAccessibleContext().setAccessibleName("File Toolbar"); toolBar.addSeparator(); b = addTool(toolBar, "Cut"); b = addTool(toolBar, "Copy"); b = addTool(toolBar, "Paste"); toolBar.addSeparator(); toolBar.putClientProperty("JToolBar.isRollover", Boolean.FALSE); // The Slider numSlider = new JSlider(JSlider.HORIZONTAL, 1, 40, 1); numSlider.setPaintTicks(true); numSlider.setPaintLabels(false); numSlider.setMajorTickSpacing(10); numSlider.setMinorTickSpacing(2); numSlider.setExtent(1); numSlider.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent ce) { // System.out.println("CHANGE: " + ce); setQNumber(((JSlider) (ce.getSource())).getValue()); } }); numSlider.setToolTipText("Slide to select question by number"); toolBar.add(numSlider); // The Question# textfield toolBar.add(numTF = new JTextField("01")); numTF.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { String num = ((JTextField) e.getSource()).getText(); int n = Integer.parseInt(num.trim()); setQNumber(n); } }); numTF.setToolTipText("Type number to select question by number"); // The First Button b = addTool(toolBar, "First"); b.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { setQNumber(1); } }); // The Previous Button b = addTool(toolBar, "Previous"); b.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (getQNumber() <= 1) return; setQNumber(getQNumber() - 1); } }); // The Next Button b = addTool(toolBar, "Next"); b.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (getQNumber() >= getNumQuestions()) return; setQNumber(getQNumber() + 1); } }); // The "Last" Button b = addTool(toolBar, "Last"); b.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { setQNumber(getNumQuestions()); } }); add(BorderLayout.NORTH, toolBar); // Rest is a panel to hold the questions, one at a time. questionsPanel = new JPanel(); questionsPanel.setLayout(myCardLayout = new CardLayout()); add(BorderLayout.SOUTH, questionsPanel); fc = new FileDialog(frm); fc.setFilenameFilter( new FilenameFilter() { public boolean accept(File ff, String fname) { // System.out.println("accept("+fname+")"); // XXX TODO list of extentions, from properties. return fname.endsWith(".xam"); } }); TV.centre(fc); }
public Display(String title) throws IOException { super(title); setLayout(new GridLayout(1, 3)); JPanel options = new JPanel(new GridLayout(5, 1)); JPanel numCircles = new JPanel((new GridLayout(1, 2))); addWindowListener(this); b = new Button("Load Image"); c = new Button("filter"); findCircles = new Button("Find"); inputCircles = new JTextField("12"); numCircles.add(inputCircles); numCircles.add(findCircles); options.add(b); options.add(c); add(options); filterBtn = new JRadioButton("Filtered"); sobelBtn = new JRadioButton("Sobel"); nonMaxBtn = new JRadioButton("Non Maximal"); accumulator = new JRadioButton("Accumulator"); whichRadius = new JSlider(JSlider.HORIZONTAL, rmin, 125, 14); whichRadius.setMajorTickSpacing(10); whichRadius.setMinorTickSpacing(1); whichRadius.setPaintTicks(true); whichRadius.setPaintLabels(true); whichRadius.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); Font font = new Font("Serif", Font.ITALIC, 6); whichRadius.setFont(font); ButtonGroup rGroup = new ButtonGroup(); rGroup.add(filterBtn); rGroup.add(sobelBtn); rGroup.add(nonMaxBtn); rGroup.add(accumulator); JPanel radioPanel = new JPanel(new GridLayout(0, 1)); radioPanel.add(filterBtn); radioPanel.add(sobelBtn); radioPanel.add(nonMaxBtn); radioPanel.add(accumulator); options.add(radioPanel); options.add(numCircles); options.add(whichRadius); loadImage(); add(lbl1); add(lbl2); b.addActionListener(this); c.addActionListener(this); filterBtn.addActionListener(this); sobelBtn.addActionListener(this); nonMaxBtn.addActionListener(this); findCircles.addActionListener(this); accumulator.addActionListener(this); whichRadius.addChangeListener(this); }