set a hand cursor for JLabel
Hello,
I am trying to change the cursor when I go with the mouse over a JLabel, but no results. Please help. I would like to get a Cursor.HAND_CURSOR.
This JLabel is on the JPanel component. The JLabel component is inside a JSplitPane component. How can I solve this problem ?
Thanks.
Try using a MouseListener:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LabelExample extends MouseAdapter implements Runnable {
public void run() {
JLabel label1 = new JLabel("label with cursor");
label1.addMouseListener(this);
label1.setForeground(Color.RED);
JLabel label2 = new JLabel("label without cursor");
JPanel p = new JPanel();
p.add(label1);
p.add(label2);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setContentPane(p);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
public void mouseEntered(MouseEvent e) {
e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
}
public static void main(String[] args) {
EventQueue.invokeLater(new LabelExample());
}
}
I am afraid it is a bit complicated, but I will try. I try to do a system for some purposes. And in the JPanel for entering some data, I would like to make this thing in order to show the user that when doubleclicking on a JLabel, a new window will be opened. Somthing like this. But I will try to put some code:
import javax.swing.JPanel;
import java.util.Vector;
import javax.swing.JOptionPane;
import java.sql.SQLException;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class BooksSupport extends SFCJPanel {
private SFCTextLabel dateLabel, hourLabel, stateLabel, cliLabel, cliNameLabel,
empLabel, empNameLabel, activityLabel;
private SFCDateField dateField;
private SFCTimeField timeField;
private SFCJComboBox stateComboBox;
private SFCComboList stateList;
private SFCJComboBox activityComboBox;
private SFCComboList activityList;
private Employee employee;
private Client client;
private String sql;
public BooksSupport() {
setBorder(new SFCTitledBorder("INTRETINERE PROGRAMARI"));
clearActivePanels();
addActivePanel();
addElements();
String [] enabledButtons = {"INSERT", "FIND"};
SFCToolBar.setEnabledButtons(enabledButtons, true, true);
}
private void addElements() {
SFCEgoista.ACTIVE_COMPONENTS = new Vector(10, 1);
dateLabel = new SFCTextLabel("", "Data programarii:");
dateLabel.setBounds(20, 30, 150, 20);
dateField = new SFCDateField(10, "dateField", true);
dateField.setBounds(30, 55, dateField.getWidth(), dateField.getHeight());
add(dateLabel);
add(dateField);
SFCEgoista.ACTIVE_COMPONENTS.add(dateField);
empLabel = new SFCTextLabel("ANGAJAT", "Angajat:");
empLabel.setBounds(220, 85, 100, 20);
empLabel.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
System.out.println(e.getComponent().getClass().toString());
e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
}
});
......................