Własna metoda w jPanel...

0

Witam,
Przejdę od razu do rzeczy :D

package my;

import java.awt.Graphics;

public class MyPanel extends javax.swing.JPanel implements Runnable {
    
    public boolean draw = false;
    
    Thread t;
    int x;
    int y;
    int counter = 0;
    
    
    void getValue(boolean TrueOrFalse){
        draw = TrueOrFalse;
    }
    
    @Override
	public void addNotify() {
		super.addNotify();
		t = new Thread(this);
		t.start();
	}
    
    @Override
    public void run(){
            if(draw){
            do{
            repaint();
            counter++;
            x = 0 + (int)(Math.random()*50); 
            y = 0 + (int)(Math.random()*50);
            
            try {
                Thread.sleep(300);
                } catch(InterruptedException ex) {
                Thread.currentThread().interrupt();
}
            
        }while(counter<100);
        }
    }
    
        
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        //doDrawing(g);
        //g.drawLine(x, y, x, y); 
        g.fillRect(x, y, 10, 10);
    }
    
}

I wspomniana klasa jest teoretycznie dobrze napisana.
Teraz w głównej klasie programu powołuję nowy obiekt:

jPanel1 = new MyPanel();

Chciałbym dzięki buttonowi uruchomić "odtwarzanie" obrazu.
zatem w buttonie umieszczam taki kod:

jPanel1.getValue(true);

Jednak NetBeans wskazuje na błąd przy "getValue" :

cannot find symbol
symbol: method getValue(boolean)
location: variable jPanel1 of type JPanel

Jak zrobić/spowodować żebym mógł użyć stworzonej przez siebie metody ?

Pozdrawiam serdecznie :)

0

a nie powinieneś mieć this.draw

1

location: variable jPanel1 of type JPanel

Sprawdź czy nie masz dwóch zmiennych o nazwie jPanel1, jedna jest typu JPanel, a druga typu MyPanel.

0

Mam taki kod wygenerowany przez NetBeans:

// Variables declaration - do not modify                     
    public javax.swing.JPanel jPanel1;
    public javax.swing.JToggleButton jToggleButton1;
    // End of variables declaration   

W tej chwili to wygląda tak jakby raz deklarowało mi jPanel1 raz jako MyPanel a raz jPanel :/

Jak zastąpić tą linijkę żeby było dobrze ? Może ktoś podpowiedzieć ?*

Z góry dzięki,
Pozdrawiam

*(nie jestem zbyt zaawansowany w tworzeniu w Java, na pomysł zabawy tym językiem wpadłem ~2 tyg temu i powoli dłubię)

---------EDIT-----------------
Dobra, dałem rade sam, w customize code zmieniłem na dole z field na local i dopisałem taką linijkę na dole:

private my.MyPanel jPanel1;

Oczywiście trzeba najpierw mieć folder "my" :D

Dziękuję i pozdrawiam :)

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

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