[ MarkoBalkan @ 13.06.2007. 19:28 ] @
ovo je kod koji mi crta liniju, ali na frame!

public void paint(Graphics a){
super.paint( a );
a.drawLine(100,100,500,100);

}


ja bi sad htio da mi se ovo nacrta u Canvasu na klik miša.

ovo je događaj miša!

private void A(java.awt.event.MouseEvent evt) {



}
[ bgd2500 @ 14.06.2007. 21:27 ] @
Evo ti primer za kanvas.
Instanciraj MojKanvas, zalepi ga ne neki Panel ili Frame a onda na klik misa ili vec koji hoces dogadjaj pozovi draw() ili erase() nad instancom.
Code:

import java.awt.*;

public class MojKanvas extends Canvas {

   private boolean draw = false;

   public MojKanvas() {
   }

   public void update (Graphics g) {
      paint(g);
   }

   public void paint(Graphics g){
      g.setColor(Color.white);
      g.fillRect(0, 0, getSize().width, getSize().height);
      if (draw) {
         g.setColor(Color.red);
         g.drawLine(100,100,500,100);
      }
   }

   public void draw() {
      draw = true;
      repaint();
   }

   public void erase() {
      draw = false;
      repaint();
   }
}

[ MarkoBalkan @ 15.06.2007. 10:02 ] @
Puno hvala, isprobat ću.
[ MarkoBalkan @ 15.06.2007. 16:36 ] @
dodao sam ja novu klasu MojKanvas, Canvas na formi preimenoval u MojKanvas.
u klasu Jframe importo MojKanvas.

ali mi sad nema draw-a na popisu u klasi JFrame?

kako da pozovem?

il se to malo drukčije radi nego u .net-u?



[ MarkoBalkan @ 15.06.2007. 17:26 ] @
MojKanvas c=new MojKanvas();


private void A(java.awt.event.MouseEvent evt) { // dogašaj na klik miša!



c.draw();


}

ne znam dali je dobro?
ništa se ne dešava!
[ bgd2500 @ 17.06.2007. 02:59 ] @
Da bi neka komponenta reagovala na osnovne operacije sa misem moras da jos dodas mouse listener.

addMouseListener(komponenta)

dalje ona mora da implementira MouseListener interfejs i sledece metode

void mouseClicked(MouseEvent e)
void mouseEntered(MouseEvent e)
void mouseExited(MouseEvent e)
void mousePressed(MouseEvent e)
void mouseReleased(MouseEvent e)

Dakle metodi ne mogu da se zovu prizvoljno, tipa A().
Moja preporuka ti je da uzmes neku stariju knjigu i pogledas awt i rad sa eventima.
[ MarkoBalkan @ 17.06.2007. 08:33 ] @
kad sam radio neku vježbu tipa zbrajanje dva broja.
brojevi se unesu u text polje, a rezultat se ispiše u label, ovo je radilo bez ovih dodatnih stvari.
[ bgd2500 @ 17.06.2007. 18:49 ] @
Za TextField se obicno koristi ActionListener.

addActionListener(komponenta)

i implementiras ActionListener tj metodu.

void actionPerformed(ActionEvent e)

[ MarkoBalkan @ 25.06.2007. 18:32 ] @
rijesio sam i to sa jednom linijom koda bez puno filozofiranja.