//JOptionPane
package menu3;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
public class JOptionPaneTest extends JFrame implements ActionListener
{
JMenuBar menuBar;
JMenu menuPlik,menuNarzędzia,menuOpcje,menuPomoc;
JMenuItem mOtwórz,mZapisz,mWyjście,mNarz1,mNarz2,mOpcja1,mOProgramie;
JCheckBoxMenuItem chOpcja2;
public static void main(String[] args)
{
JOptionPaneTest appmenu=new JOptionPaneTest();
appmenu.setVisible(true);
}
JOptionPaneTest()
{
setTitle("Demonstracja JMenuBar");
setSize(800,800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
menuBar=new JMenuBar();
menuPlik=new JMenu("Plik");
mOtwórz=new JMenuItem("Otwórz",'O');
mZapisz=new JMenuItem("Zapisz");
mWyjście= new JMenuItem("Wyjście");
menuPlik.add(mOtwórz);
menuPlik.add(mZapisz);
menuPlik.addSeparator();
menuPlik.add(mWyjście);
mWyjście.addActionListener(this);
mWyjście.setAccelerator(KeyStroke.getKeyStroke("ctrl X"));
menuNarzędzia=new JMenu("Narzędzia");
mNarz1=new JMenuItem("Narz1");
mNarz1.setEnabled(false);
mNarz2=new JMenuItem("Narz2");
mNarz2.addActionListener(this);
menuNarzędzia.add(mNarz1);
menuNarzędzia.add(mNarz2);
menuOpcje=new JMenu("Opcje");
mOpcja1=new JMenuItem("Opcja1");
chOpcja2=new JCheckBoxMenuItem("Opcja2");
chOpcja2.addActionListener(this);
menuOpcje.add(mOpcja1);
menuOpcje.add(chOpcja2);
menuNarzędzia.add(menuOpcje);
menuPomoc=new JMenu("Pomoc");
mOProgramie=new JMenuItem("O Programie");
menuPomoc.add(mOProgramie);
setJMenuBar(menuBar);
menuBar.add(menuPlik);
menuBar.add(menuNarzędzia);
menuBar.add(menuPomoc);
}
@Override
public void actionPerformed(ActionEvent e)
{
Object z=e.getSource();
if(z==mWyjście)
{
int odp=JOptionPane.showConfirmDialog(null,"Czy na pewno wyjść","Pytanie",JOptionPane.YES_NO_OPTION);
if(odp==JOptionPane.YES_OPTION)
{
dispose();
}
else if(odp==JOptionPane.NO_OPTION)
{
JOptionPane.showMessageDialog(null,"Wiedziałem...");
}
else if(odp==JOptionPane.CLOSED_OPTION)
{
JOptionPane.showMessageDialog(null,"Tak nie robimy","Tytuł",JOptionPane.WARNING_MESSAGE);
}
if(z == chOpcja2)
{
if(chOpcja2.isSelected())
{
mNarz1.setEnabled(true);
}
else
{
mNarz1.setEnabled(false);
}
}
if(z==mOProgramie)
{
JOptionPane.showMessageDialog(null,"Program demonstruje wykorzystanie JMenuBar i JMenu \n Wersja 1.0","Tytuł", JOptionPane.WARNING_MESSAGE);
}
if(z==mNarz2)
{
String sMetry=JOptionPane.showInputDialog("Podaj długość w metrach");
double metry=Double.parseDouble(sMetry);
double stopy=metry/0.3048;
String sStopy=String.format("%.2f", stopy);
JOptionPane.showMessageDialog(null, metry+"metrów="+sStopy+"stóp" );
}
}
Nie działa mi mPomoc,mNarz2 oraz JMenuItemCheckbox,który mi wcześniej działał.
usunięcie zbędnych pustych linii z kodu - fp