import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Indikaator extends IndikaatoriKomponent implements MouseListener{ IndikaatoriSuunad suund; public Indikaator(double protsent){ this(protsent, IndikaatoriSuunad.ALLA); } public Indikaator(double protsent, IndikaatoriSuunad suund){ super(protsent); this.suund=suund; addMouseListener(this); } public void mousePressed(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseClicked(MouseEvent e){ if(suund==IndikaatoriSuunad.ALLA){ this.muudaProtsent(100*e.getY()/getHeight()); } if(suund==IndikaatoriSuunad.PAREMALE){ this.muudaProtsent(100*e.getX()/getWidth()); } if(suund==IndikaatoriSuunad.YLES){ this.muudaProtsent(100*(getHeight()-e.getY())/getHeight()); } if(suund==IndikaatoriSuunad.VASAKULE){ this.muudaProtsent(100*(getWidth()-e.getX())/getWidth()); } } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void paintComponent(Graphics g){ super.paintComponent(g); if(suund==IndikaatoriSuunad.ALLA){ g.fillRect(0, 0, getWidth(), (int)(protsent/100*getHeight())); } if(suund==IndikaatoriSuunad.PAREMALE){ g.fillRect(0, 0, (int)(protsent/100*getWidth()), getHeight()); } if(suund==IndikaatoriSuunad.YLES){ g.fillRect(0, getHeight()-(int)(protsent/100*getHeight()), getWidth(), (int)(protsent/100*getHeight())); } if(suund==IndikaatoriSuunad.VASAKULE){ g.fillRect(getWidth()-(int)(protsent/100*getWidth()), 0, (int)(protsent/100*getWidth()), getHeight()); } } }