Glass Pane rysowanie

0

Witam.
Mam następujący problem. Mam kontrolkę z buttonami. Mój problem polega na tym, ze nie wiem jak zaimplementować glass pane tak żebym mógł rysować po nim przy użyciu myszki. Tzn. klikam myszką, wtedy pojawia mi się przezroczysty glass pane, po którym mogę malować przeciągając myszką a jak puszczę guzik myszki to glass pane znika. Wiem, że muszę tworzyć glass pane w zdarzeniu mouse clicked i mouse dragged. Ale nie wiem za bardzo jak dodać to malowanie w czasie rzeczywistym. Mam też pytanie: czy jak rysuje po szklanym panelu to wszystkie moje komponenty za nim są refresowane repaintem? Chyba, że macie inny pomysł na rozwiązanie tego?

0

Szklany panel można osiągnąć na dwa sposoby.

//Pierwszy sposób
public class CustomGlassPane extends JComponent {
    @Override
    protected void paintComponent(Graphics g) {
        /rysowanie
   }
}
//Drugi sposób
public class CustomGlassPane extends JPanel{
   CustomGlassPane () {
       setOpaque(false)
   }

    @Override
    protected void paintComponent(Graphics g) {
        /rysowanie
   }
}

Więcej na temat masz tu:
http://download.oracle.com/javase/tutorial/uiswing/components/rootpane.html
http://www.java2s.com/Code/Java/Swing-JFC/DemonstrateuseofGlassPane.htm
Rozdział 9 tej książki:
http://helion.pl/ksiazki/efekty-graficzne-i-animowane-dla-aplikacji-desktop-java-tworzenie-atrakcyjnych-programow-chet-haase-romain-guy,efgran.htm
traktuje o szklanych panelach. Po ściągnięciu przykładów z ftp możesz znaleźć przykładowy program z wykorzystaniem szklanym panelem.

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