Diskuze: Vytvoření kreslícího plátna v javě
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Musíš si udělat vlastní panel (oddědit) a v něm overridnout paint
Teď mi to zobrazuje
Exception in thread "main" java.lang.NullPointerException
at platinko.Platinko.main(Platinko.java:38)
Chyba je prý na tomto řádku :
g2d.setPaint(Color.RED);
public class Platinko {
public static void main(String[] args) {
JFrame okno = new JFrame();
okno.setSize(800, 600);
okno.setVisible(true);
okno.setTitle("program");
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
FlowLayout layout = new FlowLayout();
MojePlatno panel = new MojePlatno();
okno.add(panel);
}
}
class MojePlatno extends JPanel
{
public void paint(Graphics g)
{
g.drawRect(20, 20, 50, 50);
}
}
Asi takhle
A čemu se divíš, když voláš metody na null? Musíš kreslit v té metodě paint na plátno co ti přijde v parametru metody. Jinak prý je lepší přepsat paintComponent než paint, ale funguje obojí a vypadají stejně.
A jak můžu určit rozměry plátna? tohle nefunguje
panel.WIDTH = 800;
panel.HEIGHT = 600;
Zobrazeno 7 zpráv z 7.