Forum » Programiranje » [Java] NetBeans - Paint event
[Java] NetBeans - Paint event
Robocop1 ::
V Javi (v NetBeansu) programiram desktop aplikacijo, kjer je potrebno risanje na jFrame. Vsakokrat, ko bi uporabnik kliknil na jFrame, bi se morala na jFrame (poleg obstoječe vsebine) izrisati neka geometrijska oblika.
V dogodku componentShown (za jFrame) rišem na naslednji način:
Črta se lepo nariše, vendar imam nekaj problemov:
1. Če odprem in zaprem meni, na sliki ostane "senca" oz. obris/sled, kjer je bil odprt meni. Hočem pa, da se po zaprtju menija lepo vidi slika, ki je izrisana na jFrame.
2. Če formo pomanjšam v pladenj in povečam, se slika izbriše. Če formo premaknem čez ekran (tako da je samo del forme na ekranu), se tisti del slike izbriše.
3. Medtem, ko uporabnik riše geometrijske oblike, slika utripa. Zaporedje dogodkov je naslednje:
- funkcija mouseClicked (kjer se določi kje in kaj se nariše)
- iz funkcije mouseClicked kličem paintComponent, kjer narišem obliko (kot v zgornjem primeru).
Zanima me, kako rešiti te težave? Obstaja kakšna posebna funkcija "Paint", kot jo ima C#?
V dogodku componentShown (za jFrame) rišem na naslednji način:
jFrame1.getGraphics().drawLine(0,0,100,100); // primer za risanje črte
Črta se lepo nariše, vendar imam nekaj problemov:
1. Če odprem in zaprem meni, na sliki ostane "senca" oz. obris/sled, kjer je bil odprt meni. Hočem pa, da se po zaprtju menija lepo vidi slika, ki je izrisana na jFrame.
2. Če formo pomanjšam v pladenj in povečam, se slika izbriše. Če formo premaknem čez ekran (tako da je samo del forme na ekranu), se tisti del slike izbriše.
3. Medtem, ko uporabnik riše geometrijske oblike, slika utripa. Zaporedje dogodkov je naslednje:
- funkcija mouseClicked (kjer se določi kje in kaj se nariše)
- iz funkcije mouseClicked kličem paintComponent, kjer narišem obliko (kot v zgornjem primeru).
Zanima me, kako rešiti te težave? Obstaja kakšna posebna funkcija "Paint", kot jo ima C#?
nightrage ::
Tole metodo vrž v class .
@Override public void paint(Graphics g) { super.paint(g); //todo tukaj vstavi svojo kodo }
Robocop1 ::
Sem probal, vendar to ne reši vseh težav.
Če formo premaknem z ekrana ali jo pomanjšam v pladenj, tokrat slika ostane na formi. Rešil sem točko 2. Še vedno pa ostane obris menija, če se iz menija File premaknem na Edit. Prav tako je še vidno utripanje, kadar je na formi izrisanih več geometrijskih oblik.
Če formo premaknem z ekrana ali jo pomanjšam v pladenj, tokrat slika ostane na formi. Rešil sem točko 2. Še vedno pa ostane obris menija, če se iz menija File premaknem na Edit. Prav tako je še vidno utripanje, kadar je na formi izrisanih več geometrijskih oblik.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Java, pozicija kurzorja znotraj JPanelOddelek: Programiranje | 763 (641) | marjan_h |
» | java, Swing in vmesnik ActionListenerOddelek: Programiranje | 691 (628) | marjan_h |
» | [Java] Zasnova shoot em up igreOddelek: Programiranje | 1198 (877) | PecenkA |
» | Vprašanje iz JaveOddelek: Programiranje | 1154 (894) | illion |
» | [Java]VprašanjaOddelek: Programiranje | 2112 (1580) | Bela01 |