Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Crtanje linije ili neke grafike i prikazivanje u canvasu

  • 8 odgovora
  • 4.020 pregleda

Najnovija ↓

Crtanje linije ili neke grafike i prikazivanje u canvasu 13.06.2007. u 20:28 · pre 236 meseci #1
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) {



}
Re: Crtanje linije ili neke grafike i prikazivanje u canvasu 14.06.2007. u 22:27 · pre 236 meseci #2
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();
   }
}

Re: Crtanje linije ili neke grafike i prikazivanje u canvasu 15.06.2007. u 17:36 · pre 236 meseci #4
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?



Re: Crtanje linije ili neke grafike i prikazivanje u canvasu 17.06.2007. u 03:59 · pre 236 meseci #6
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme