Home
About
Projects
Contact
ex164.java
package gui16;
/* William Smolinski
 * Exercise 16-4
 * This program will use a toolbar and menubar to pick a graphic
 */
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class ex164 extends JFrame implements ActionListener
{
    JButton b = new JButton("Brosius");
    JButton m = new JButton("Martinez");
    JButton j = new JButton("Jeter");
    JToolBar bar = new JToolBar(SwingConstants.VERTICAL);
    JMenuItem br = new JMenuItem("Brosius");
    JMenuItem ma = new JMenuItem("Martinez");
    JMenuItem je = new JMenuItem("Jeter");
    JMenu homers = new JMenu("Home Runs");
    JMenuBar mbar = new JMenuBar();
    Container c;
    ImageIcon bros, mart, jet;

    public ex164()
    {
        setSize(500, 500);
        c = getContentPane();
        c.setLayout(new FlowLayout());
        setJMenuBar(mbar);
        
        //Setting the hot keys
        b.setMnemonic('b');
        m.setMnemonic('m');
        j.setMnemonic('j');
        
        //Adding the buttons to the toolbar and the toolbar to the frame
        bar.add(b);
        bar.add(m);
        bar.add(j);
        c.add(bar);
        
        //Listening to the toolbar button actions
        b.addActionListener(this);
        m.addActionListener(this);
        j.addActionListener(this);
        
        //Getting the images
        bros = new ImageIcon("gui16/brosius.jpg");
        mart = new ImageIcon("gui16/martinez.jpg");
        jet = new ImageIcon("gui16/jeter.jpg");
        
        //Adding the menu items to the menu bar
        homers.add(br);
        homers.add(ma);
        homers.add(je);
        mbar.add(homers);
        
        //Listening to the menu bar buttons
        br.addActionListener(this);
        ma.addActionListener(this);
        je.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e)
    {
        Graphics g = getGraphics();  // to draw
        paint(g);  // clear screen

 // if click on b button or br menu item draw brosius at 100, 100, etc.    
        if (e.getSource() == b || e.getSource() == br) 
            bros.paintIcon(this, g, 100, 100);
        else if (e.getSource() == m || e.getSource() == ma)
            mart.paintIcon(this, g, 100, 100);
        else if (e.getSource() == j || e.getSource() == je)
            jet.paintIcon(this, g, 100, 100);
    }
    public static void main(String[] args)
    {
        ex164 f = new ex164();
        f.setVisible(true);
    }
}