Witam, mam do napisania prosty programik w Javie.
Ogólnie jest to ćwiczenie, które ma oswoić mnie ze Swingiem.
Programik stworzyłem w 3 plikach.
- tworzy główne okno JFrame z jednym elementem Jmenu.
W Jmenu zrobione mam menu z 4 opcjami:
- Dane Osobowe,
- Formularz,
- Wyjście.
w drugim pliku mam stworzony JPanel o nazwie "DaneOsobowe"
w trzecim pliku mam stworzony JPanel o nazwie "Formularz"
jaki mam problem:
- w pliku pierwszym w obsłudze menu chce przełączać Jpanele, które będą na JFrame. i nie za bardzo mi to nie wychodzi :-(
- w JMenuItems mam dodatkowo zdefiniowane skróty klawiszowe np. "Alt+D" i zmiana Jpaneli można zrobić poprzez skróty klawiszowe ale nie wiem jak to dokładnie działa :-(
w załączniku pokazuje screen mojej Tframe (gdzie widać JPanel "DaneOsobowe" i Jpanel "Formularz" - te dwa Jpanele chcę przełączać miedzy sobą w JFrame.
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JMenuBar;
import javax.swing.SpringLayout;
import javax.swing.event.AncestorListener;
import javax.swing.event.AncestorEvent;
import javax.swing.JMenuItem;
import javax.swing.SwingConstants;
import javax.swing.JMenu;
import java.awt.Font;
import javax.swing.KeyStroke;
import java.awt.event.KeyEvent;
import java.awt.event.InputEvent;
import javax.swing.ImageIcon;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class OknoGlowne extends JFrame {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
OknoGlowne frame = new OknoGlowne();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public OknoGlowne() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 500, 320);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu MenuOpcje = new JMenu("Opcje");
menuBar.add(MenuOpcje);
JMenuItem MenuItemDaneOsobowe = new JMenuItem("Dane Osobowe");
MenuItemDaneOsobowe.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.ALT_MASK));
MenuItemDaneOsobowe.setFont(new Font("Segoe UI", Font.BOLD, 12));
MenuOpcje.add(MenuItemDaneOsobowe);
JMenuItem MenuItemFormularz = new JMenuItem("Formularz");
MenuItemFormularz.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.ALT_MASK));
MenuItemFormularz.setFont(new Font("Segoe UI", Font.BOLD, 12));
MenuOpcje.add(MenuItemFormularz);
JMenuItem MenuItemWyjscie = new JMenuItem("Wyj\u015Bcie");
MenuItemWyjscie.setIcon(new ImageIcon("F:\\exit.png"));
MenuItemWyjscie.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.ALT_MASK));
MenuItemWyjscie.setFont(new Font("Segoe UI", Font.BOLD, 12));
MenuOpcje.add(MenuItemWyjscie);
JMenu MenuInfo = new JMenu("O Programie");
menuBar.add(MenuInfo);
JMenuItem MenuItemInfo = new JMenuItem("Autorzy");
MenuItemInfo.setIcon(new ImageIcon("F:\\Info.png"));
MenuItemInfo.setFont(new Font("Segoe UI", Font.BOLD, 12));
MenuItemInfo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.ALT_MASK));
MenuInfo.add(MenuItemInfo);
setContentPane(new DaneOsobowe());
//setContentPane(new DaneOsobowe2());
}
}