Announcement

Collapse
No announcement yet.

Eigene Grafik-komponente (JPanel) überdeckt JMenu von JFrame

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

  • Eigene Grafik-komponente (JPanel) überdeckt JMenu von JFrame

    Hallo,

    ich habe folgendes riesen problem: ich habe die paint()-methode eines JPanels überschrieben um eine grafik anzuzeigen. wenn ich nun diese komponente in ein JFrame einbinde und das Menu des Frames anklicke erscheint das menu hinter meinem Panel. Was ist falsch? Muss ich eine andere Methode überschreiben? Ich bin am verzweifeln.

    Danke für die hilfe
    Gruss Rico

  • #2
    Hallo,

    mit welchen Methoden hast du das Menü und das Panel eingebunden?

    Thoma

    Comment


    • #3
      das menu: im JFrame konstruktor: this.setJMenuBar(menuBar)<br>
      das JPanel (hab's auch mit Canvas probiert), ebenfalls im JFrame-Konstruktor: this.getContentPane().add( myJPanel, BorderLayout.CENTER)

      Comment


      • #4
        Das passt so. Canvas solltest du nicht nehmen. AWT und Swing sollten
        nicht gemischt werden.

        Kannst du mal die paint Methode posten? Vielleicht findet sich da was...

        Thoma

        Comment


        • #5
          in der paint-methode lasse ich nur linien und fillPolygon's zeichnen mit: g.drawXXX(); Beim klick auf das menu scheint der frame die paint-methode nochmal aufzurufen, die dann den inhalt des JPanels darüber zeichnet. Muss man das evtl. abfangen oder die zeichenbefehle in einer anderen methode deklarieren?<br>
          Ric

          Comment


          • #6
            Na ja, wenn du die paint Methode überschreibst, dann hast du
            praktisch die komplette Verantwortung für die Darstellung.
            Man kann auch paintComponent überschreiben.

            Hast du am Anfang der Methode auch super.paint aufgerufen

            Comment


            • #7
              ich habe es jetzt hinbekommen, tausend dank<br>
              Gruss Ric

              Comment

              Working...
              X