Wyczaiłem na youtube poradnik javy w wielu partach(takich po 10minut). Robiłem wszystko tak jak koleś pokazywał.
Nadpisałem i przestało mi działac (działa, ale nie działa np przycisk pomoc,Narz2,plik,wyjscie)
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import javax.swing.*;
public class JMenuTest extends JFrame implements ActionListener
{
JMenuBar menuBar;
JMenu menuPlik, menuNarzędzia, menuOpcje, menuPomoc;
JMenuItem mOtwórz, mZapisz, mWyjście, mNarz1, mNarz2, mOpcja1, mOProgramie;
JCheckBoxMenuItem chOpcja1,chOpcja2 ;
JTextArea notatnik;
public JMenuTest()
{
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');
mOtwórz.addActionListener(this);
mZapisz = new JMenuItem("Zapisz");
mZapisz.addActionListener(this);
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(true);
mNarz2 = new JMenuItem("Narz2");
mNarz2.addActionListener(this);
mNarz2.setEnabled(true);
menuNarzędzia.add(mNarz1);
menuNarzędzia.add(mNarz2);
menuOpcje = new JMenu("Opcje");
mOpcja1 = new JMenuItem("Opcja1");
chOpcja1 = new JCheckBoxMenuItem("Opcja1");
chOpcja1.addActionListener(this);
chOpcja2 = new JCheckBoxMenuItem("Opcja2");
chOpcja2.addActionListener(this);
menuOpcje.add(chOpcja1);
menuOpcje.add(chOpcja2);
menuNarzędzia.add(menuOpcje);
//menuBar.add(Box.createHorizontalGlue()); da do prawej strony menu
menuPomoc = new JMenu("Pomoc");
mOProgramie = new JMenuItem("O Programie");
mOProgramie.addActionListener(this);
menuPomoc.add(mOProgramie);
notatnik = new JTextArea();
JScrollPane scrollPane = new JScrollPane(notatnik);
scrollPane.setBounds(50,50,600,600);
add(scrollPane);
setJMenuBar(menuBar);
menuBar.add(menuPlik);
menuBar.add(menuNarzędzia);
menuBar.add(menuPomoc);
}
@Override
public void actionPerformed(ActionEvent e)
{
Object z = e.getSource();
if (z==mOtwórz)
{
JFileChooser fc = new JFileChooser();
if (fc.showOpenDialog(null)==JFileChooser.APPROVE_OPTION)
{
File plik = fc.getSelectedFile();
JOptionPane.showMessageDialog(null, "Wybrany plik to " + plik.getAbsolutePath());
try
{
Scanner skaner = new Scanner(plik);
while (skaner.hasNext())
notatnik.append(skaner.nextLine() + "\n");
}
catch (FileNotFoundException e1)
{
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
else if (z==mZapisz)
{
JFileChooser fc1 = new JFileChooser();
if (fc1.showSaveDialog(null)==JFileChooser.APPROVE_OPTION)
{
File plik = fc1.getSelectedFile();
JOptionPane.showMessageDialog(null, "Wybrany plik to " + plik);
}
}
else if (z==mWyjście)
{
int odp = JOptionPane.showConfirmDialog(null, "Czy na pewno wyjsc ?", "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 if (!chOpcja2.isSelected())
mNarz1.setEnabled(false);
}
if (z==chOpcja1)
{
if (chOpcja1.isSelected())
mNarz2.setEnabled(true);
else if (!chOpcja1.isSelected())
mNarz2.setEnabled(false);
}
if (z==mNarz2)
{
String sMetry = JOptionPane.showInputDialog("Podaj długosc 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");
}
if (z==mOProgramie)
JOptionPane.showMessageDialog(null, "Program demonstruje wykorzystanie JMenuBar i JMenu", "Tytuł", JOptionPane.WARNING_MESSAGE);
}
}
public static void main(String[] args)
{
JMenuTest appMenu = new JMenuTest();
appMenu.setVisible(true);
}
}