/* * Swing version. */ import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.BorderLayout; import java.net.URL; public class ButtonDemoApplet extends JApplet implements ActionListener { protected JButton b1, b2, b3; protected static final String DISABLE = "disable"; protected static final String ENABLE = "enable"; protected String leftButtonFilename = "images/right.gif"; protected String middleButtonFilename = "images/middle.gif"; protected String rightButtonFilename = "images/left.gif"; public void init() { ImageIcon leftButtonIcon = new ImageIcon( getURL(leftButtonFilename)); ImageIcon middleButtonIcon = new ImageIcon( getURL(middleButtonFilename)); ImageIcon rightButtonIcon = new ImageIcon( getURL(rightButtonFilename)); b1 = new JButton("Disable middle button", leftButtonIcon); b1.setVerticalTextPosition(AbstractButton.CENTER); b1.setHorizontalTextPosition(AbstractButton.LEFT); b1.setMnemonic('d'); b1.setActionCommand(DISABLE); b2 = new JButton("Middle button", middleButtonIcon); b2.setVerticalTextPosition(AbstractButton.BOTTOM); b2.setHorizontalTextPosition(AbstractButton.CENTER); b2.setMnemonic('m'); b3 = new JButton("Enable middle button", rightButtonIcon); //Use the default text position of CENTER, RIGHT. b3.setMnemonic('e'); b3.setActionCommand(ENABLE); b3.setEnabled(false); //Listen for actions on buttons 1 and 3. b1.addActionListener(this); b3.addActionListener(this); //Add Components to a JPanel, using the default FlowLayout. JPanel pane = new JPanel(); pane.add(b1); pane.add(b2); pane.add(b3); //Add JPanel to this applet, using the default BorderLayout. getContentPane().add(pane, BorderLayout.CENTER); } public void actionPerformed(java.awt.event.ActionEvent e) { if (e.getActionCommand().equals(DISABLE)) { b2.setEnabled(false); b1.setEnabled(false); b3.setEnabled(true); } else { b2.setEnabled(true); b1.setEnabled(true); b3.setEnabled(false); } } protected URL getURL(String filename) { URL codeBase = getCodeBase(); URL url = null; try { url = new URL(codeBase, filename); } catch (java.net.MalformedURLException e) { System.out.println("Couldn't create image: badly specified URL"); return null; } return url; } }