1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

repaint

  • bimbo
  • 12. November 2002 um 00:52
  • Unerledigt
  • bimbo
    15
    bimbo
    Mitglied
    Reaktionen
    15
    Punkte
    2.320
    Beiträge
    390
    • 12. November 2002 um 00:52
    • #1

    ich hab mir gerade selber ein objekt gebastelt dass ala 3ds max dialogboxen funktioniert.
    eg.: ich wollte bestimmte einstellungsparameter ein/ausblenden können. realisiert hab ich da mit einem objekt MAXPANEL extends JPanel, auf das ein button-platziert wird, und darunter liegt wieder ein panel, das public ist und auf das dann buttons, labels, etc, getackert werden können.
    wenn man auf den button click, wird das innere panel auf höhe 0 reduziert, und das äußere auf die höhe des buttons geschrumpft, voiala, man kann das ding ein/ausblenden.

    das problem ist allerdings, wenn ich so ein MaxPanel minimiere, dann rücken objekte die nach dem Maxpanel stehen nicht automatisch nach, wenn man das fenster resized, dann tritt der gewünschte effekt ein.

    für alle die sich nach dieser dümmlich erklärung nicht auskennen, gibts hier ein sample. und den Sourcecode

    LVA Erfahrungsberichte: http://vowi.fsinf.at/

  • bla
    4
    bla
    Mitglied
    Punkte
    105
    Beiträge
    20
    • 12. November 2002 um 03:17
    • #2

    hab mir das ding mal angesehen und ne recht einfache Lösung gefunden.
    Also ich übergeb jetzt beim Konstruktor vom Maxpanel die root pane, also das Mainframe. die referenz wir dann in der variable root gespeichert.

    Dann kann man bei actionPerformed folgendes machen:

    PHP
    public void actionPerformed(ActionEvent e)
      {
        if (e.getSource()==Header)
        {
          if (isVisible == true)
          {
           this.setSize(new Dimension(panelWidth,minimizedHeight));
           this.setPreferredSize(new Dimension(panelWidth,minimizedHeight));
           repaint();
           root.validate();
           isVisible = false;
          }
          else
          {
           this.setSize(new Dimension(panelWidth,panelHeight));
           this.setPreferredSize(new Dimension(panelWidth,panelHeight));
           repaint();
           root.validate();
           isVisible = true;
          }
        }
    
    
      }
    Alles anzeigen


    und siehe da es klappt :)

  • bimbo
    15
    bimbo
    Mitglied
    Reaktionen
    15
    Punkte
    2.320
    Beiträge
    390
    • 12. November 2002 um 14:08
    • #3

    thänx bla, ich hab nur net gwusst, mit welcher funktion man das fenster neuzeichnen kann!

    danke, endlich funktz

    LVA Erfahrungsberichte: http://vowi.fsinf.at/

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung