View Single Post
  #2 (permalink)  
Old 08-05-2007, 10:33 PM
hardwired hardwired is offline
Senior Member
 
Join Date: Jul 2007
Posts: 1,124
hardwired is on a distinguished road
Code:
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CLD implements ActionListener { JPanel cards; //a panel that uses CardLayout final static String BUTTONPANEL = "Card with JButtons"; final static String TEXTPANEL = "Card with JTextField"; public void addComponentToPane(Container pane) { // Create control panel. JButton Back = new JButton("Back"); Back.setActionCommand("Back"); JButton Next = new JButton("Next"); Next.setActionCommand("Next"); JButton Cancel = new JButton("Cancel"); Cancel.setActionCommand("Cancel"); // Add listeners. Back.addActionListener(this); Next.addActionListener(this); Cancel.addActionListener(this); JPanel north = new JPanel(); north.add(Back); north.add(Next); north.add(Cancel); // Create the "cards". JPanel card1 = new JPanel(new BorderLayout()); card1.setBackground(Color.red); card1.add(new JLabel("Card 1", JLabel.CENTER)); JPanel card2 = new JPanel(); card2.add(new JTextField("TextField", 20)); JPanel card3 = new JPanel(new BorderLayout()); card3.setBackground(Color.yellow); card3.add(new JLabel("Card 3", JLabel.CENTER)); // Instantiate the panel that contains the "cards". cards = new JPanel(new CardLayout()); cards.add("Card 1", card1); cards.add(TEXTPANEL, card2); cards.add("yellow", card3); // Layout components in frame. pane.add(north, BorderLayout.PAGE_START); pane.add(cards, BorderLayout.CENTER); } /** * Create the GUI and show it. For thread safety, * this method should be invoked from the * event dispatch thread. */ private static void createAndShowGUI() { //Create and set up the window. JFrame frame = new JFrame("CardLayoutDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Create and set up the content pane. CLD demo = new CLD(); demo.addComponentToPane(frame.getContentPane()); //Display the window. frame.pack(); frame.setVisible(true); } public void actionPerformed(ActionEvent e){ // Get a reference to the CardLayout. CardLayout cardLayout = (CardLayout)cards.getLayout(); if (e.getActionCommand().equals("Back")){ cardLayout.previous(cards); } if (e.getActionCommand().equals("Next")){ cardLayout.next(cards); } if (e.getActionCommand().equals("Cancel")){ //action code } } public static void main(String[] args) { /* Use an appropriate Look and Feel */ try { //UIManager.setLookAndFeel( // "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); } catch (UnsupportedLookAndFeelException ex) { ex.printStackTrace(); } catch (IllegalAccessException ex) { ex.printStackTrace(); } catch (InstantiationException ex) { ex.printStackTrace(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } /* Turn off metal's use of bold fonts */ UIManager.put("swing.boldMetal", Boolean.FALSE); //Schedule a job for the event dispatch thread: //creating and showing this application's GUI. javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } }
Reply With Quote