如何使文本标题远离鼠标

时间:2017-06-05 06:13:32

标签: java windows swing netbeans swingx

当鼠标指向java中文本的标题时,如何使文本标题偏离鼠标。

1 个答案:

答案 0 :(得分:0)

您需要使用mouseExitmouseEntered actionListener来执行此操作:

简单示例:

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();
    }
}