Newsgroup: it.comp.java
Titolo: Puntatori del mouse

vorrei sapere come si fa a far cambiare l'aspetto del puntatore del mouse, 
tipo clessidra, manina...
Grazie
Matb

Esempio:
JFrame frm;
frm.setCursor(new Cursor(Cursor.HAND_CURSOR)));
La classe Cursor la trovi in java.awt
ciao, Matteo

 ha scritto nel messaggio
news:41ql8.36514$1S3.1...@twister1.libero.it...


 wrote in message
news:a76rmg$j44dk$1...@ID-55193.news.dfncis.de...
| Non è sufficiente, bisogna settare il cursore anche per gli elementi
| contenuti nel Frame.
| Un metodo potrebbe essere il seguente, chiamato passando il Frame come
| parametro.
|
|
| static public void setCursor(Component aComponent)
|  // Setta il cursore di un componente e, ricorsivamente, di tutti quelli
| contenuti.
|  {
|         Cursor aCursor = new Cursor(Cursor.WAIT_CURSOR);
|         aComponent.setCursor(aCursor);
|         if (aComponent instanceof Container)
|         {
|             Component[] vKids = ((Container)aComponent).getComponents();
|             for (int i = 0; i < vKids.length; i++)
|             {
|                 setCursor(aCursor, vKids[i]);
|              }
|         }
|         return;
|    }
|
| --
o anche qualcosa del genere per poter magari ripristinare il vecchio cursore
:
--settaggio--
private void setCursor(Component comp, Cursor cursor)
 {
            if (comp == null) return;
     cursorStack = new Stack();
     setAndStoreCursors(comp, cursor);
            cursorStack = null;
 }
private void setAndStoreCursors(Component comp, Cursor cursor) {
     boolean addedToStack = false;
     Cursor compCursor = comp.getCursor();
     if (cursorStack.empty()) {
  cursorStack.push(compCursor);
  cursors.put (comp, compCursor);
  addedToStack = true;
     } else if (compCursor != (Cursor)cursorStack.peek()) {
  cursorStack.push(compCursor);
  cursors.put (comp, compCursor);
  addedToStack = true;
     }
     if (comp instanceof Container) {
  Container cont = (Container) comp;
  int ncomponents = cont.getComponentCount();
  Component component[] = cont.getComponents();
  for (int i = 0 ; i < ncomponents ; i++) {
      Component comp2 = component[i];
      if (comp != null) {
   setAndStoreCursors(comp2, cursor);
      }
  }
     }
     comp.setCursor(cursor);
     if (addedToStack) {
  cursorStack.pop();
     }
 }
--ripristino--
private void resetAndRestoreCursors(Component comp)
{
    if (comp == null)
    return;
    cursorStack = new Stack();
    restoreCursors(comp);
    cursorStack = null;
}
/*
 * Actually restore the cursor for a component and its children
 */
 private void restoreCursors(Component comp)
 {
      boolean addedToStack = false;
      Cursor oldCursor = (Cursor) cursors.get(comp);
      if (oldCursor != null)
       {
          cursorStack.push(oldCursor);
          comp.setCursor(oldCursor);
          addedToStack = true;
       } else if (!cursorStack.empty())
        {
          comp.setCursor((Cursor)cursorStack.peek());
        }
       if (comp instanceof Container)
        {
          Container cont = (Container) comp;
          int ncomponents = cont.getComponentCount();
          Component component[] = cont.getComponents();
          for (int i = 0 ; i < ncomponents ; i++)
           {
              Component comp2 = component[i];
              if (comp != null) {
                  restoreCursors(comp2);
              }
          }
       }
       if (addedToStack)
        {
          cursorStack.pop();
        }
  }
Ciao Icaro
--
Icaro
               \\ \                            __
                  \ \  \                     //      \
                     \ \   \               //      °  \
           \\ \    __\  \     \ ___///         /\/
             \\\  /     \    \   /                /
              \\/         \  \  /                /
                \_        _____- /\ \  \ \
                  / /  / /               / /  / /
                / /  / /                / /  / /
                \ \  \ \
(thanks to Gaemon)

Perfetto, grazie a tutti!
Matb