Witam,
mam taki problem, jak obsłużyć zdarzenia w menu,
napisałem taki programik:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Editor extends JFrame
{
private JMenuBar menuBar;
private JMenu menu, submenu;
private JMenuItem menuItem;
public Editor()
{
JFrame frame = new JFrame("Edytor Tekstu");
frame.setSize(800,600);
// przy okazji, jak ustawić aby aplikacja uruchamiała sie na całym ekranie a jak wycentrowana
//kombinowałem z odczytywaniem szerokosci i wysokosci ekranu, ale moze jest jakis lepszy i prostszy //sposob
frame.setLayout(new BorderLayout());
menuBar=new JMenuBar(); //Tworzenie Paska Menu
//********************* Menu Plik *********************
menu = new JMenu("Plik");
menu.setMnemonic(KeyEvent.VK_P);
menuBar.add(menu);
//Nowy
menuItem = new JMenuItem("Nowy", new ImageIcon("ikona.gif"));
menuItem.setMnemonic(KeyEvent.VK_N);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.ALT_MASK));
menu.add(menuItem);
//Otwórz
menuItem = new JMenuItem("Otwórz", new ImageIcon("ikona.gif"));
menuItem.setMnemonic(KeyEvent.VK_O);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.ALT_MASK));
menu.add(menuItem);
//********************* Menu Edycja *********************
menu = new JMenu("Edycja");
menu.setMnemonic(KeyEvent.VK_E);
menuBar.add(menu);
//Cofnij
menuItem = new JMenuItem("Cofnij", new ImageIcon("ikona.gif"));
menuItem.setMnemonic(KeyEvent.VK_Z);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, ActionEvent.ALT_MASK));
menu.add(menuItem);
//Ponów
menuItem = new JMenuItem("Ponów", new ImageIcon("ikona.gif"));
menuItem.setMnemonic(KeyEvent.VK_Y);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, ActionEvent.ALT_MASK));
menu.add(menuItem);
frame.add(menuBar, BorderLayout.NORTH);
frame.setVisible(true);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String [] args)
{
new Editor();
}
}
chciałbym aby po wybraniu "Nowy" odpalilo sie cosik, a po wybraniu "Otworz" cosik innego.
Normalnie rejestrowalem sluchaczy i sprawdzalem zrodlo, kto zglosil obsluge, ale tu jest zawsze MenuItem i nie bardzo wiem jak postapic,
Jak ktos ma jakis pomysl, to prosze o podpowiedz, pozdrawiam!