Ahoj
Omlouvám se, za celkem hloupý dotaz, ale prostě na to nemohu přijít :(
Přes google jsem našel tento způsob (zdroják níže). Ten má tu chybu, že když vytvořím instanci třídy Plocha, tak se ty čáry vykreslí bez toho, abych v ní volal jakoukoliv funkci. Já bych potřeboval mít ve třídě plocha metodu, kterou bych zavolal, předal jí souřadnice čáry a ona ji vykreslila na daný JPanel (která je právě vytvořen vytvořením instance třídy Plocha).
Napadlo mě akorát vytvořit třídu Cara, kdy bych vytvářel její instance, ale zase nevím, jak bych pak zařídil, aby se ty čáry vykreslovali na ten JPanel, na který chci. Stejně bych ale nejradši, aby byla ve třídě Plocha metoda, kterou bych volal a ona kreslila.
package app.gui;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Random;
public class Plocha extends JPanel {
public Plocha() {
}
private void doDrawing(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setPaint(Color.blue);
int w = getWidth();
int h = getHeight();
Random r = new Random();
for (int i = 0; i < 2000; i++) {
int x = Math.abs(r.nextInt()) % w;
int y = Math.abs(r.nextInt()) % h;
g2d.drawLine(x+5, y, x, y+5);
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
vykresliCaru(g);
}
}