przesiadlem sie na Swinga i mam kolejny problem, chodzi mi o to, mam menu a w nim jakies elementy prosze o przyklad kodu zrodlowego z wyjasnieniem pobieżnym - jak teraz oprogramować te MenuItemy, aby np zmienialy forme lub wyswietlaly nowa forme.
Kod ktory obecnie mam to :
[code]import java.awt.;
import java.awt.event.;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.ButtonGroup;
import javax.swing.JMenuBar;
import javax.swing.KeyStroke;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JFrame;
public class Swing_Menu {
public JMenuBar createMenuBar() {
JMenuBar menuBar;
JMenu menu, submenu;
JMenuItem menuItem;
JRadioButtonMenuItem rbMenuItem;
JCheckBoxMenuItem cbMenuItem;
//Tworzenie menu
menuBar = new JMenuBar();
//1 menu
menu = new JMenu("Layers");
menu.setMnemonic(KeyEvent.VK_A);
menuBar.add(menu);
menuItem = new JMenuItem("FlowLayout",KeyEvent.VK_F);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));
menu.add(menuItem);
menuItem = new JMenuItem("BorderLayout",KeyEvent.VK_F);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
menu.add(menuItem);
menu.addSeparator();
menuItem = new JMenuItem("GridLayout",KeyEvent.VK_R);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3, ActionEvent.ALT_MASK));
menu.add(menuItem);
menuItem = new JMenuItem("GridBagLayout",KeyEvent.VK_I);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_4, ActionEvent.ALT_MASK));
menu.add(menuItem);
//menu 2
menu = new JMenu("Kolor tla");
menu.setMnemonic(KeyEvent.VK_K);
menuBar.add(menu);
//checkboxy w menu
cbMenuItem = new JCheckBoxMenuItem("Zielony");
cbMenuItem.setMnemonic(KeyEvent.VK_Z);
menu.add(cbMenuItem);
cbMenuItem = new JCheckBoxMenuItem("Czerwony");
cbMenuItem.setMnemonic(KeyEvent.VK_Z);
menu.add(cbMenuItem);
cbMenuItem = new JCheckBoxMenuItem("Niebieski");
cbMenuItem.setMnemonic(KeyEvent.VK_N);
menu.add(cbMenuItem);
//menu 3
ImageIcon icon = createImageIcon("images/xmas.gif");
menuItem = new JMenuItem(icon);
menuItem.setMnemonic(KeyEvent.VK_B);
menu.add(menuItem);
menuItem = new JMenuItem(icon);
menuItem.setMnemonic(KeyEvent.VK_D);
menu.add(menuItem);
return menuBar;
}
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = MenuLookDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
private static void PokazGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
//Ustawienie okna
JFrame okno = new JFrame("Menusy");
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Swing_Menu pokaz = new Swing_Menu();
okno.setJMenuBar(pokaz.createMenuBar());
//Wyswietl
okno.setSize(450, 260);
okno.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
PokazGUI();
}
});
}
}[/code]