Java-Eclipse- program sie wysypuje

0

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);
}
} 
1

Polskie znaki

1

Nie zamknąłeś pierwszego if'a dlatego działał tylko przycisk otwórz. 5 ojro za stracone 5 minut. pozdr

 
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);
    
}
0

Prosze o pomoc
1.Gdy w polu tekstowym wpisze jakiś wyraz lub zdanie - to po zaznaczeniu tego wyrazu lub części tego zdania -gdy kliknę PPM i dam Dołącz-powinno mi wtedy to co zaznaczylem wypisac na dole pod tekstem. -niestety źle mi to działa
JMenuItem mOpcja1 = new JMenuItem("Opcja1"); tu był error-nie chciało działac. jakos to wlaczylem ale dziala źle.

  1. Przycisk Pomoc chciałbym aby był po prawej stronie:
    *menuBar.add(Box.createHorizontalGlue()); *da do prawej strony menu
  • nie działa
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

import javax.swing.*;
public class JMenuTest extends JFrame implements ActionListener
{
    JMenuBar menuBar;
    JLabel label1;
    JButton bSzukaj;
    JPopupMenu popup;
    JMenu menuPlik, menuNarzędzia, menuOpcje, menuPomoc;
    JMenuItem mOtwórz, mZapisz, mWyjście, mNarz1, mNarz2, mpKopiuj, mpWklej, mpDołącz, mOProgramie;
    JTextField tSzukany;
    JCheckBoxMenuItem chOpcja1,chOpcja2 ;
    JTextArea notatnik;
    String wybranyTekst;
           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");
                       JMenuItem 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,400,400);
                       add(scrollPane);
                       
                       setJMenuBar(menuBar);
                       menuBar.add(menuPlik);
                       menuBar.add(menuNarzędzia);
                      
                       menuBar.add(menuPomoc);
                       
                       tSzukany = new JTextField();
                       tSzukany.setBounds(50,500,100,20);
                       add(tSzukany);
                       
                       bSzukaj = new JButton("Szukaj");
                       bSzukaj.setBounds(200,500,100,20);
                       add(bSzukaj);
                       bSzukaj.addActionListener(this);
                       
                       popup = new JPopupMenu();
                       mpKopiuj = new JMenuItem ("Kopiuj");
                       mpKopiuj.addActionListener(this);
                       mpWklej = new JMenuItem("Wklej");
                       mpWklej.addActionListener(this);
                       mpDołącz = new JMenuItem("Dołącz");
                       mpDołącz.addActionListener(this);
                       
                       popup.add(mpKopiuj);
                       popup.add(mpWklej);
                       popup.add(mpDołącz);
                       
                       
                       notatnik.setComponentPopupMenu(popup);
                    
                       
                       
                      
                       
                       
                       
                       
           }
@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;
    		
    		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();
    	try 
    	{
			PrintWriter pw = new PrintWriter(plik);
			Scanner skaner = new Scanner(notatnik.getText());
			while (skaner.hasNext())
			pw.println(skaner.nextLine() + "\n");
			
			pw.close();
			} 
    	catch (FileNotFoundException e1) 
		{
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
    	//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);
    }
    else if (z==bSzukaj)
    {
    	String tekst = notatnik.getText();
    	String szukane = tSzukany.getText();
    	String wystąpienia = "";
    	int i = 0;
    	int index;
    	int startIndex = 0;
    	while ((index = tekst.indexOf(szukane, startIndex)) != -1)
    	{
    		startIndex = index + szukane.length();
    		i++;
    		wystąpienia = wystąpienia + " " + index;
    	}
    	JOptionPane.showMessageDialog(null, szukane + " wystąpiło " + i + "razy: " + wystąpienia);
    }
    else if (z==mpKopiuj)
    	 wybranyTekst = notatnik.getSelectedText();
    
    else if (z==mpWklej)
    	notatnik.insert(wybranyTekst, notatnik.getCaretPosition());
    
    else if (z==mpDołącz)
    notatnik.append("\n" + wybranyTekst);
    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);
}
}
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1