import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Joonis2 extends JPanel implements ActionListener, MouseMotionListener, MouseListener{ Takisti t1=new Takisti(100, 2); VooluvorguSeade pirn=new VooluvorguSeade("Lambipirn", 60); JadaYhendus ahel=new JadaYhendus(); TextField tf=new TextField(); TakistusKomponent hiirealune=null; TakistusKomponent valitud=null; public Joonis2(){ setLayout(new BorderLayout()); add(tf, BorderLayout.SOUTH); ahel.lisaKomponent(t1); ahel.lisaKomponent(pirn); t1.paiguta(200, 100); pirn.paiguta(200, 150); ahel.paiguta(100, 50); ahel.pingesta(110); tf.addActionListener(this); addMouseMotionListener(this); addMouseListener(this); } public void mouseMoved(MouseEvent e){ hiirealune=ahel.leiaAlamelementKohal(e.getX(), e.getY()); repaint(); } public void mouseDragged(MouseEvent e){ if(valitud!=null){ valitud.paiguta(e.getX(), e.getY()); repaint(); } } public void mousePressed(MouseEvent e){ valitud=ahel.leiaAlamelementKohal(e.getX(), e.getY()); } public void mouseReleased(MouseEvent e){ if(valitud!=null){ valitud.paiguta(e.getX(), e.getY()); repaint(); } } public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void actionPerformed(ActionEvent e){ ahel.pingesta(Integer.parseInt(tf.getText())); repaint(); } public void paintComponent(Graphics g){ //Joonistamisel näidake välja ka tegelik võimsus ning suurim lubatav //võimsus. Juhul kui tegelik võimsus ületab lubatavat, joonista //komponent punaselt super.paintComponent(g); t1.joonista(g); pirn.joonista(g); ahel.joonista(g); if(hiirealune!=null){ hiirealune.joonistaAndmetega(g); } } public static void main(String[] arg){ JFrame f=new JFrame("Elektriskeem"); f.getContentPane().add(new Joonis2()); f.setSize(400, 300); f.setVisible(true); } }