Wątek przeniesiony 2014-04-12 19:56 z Java przez bogdans.

Losowy kolor do rysowania odcinków w aplecie

0

Cześć wszystkim. Miałam napisać program, który działa prawie jak powinien. Miał rysować 8 odcinków a potem wyświetlać tekst z imieniem i nazwiskiem - to i to po kliknieciu mysza. Te dwie rzeczy działają, nie wyszło mi tylko losowe wybieranie koloru. Odcinki przy każdym kliknięciu myszą miały być rysowane innym kolorem. Co robię źle?

package JavaLibrary3;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;
import javax.swing.JApplet;


public class Grafika extends JApplet implements MouseListener {

int x, y;
boolean rysuj1 = false;
boolean rysuj2 = false;
 Random r = new Random();
Color kolor = Color.red;


    
    public void init() {
        
        setBackground(Color.orange);
        setSize(500,400);
        
        addMouseListener(this);
    
    }
    
    public void paint (Graphics g){
    g.clearRect(0, 0, getWidth(), getHeight());
    
   
    if (rysuj1){
      
 kolor = new Color(r.nextInt(256), r.nextInt(256), r.nextInt(256));
    g.drawLine(x, y, 0, 0);
     g.drawLine(x, y, getWidth()/2, 0);
    g.drawLine(x, y, getWidth(), 0);
     g.drawLine(x, y, getWidth(), getHeight()/2);
     g.drawLine(x, y, getWidth(), getHeight());
        g.drawLine(x, y, getWidth()/2, getHeight());
     g.drawLine(x, y, 0, getHeight());
     g.drawLine(x, y, 0, getHeight()/2);
    }
    rysuj1= false;
    if (rysuj2){
   g.clearRect(0, 0, getWidth(), getHeight());
        String nazwisko = "Imię i nazwisko";
        g.drawString(nazwisko, getWidth()/2, getHeight()/2);
    }
    rysuj2= false;
    
    
  
   
    
    }

    
    @Override
    public void mouseClicked(MouseEvent e) {
       
    }

    @Override
    public void mousePressed(MouseEvent e) {
        if(e.getButton() == MouseEvent.BUTTON1){
         
     x=e.getX();
     y=e.getY();
     rysuj1 = true;
     Color kolor = new Color(r.nextInt(256), r.nextInt(256), r.nextInt(256));
     repaint();
     
    
        }
         if(e.getButton() == MouseEvent.BUTTON3){
             
         x=e.getX();
     y=e.getY();
     rysuj2 = true;
     repaint();
         }
      
     
    }

    @Override
    public void mouseReleased(MouseEvent e) {
       
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        
    }

    @Override
    public void mouseExited(MouseEvent e) {
        
    }
}
1

Dopisz w metodzie paint

g.setColor(kolor);

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