import javax.swing.*;

  import java.awt.*;
  import java.awt.event.*;
  public class DrawRect extends JPanel {
  	Color c;
  	int anzahl_klicks =0;
      int x, y, w, h;
      public static void main(String [] args) { 
          JFrame f = new JFrame("Draw Box Mouse 2");
          f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
          f.setContentPane(new DrawRect());
          f.setSize(300, 300); f.setVisible(true);
      }
      DrawRect() { 
          x = y = w = h = 0; // 
          MyMouseListener listener = new MyMouseListener(); 
          addMouseListener(listener); 
          addMouseMotionListener(listener);    
      }
      public void setStartPoint(int x, int y) {
          this.x = x; this.y = y;
      }
      public void setEndPoint(int x, int y) { 
          w = Math.abs(this.x - x); 
          h = Math.abs(this.y - y); 
      }
      class MyMouseListener extends MouseAdapter {
          public void mousePressed(MouseEvent e) {
              setStartPoint(e.getX(), e.getY());repaint();
              
          } 
          public void mouseDragged(MouseEvent e) { 
              setEndPoint(e.getX(), e.getY()); repaint(); 
          } 
          public void mouseReleased(MouseEvent e) {
              setEndPoint(e.getX(), e.getY()); repaint(); 
          }
          
          public void mouseClicked(MouseEvent e) {
          	anzahl_klicks++;
          }
          
          public void mouseMoved(MouseEvent e) {
          	
          	if(anzahl_klicks%2== 0) {
          	 c= Color.blue; 
          	 setStartPoint(e.getX(), e.getY());repaint();
          	}
          	else {
          		c = Color.red;
          	}
            }   
          
          
      }
      public void paintComponent(Graphics g) {
          super.paintComponent(g);
         
          // g.setColor(Color.RED);
          g.setColor(c);
          g.fillRect(x, y, 100, 30);
      }
  }
  • beispiel.txt
  • Zuletzt geändert: 2023/02/01 16:42
  • von khirling