Announcement

Collapse
No announcement yet.

Cursor Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cursor Problem

    Hi Pros,

    ich habe eine Klasse von JButton abgeleitet, in der ich wenn ich über einen bestimmten Bereich mit der Maus fahre, einen anderen Cursor anzeigen möchte.
    Ist der Mauszeiger am oberen Rand des Buttons oder am unteren Rand des Buttons, so soll jeweils der Resize-Cursor-N oder Resize-Cursor-S angezeigt werden, andernfalls der Default-Cursor.
    Hab mal von außen probiert, im Konstruktor und in MouseMoveEvent setCursor() aufzurufen.
    Leider wird immer der Default-Cursor angezeigt!
    Hat jemand eine Idee?

    Versuche:
    b.setCursor(Cursor.getPredefinedCursor(Cursor.N_RE SIZE_CURSOR));

    this.setCursor(new Cursor(Cursor.N_RESIZE_CURSOR));

    Gruß

    maddilli16

  • #2
    Irgendwie verstehe ich das nicht:

    ich habe eine Klasse von JButton abgeleitet -> wenn es nun erforderlich ist, gut

    in der ich wenn ich über einen bestimmten Bereich mit der Maus fahre, einen anderen Cursor anzeigen möchte. ->????

    Das setzen des Cursors mit ,

    b.setCursor

    wobei wir jetzt hier raten, dass b der Button ist, betrifft die Anzeige des Cursors, wenn er über dem Button ist.

    Wer könnte this sein?

    Wenn du also woanders den Cursor ändern willst, dann in der entsprechenden Komponente
    Zuletzt editiert von Christian Marquardt; 05.10.2008, 13:40.
    Christian

    Comment


    • #3
      Danke für die schnelle Antwort!!!

      Ja, die Ableitung ist erforderlich, da dieser JButton eine Wolkenschicht darstellen soll, die wiederum besondere Eigenschaften hat.

      JButton b = new JButton();
      b.setCursor(Cursor.getPredefinedCursor(Cursor.N_RE SIZE_CURSOR));
      Dieser Versuch den Cursor zu setzen wurde im JPanel vor dem add(b) aufgerufen.

      Der Versuch mit this wurde im Konstruktor der abgeleiteten Klasse und in der MouseMove()-Methode aufgerufen.

      Nun sollte sich laut diversen Dokus und Beispielen der Cursor ändern, wenn ich über den Button streife! Leider ist immer nur der Default-Cursor zu sehen.

      Comment


      • #4
        Kann ich nicht nachvollziehen....funktioniert hier einwandfrei... auch mit einer abgeleiteten jbutton-Klasse

        Setzen des Cursors nach dem Init der Komponente:

        mybutton1.setCursor(new Cursor(Cursor.N_RESIZE_CURSOR));

        Abgeleitete Klasse:

        import javax.swing.JButton;
        /**
        *
        * @author Christian
        */
        public class Mybutton extends JButton
        {
        public Mybutton()
        {
        super();
        }
        }
        Christian

        Comment


        • #5
          Muss man den Cursor an die Unterkomponenten weitergeben?

          Wenn ich den Cursor an oberster Stelle (JFrame) setze, dann erscheint der Resize-Cursor.

          Meine FrameStruktur:
          JFrame --> JPanel (als ContentPane) --> 2 x JPanel --> MyButton
          --> JPanel (als GlassPane)

          Oder könnte es auch an der GlassPane liegen, da ich dort auch bestimmte Sachen zeichne?

          Comment

          Working...
          X