import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TiedostoTyokalut extends JApplet { //private JButton[] painikkeet = new JButton[kuva.length]; public TiedostoTyokalut() { Container sisalto_ruutu = getContentPane(); JToolBar palkki = new JToolBar(); // 1. Lisää vihjeet työkaluihin. VihjePainike uusi = new VihjePainike("new.gif", "Uusi"); VihjePainike avaa = new VihjePainike("open.gif", "Avaa"); palkki.add(uusi); palkki.add(avaa); uusi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent tapaht) { showStatus("Uusi"); } }); avaa.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent tapaht) { showStatus("Avaa"); } }); // 2. Lisää Action-olion työkaluihin palkki.add(new LeikkaaToiminto()); palkki.add(new KopioiToiminto()); palkki.add(new LiimaaToiminto()); palkki.putClientProperty("JToolBar.isRollover", Boolean.TRUE); sisalto_ruutu.add(palkki, BorderLayout.NORTH); } class LeikkaaToiminto extends AbstractAction { public LeikkaaToiminto() { super("Leikkaa", new ImageIcon("cut.gif")); } public void actionPerformed(ActionEvent tapaht) { showStatus("Leikkaa"); } } class LiimaaToiminto extends AbstractAction { public LiimaaToiminto() { super("Liimaa", new ImageIcon("paste.gif")); setEnabled(false); } public void actionPerformed(ActionEvent tapaht) { showStatus("Liimaa"); } } class KopioiToiminto extends AbstractAction { public KopioiToiminto() { putValue(Action.NAME, "Kopioi"); putValue(Action.SMALL_ICON, new ImageIcon("copy.gif")); putValue(Action.SHORT_DESCRIPTION, "Kopioi tekstin"); } public void actionPerformed(ActionEvent tapaht) { showStatus("Kopioi"); } } } // Luo Painikkeet, joka sisältää vihjetekstin (ToolTipText) // kursorin liukuessa kuvan päälle. class VihjePainike extends JButton { public VihjePainike(String kuva, String teksti) { super(new ImageIcon(kuva)); this.setToolTipText(teksti); } public Point getToolTipLocation(MouseEvent e) { return new Point(0, getSize().height); } }