2017-06-05 9 views

Répondre

0

Vous devez utiliser mouseExit et mouseEnteredactionListener « s pour ce faire:

Exemple simple:

import java.awt.Color; 
import java.awt.event.MouseAdapter; 
import java.awt.event.MouseEvent; 

import javax.swing.JFrame; 
import javax.swing.JLabel; 

public class Shift { 
    JFrame frame; 
    JLabel label; 
    Shift(){ 
     initComp(); 
    } 

    public void initComp(){ 
     frame = new JFrame("Example"); 
     frame.setSize(300,200); 

     label = new JLabel("Hello"); 
     label.setSize(10, 10); 
     label.setBackground(Color.RED); 

     label.addMouseListener(new MouseAdapter() { 
      @Override 
      public void mouseEntered(MouseEvent evt) { 
       labelToMiddle(evt); 
      } 

      @Override 
      public void mouseExited(MouseEvent evt) { 
       labelToEdge(evt); 
      } 
     }); 

     frame.add(label); 
     frame.setVisible(true); 
    } 

    private void labelToEdge(MouseEvent evt) { 
     label.setForeground(Color.RED); 
     label.setLocation(0,0); 
     label.repaint(); 
    } 

    private void labelToMiddle(MouseEvent evt) { 
     label.setForeground(Color.GREEN); 
     label.setLocation(100,0); 
     label.repaint(); 
    } 

    public static void main(String[] args) { 
     Shift s = new Shift(); 
    } 
}