Problem z Buttonami i Label w Javie,NetBeans.Prośba o pomoc,wskazówkę itp.

0
package Projekt;
import java.awt.Color;
import java.awt.Font;      
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import java.util.Date;
import javax.swing.JLabel;

public class MojeOkienko extends JFrame implements ActionListener{

    JButton bPodajDate,bWyjście;
    JLabel lWyświetlDate;

    public MojeOkienko(){
        setSize(300,200);
        setTitle("Moje Pierwsze Okienko"); 
        setLayout(null);
        bPodajDate=new JButton("Podaj datę");
        bPodajDate.setBounds(50,50,100,20);
        add(bPodajDate);
        bPodajDate.addActionListener((ActionListener) this);
        bWyjście=new JButton("Wyjście");
        bWyjście.setBounds(150,50,100,20);
        add(bWyjście);
        bWyjście.addActionListener((ActionListener) this);
        lWyświetlDate=new JLabel("Data:");
        lWyświetlDate.setBounds(50,100,250,20);
        lWyświetlDate.setForeGround(new Color(0,200,200));
        lWyświetlDate.setFont(new Font("Sans Serif",Font.BOLD,16));
        add(lWyświetlDate);
        add(lWyświetlDate);

            public static void main (String[]args)
            {
            MojeOkienko okienko=new MojeOkienko();
            okienko.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            okienko.setVisible(true);
            };

 @Override
public void ActionPerformed(ActionEvent e)
{
Object źródło=e.getSource();

if(źródło==bPodajDate){
	
lWyświetlDate.setText(new Date().toString());
}
else if (źródło==bWyjście)
{
dispose();
}

A komunikat w NetBeans wychodzi taki:

java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Uncompilable source code - Projekt.MojeOkienko is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener
at Projekt.MojeOkienko.<clinit>(MojeOkienko.java:15)
Exception in thread "main" Java Result: 1

usunięcie zbędnych pustych linii z kodu + dodanie znacznika <quote> dla treści błędu - fp

1

Rozmiar liter ma znaczenie.

0

Błędów jest więcej - nie tylko złą wielkość liter. W Javie nie można definiować funkcji wewnątrz funkcji, w szczególności nie można umieścić kodu metody main wewnątrz konstruktora klasy MojeOkienko.

0
package Projekt;
import java.awt.Color;
import java.awt.Font;      
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import java.util.Date;
import javax.swing.JLabel;

  public static void main (String[]args)
            {
            MojeOkienko okienko=new MojeOkienko();
            okienko.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            okienko.setVisible(true);
            };


public class MojeOkienko extends JFrame implements ActionListener{

    JButton bPodajDate,bWyjście;
    JLabel lWyświetlDate;
    public MojeOkienko(){

        setSize(300,200);
        setTitle("Moje Pierwsze Okienko"); 
        setLayout(null);
        bPodajDate=new JButton("Podaj datę");
        bPodajDate.setBounds(50,50,100,20);
        add(bPodajDate);
        bPodajDate.addActionListener((ActionListener) this);
        bWyjście=new JButton("Wyjście");
        bWyjście.setBounds(150,50,100,20);
        add(bWyjście);
        bWyjście.addActionListener((ActionListener) this);
        lWyświetlDate=new JLabel("Data:");
        lWyświetlDate.setBounds(50,100,250,20);
        lWyświetlDate.setForeGround(new Color(0,200,200));
        lWyświetlDate.setFont(new Font("Sans Serif",Font.BOLD,16));
        add(lWyświetlDate);
       
        add(lWyświetlDate);      

 @Override
public void ActionPerformed(ActionEvent e)
{
Object źródło=e.getSource();

if(źródło==bPodajDate){
	
lWyświetlDate.setText(new Date().toString());
}
else if (źródło==bWyjście)
{
dispose();
}

ok dałem main wcześniej tak może być?podpowiedzcie coś początkujący jestem.Nie mówie ,żebyście za mnie cały kod napisali,ale dajcie jakieś tipy.Nie zauważyłem,w którym miejscu popełniłem błąd z wielkością liter(Może przemęczony jestem ; ) ).Z góry dzięki ; )

dodanie znaczników <code class="java"> - fp

0

jak coś to wzorowałem się na tym//www.youtube.com/watch?v=qF73TMK8Fgc

1

Piszesz w NetBeans i on nie wskazuje miejsc z błędami?

  1. Wielkość liter:
    ActionPerformed
    setForeGround
  2. Nadal jest metoda w metodzie (ActionPerformed w konstruktorze)
  3. Metody nie mogą być innych metodach ale muszą być w klasie, wyrzuciłeś main za daleko
  4. Kod na forum umieszczaj w znacznikach < code=java > < /code > (bez spacji!)
package Projekt;
import java.awt.Color;
import java.awt.Font;      
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import java.util.Date;
import javax.swing.JLabel;

public class MojeOkienko extends JFrame implements ActionListener{
    JButton bPodajDate,bWyjście;
    JLabel lWyświetlDate;
    
    public static void main (String[]args)
    {
        MojeOkienko okienko=new MojeOkienko();
        okienko.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        okienko.setVisible(true);
    }; 

    public MojeOkienko(){   
        setSize(300,200);
        setTitle("Moje Pierwsze Okienko");
        setLayout(null);
        bPodajDate=new JButton("Podaj datę");
        bPodajDate.setBounds(50,50,100,20);
        add(bPodajDate);
        bPodajDate.addActionListener((ActionListener) this);
        bWyjście=new JButton("Wyjście");
        bWyjście.setBounds(150,50,100,20);
        add(bWyjście);
        bWyjście.addActionListener((ActionListener) this);
        lWyświetlDate=new JLabel("Data:");
        lWyświetlDate.setBounds(50,100,250,20);
        lWyświetlDate.setForeground(new Color(0,200,200));
        lWyświetlDate.setFont(new Font("Sans Serif",Font.BOLD,16));
        add(lWyświetlDate);
       
        add(lWyświetlDate);      
         
    }
   
    @Override
    public void actionPerformed(ActionEvent e)
    {
        Object źródło=e.getSource();
        if(źródło==bPodajDate){       
             lWyświetlDate.setText(new Date().toString());
        }
        else if (źródło==bWyjście)
        {
            dispose();
        }
    }
}
0

Dzięki wielkie,już czaje.Pozdrawiam ; )

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