Rysowanie na jPanelu

0

Stworzyłem program w Netbeans w ten sposób, że odznaczyłem opcję " create main class", potem dodałem do domyślnego pakietu JFrame Form, przy uruchomieniu potwierdziłem opcję, że JFrame ma być moją główną klasą. Potem dodałem do JFrame jPanel oraz przycisk. Jeśli stworzę zdarzenie dla przycisku (kliknięcie myszą) i umieszczę tam taki kod:
[code]
Graphics2D graph = (Graphics2D)jPanel1.getGraphics();
graph.setColor(Color.red);
graph.drawLine(0, 0, 100, 100);
[/code]
to na panelu rysuje się linia. Natomiast nie wiem gdzie umieścić kod, żeby linia narysowała się nie po kliknięciu na przycisk, tylko automatycznie wraz z tworzeniem panelu ?

0

Albo w main() albo w konstruktorze JFrame jeśli zrobiłeś własną klasę która z niego dziedziczy.

0

Nie robiłem własnej klasy, która dziedziczy z JFrame, a w main nie można się odwołać do niestatycznych obiektów takich jak jPanel.

0

To napisz własną klasę, która dziedziczy po JPanel. A w niej nadpisz metodę paintComponent()

public void paintComponent(Graphics graph)
{
    super.paintComponent(Graphics graph);
    graph.setColor(Color.red);
    graph.drawLine(0, 0, 100, 100);
}

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