aspose file tools*
The moose likes Swing / AWT / SWT and the fly likes Different Cursors Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Different Cursors" Watch "Different Cursors" New topic
Author

Different Cursors

Gerhard Abrahams
Greenhorn

Joined: Dec 04, 2003
Posts: 15
I am trying to change the cursor according to what is selected
I use a JComboBox for the Arary from where you can select.
(names of cursor)
The JComboBox to get the file (the picture)
and after the picture is diplayed I want to have the corresponding mouse Cursor.
How can this be achieved
moboter@gcabrahams.de
Dushy Inguva
Ranch Hand

Joined: Jun 24, 2003
Posts: 264
http://www.devdaily.com/java/edu/pj/pj_hourglass_cursor/
Hope that helps
Dushy


SJCP, SCBCD, SJCD, SCDJWS, SCEA (Part I)
Gerhard Abrahams
Greenhorn

Joined: Dec 04, 2003
Posts: 15
That's what I tried before with no luck there must be something else to set or get the cursor. And I still haven't found out what.
Would it be helpful if you had the code ?
I want the cursor to change when I select a different value from an array thats where I registered the action listener but when I try do set the cursor with the suggested method I get some int error
Wayne L Johnson
Ranch Hand

Joined: Sep 03, 2003
Posts: 399
Maybe a relevant portion of the code along with the description of the error would help. I assume it's a runtime error and not a compile error.
Gerhard Abrahams
Greenhorn

Joined: Dec 04, 2003
Posts: 15
It is a compile error
setCursor(java.awt.Cursor) in java.awt.Component cannot be applied to (int)
setCursor(Cursor.HAND_CURSOR);
Here is the code
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*
* ComboBoxDemo.java is a 1.4 application that uses these additional files:
* images/Bird.gif
* images/Cat.gif
* images/Dog.gif
* images/Rabbit.gif
* images/Pig.gif
*/
public class ComboBoxDemo extends JPanel
implements ActionListener {
JLabel picture;
public ComboBoxDemo() {
super(new BorderLayout());
String[] petStrings = { "Zeiger1", "Zeiger2", "Zeiger3", "Rabbit", "Pig" };
//Create the combo box, select the item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);
petList.setForeground(Color.orange);

//Set up the picture.
picture = new JLabel();
picture.setFont(picture.getFont().deriveFont(Font.ITALIC));
picture.setHorizontalAlignment(JLabel.CENTER);
updateLabel(petStrings[petList.getSelectedIndex()]);


picture.setBorder(BorderFactory.createEmptyBorder(10,0,0,0));
//The preferred size is hard-coded to be the width of the
//widest image and the height of the tallest image + the border.
//A real program would compute this.
picture.setPreferredSize(new Dimension(177, 122+10));
//Lay out the demo.
add(petList, BorderLayout.PAGE_START);
add(picture, BorderLayout.PAGE_END);
setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
}
/** Listens to the combo box. */
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox)e.getSource();
String petName = (String)cb.getSelectedItem();

updateLabel(petName);

}
protected void updateLabel(String name)
{
ImageIcon icon = createImageIcon("images/" + name + ".gif");
picture.setIcon(icon);
picture.setToolTipText("A drawing of a " + name.toLowerCase());
if (icon != null) {
picture.setText(null);

} else {
picture.setText("Image not found");
}

if (name.equals("Zeiger1"))
{
setCursor(Cursor.HAND_CURSOR);
}

else
{
setCursor(Cursor.DEFAULT_CURSOR);
}
}
/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = ComboBoxDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Make sure we have nice window decorations.
JFrame.setDefaultLookAndFeelDecorated(true);
//Create and set up the window.
JFrame frame = new JFrame("ComboBoxDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
JComponent newContentPane = new ComboBoxDemo();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Wayne L Johnson
Ranch Hand

Joined: Sep 03, 2003
Posts: 399
Almost there .. try:
setCursor(new Cursor(Cursor.HAND_CURSOR));
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Different Cursors
 
Similar Threads
JcomboBox
swing(JComboBox)urgent
can I declare an duse a cursor inside a function ?
JComboBox on Background Image
JComboBox item is cropped off side of drop down