/** Adds the required focus listeners to the fields. */ private void addFocusListeners() { FocusListener l = new FocusListener() { public void focusGained(FocusEvent e) { lastFocusComponent = e.getComponent(); } public void focusLost(FocusEvent e) {} }; bServer.addFocusListener(l); bImport.addFocusListener(l); lastFocusComponent = bServer; }
/** @param buttonPanel */ protected void installFocusHandlers(JPanel buttonPanel) { // disable buttons when this "frame" is defocused FocusListener focusListener = new FocusListener() { public void focusGained(FocusEvent e) { moveButton.setEnabled(true); closeButton.setEnabled(true); } public void focusLost(FocusEvent e) { moveButton.setEnabled(false); closeButton.setEnabled(false); } }; textarea.addFocusListener(focusListener); // have to put the focus listener on every component else it doesn't work every time buttonPanel.addFocusListener(focusListener); moveButton.addFocusListener(focusListener); closeButton.addFocusListener(focusListener); }
public elementWrapper(String titleText, Component comp, vectorPanel parent, boolean editable) { if (comp == null) { throw new IllegalArgumentException("Error: Component parameter is null"); } this.titleText = titleText; this.vp = parent; this.editable = editable; this.my_component = comp; debug = vp.gc.debug; if (debug) { System.err.println("Adding new elementWrapper"); } setLayout(new BorderLayout()); buttonPanel = new JPanel(); buttonPanel.setOpaque(true); /* // set the border/button panel color based on the // object's validity checkValidation(); */ buttonPanel.setBackground(ClientColor.vectorTitles); setBorder(vp.wp.eWrapperBorder); buttonPanel.setForeground(ClientColor.vectorFore); buttonPanel.setLayout(new BorderLayout()); if (editable) { remove = new JButton(vp.wp.removeImageIcon); remove.setOpaque(false); remove.setMargin(new Insets(0, 0, 0, 0)); remove.setBorder(vp.wp.eWrapperButtonBorder); remove.setBorderPainted(false); // "Delete this element" remove.setToolTipText(ts.l("init.remove_tooltip")); remove.setContentAreaFilled(false); remove.addActionListener(this); remove.addFocusListener(this); } if (comp instanceof containerPanel) { if (titleText != null) { title = new JLabel(titleText); } else { // "Component" title = new JLabel(ts.l("init.default_label")); } title.setForeground(Color.white); title.addMouseListener(this); expand = new JButton(vp.wp.closeIcon); expand.setPressedIcon(vp.wp.closePressedIcon); expand.setMargin(new Insets(0, 0, 0, 0)); expand.setBorder(vp.wp.eWrapperButtonBorder); expand.setBorderPainted(false); // "Expand this element" expand.setToolTipText(ts.l("global.expand_tooltip")); expand.setOpaque(false); expand.addActionListener(this); expand.addFocusListener(this); expand.setContentAreaFilled(false); buttonPanel.add("West", expand); buttonPanel.add("Center", title); if (editable) { buttonPanel.add("East", remove); } } else { if (titleText != null) { buttonPanel.add("West", new JLabel(titleText)); } buttonPanel.add("Center", comp); if (editable) { buttonPanel.add("East", remove); } } add("North", buttonPanel); }