• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

problem ze sluchaczem w aplecie

Object Storage Arubacloud
0 głosów
94 wizyt
pytanie zadane 11 maja 2016 w Java przez pb_kejkej Nowicjusz (180 p.)

Czesc, mam pewien problem w dzialaniu programu. Kombinuje juz 3 dni i nie potrafie wymyslic jak wywolac pewna akcje za pomoca sluchacza. Problem polega na tym, ze chce by program po wybraniu odpowiedniego koloru i figury, narysowal ja w danym kolorze. Pomoze ktos mnie nakierowac badz jak zmodyfikowac kod? Z gory dziekuje!

import java.awt.Button;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.applet.Applet;
import java.awt.Color;


public class az extends Applet implements MouseListener, MouseMotionListener, KeyListener, ActionListener {
    int mouseX1=0;
    int mouseY1=0;
    int mouseX2=0;
    int mouseY2=0;
    int prostokat=0;
    Button b= new Button("linia");
    Button b1= new Button("prostokat");
    Button b2= new Button("cos okraglego");
    Button b3= new Button();
    Button b4= new Button();
    Button b5= new Button();
    
    public void init() {
        addMouseListener(this);
        addMouseMotionListener(this);
        addKeyListener(this);
        
        b.setBounds(10,100,80, 30);
        b.addActionListener((ActionListener) new b());
        add(b);
        setLayout(null);
        b1.setBounds(10,130,80, 30);
        b1.addActionListener((ActionListener) new b1());
        add(b1);
        setLayout(null);
        b2.setBounds(10,160,80, 30);
        b2.addActionListener((ActionListener) new b2());
        add(b2);
        setLayout(null);
        b3.setBounds(10,70,80, 30);
        b3.addActionListener((ActionListener) new b3());
        b3.setBackground(Color.DARK_GRAY);
        add(b3);
        //setBackground(Color.Blue);
        setLayout(null);
        b4.setBounds(10,40,80, 30);
        b4.addActionListener((ActionListener) new b4());
        b4.setBackground(Color.red);
        add(b4);
        //setBackground(Color.RED);
        setLayout(null);
        b5.setBounds(10,10,80, 30);
        b5.addActionListener((ActionListener) new b5());
        b5.setBackground(Color.GREEN);
        add(b5);
        //setBackground(Color.Green);
        setLayout(null);
      
    }

    // TODO overwrite start(), stop() and destroy() methods

    @Override
    public void mouseClicked(MouseEvent me) {
       throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 
        
    }

    @Override
    public void mousePressed(MouseEvent me) {
       mouseX1=me.getX();
        mouseY1=me.getY(); 
         repaint();
    }

    @Override
    public void mouseReleased(MouseEvent me) {
         mouseX2=me.getX();
        mouseY2=me.getY();
        repaint();
         
     }

    @Override
    public void mouseEntered(MouseEvent me) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void mouseExited(MouseEvent me) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void mouseDragged(MouseEvent me) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void mouseMoved(MouseEvent me) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void keyTyped(KeyEvent ke) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void keyPressed(KeyEvent ke) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void keyReleased(KeyEvent ke) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void actionPerformed(ActionEvent me) {
        if(prostokat==0)
            prostokat=1;
        else
            prostokat=0;
    }
    public void paint(Graphics gr)
        {
           
            if (prostokat==0)
            gr.drawLine(mouseX1, mouseY1, mouseX2, mouseY2);
            else 	
                if(mouseX2-mouseX1>0)
                    gr.drawRect(mouseX1, mouseY1, mouseX2-mouseX1,mouseY2- mouseY1); 
                else
                    gr.drawRect(mouseX2, mouseY2, mouseX1-mouseX2,mouseY1- mouseY2); 
            
        }

             

         class b implements ActionListener
         {
         public void actionPerformed(ActionEvent e)
	    {   Graphics rysuj = getGraphics();
                    if (prostokat==0)
            rysuj.drawLine(mouseX1, mouseY1, mouseX2, mouseY2);
                  
         }}
         
          class b1 implements ActionListener
         {
         public void actionPerformed(ActionEvent e){
             Graphics rysuj = getGraphics();
                if(mouseX2-mouseX1>0)
                   rysuj.drawRect(mouseX1, mouseY1, mouseX2-mouseX1,mouseY2- mouseY1); 
                else
                    rysuj.drawRect(mouseX2, mouseY2, mouseX1-mouseX2,mouseY1- mouseY2);
         }}          
         class b2 implements ActionListener
        {
         public void actionPerformed(ActionEvent e)
	    {   
                  
        }}
           
         class b3 implements ActionListener
         {
         public void actionPerformed(ActionEvent e)
	    {   
                               
            }
         }
         class b4 implements ActionListener
          {
         public void actionPerformed(ActionEvent e)
	    {  
                
         }
         }
         
        class b5 implements ActionListener
         {
         public void actionPerformed(ActionEvent e)
	    {   
                 
    }

        }
         }

 

1 odpowiedź

0 głosów
odpowiedź 11 maja 2016 przez bumpMind Gaduła (4,260 p.)
Chyba najlepszą ideą była by zmienna w klasie az typu Color np. Color kolorRysowania; początkowo ustawiona na BLACK, następnie klikając na Buttony mające zmienić kolor rysowania powinny zmieniać kolorRysowania na im odpowiadający. Ostatnim krokiem wybierając rysowanie prostokątu czy innej figury wystarczy ustawić kolor zmiennej typu Graphics w metodzie paint na kolorRysowania.

Podobne pytania

0 głosów
0 odpowiedzi 91 wizyt
pytanie zadane 10 maja 2016 w Java przez pb_kejkej Nowicjusz (180 p.)
0 głosów
2 odpowiedzi 334 wizyt
0 głosów
1 odpowiedź 481 wizyt
pytanie zadane 23 kwietnia 2019 w Java przez gorgonkowa Obywatel (1,810 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...