Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ich habe ein kleines Java- Problem. Und zwar möchte habe ich ein MDI Fenster also mit einem JDesktopPane() erstellen. In diesem werden dann ja mehrere verschiebbare Fenster angezeigt. Dazu möchte ich nun eine Toolbar einfügen. Das funktioniert allerdings nicht so wie es soll, und irgendwie fehlt mir auch die richtige Idee. Kann mir vielleicht jemand einen bischen Code schreiben, damit ich eine Eingebung bekomme?

mfg maddin

Geschrieben

sicher


class Fenster extends JFrame {

// ...

   public Fenster() {

      // ...

      JDesktopPane dp = new JDesktopPane();

      dp.setBackground(Color.GRAY);

      setContentPane();


      JMenuBar mnubar = new JMenuBar();

      // ...

      setJMenuBar(mnubar);


      JButton bt = new JButton("Test");

      bt.setSize(400, 20);

      add(bt, JLayeredPane.FRAME_CONTENT_LAYER);


      JInternalFrame frm = new JInternalFrame("fenster", true, true, true, true);

      frm.setSize(100, 100);

      frm.setLocation(10, 10);

      frm.setVisible(true);

      add(frm);

      // ...

   }

// ...

}

Soweit der Code. Funktioniert soweit auch recht gut. Das Menü wird hinzugefügt, der Button auch. Bloß man kann das Fenster über den Button schieben - was natürlich schrecklich ist. Außerdem sollte der Button irgendwann noch eine Toolbar werden und die Toolbar sollte möglichst immer die volle Fensterbreite besitzen.

mfg maddin

Geschrieben
Das Menü wird hinzugefügt, der Button auch. Bloß man kann das Fenster über den Button schieben - was natürlich schrecklich ist. Außerdem sollte der Button irgendwann noch eine Toolbar werden und die Toolbar sollte möglichst immer die volle Fensterbreite besitzen.
Du solltest dich ein bisschen mit LayoutManagern auseinandersetzen, damit erhälst du nämlich genau die Effekte, die du haben willst.

Du musst dir als erstes (ruhig auf einem Blatt Papier) überlegen, welche Bereiche hast du, und wie genau sollen diese Bereiche aufgeteilt sein. Als nächsten Schritt gilt es dann einen LayoutManager zu finden, der genau diese Aufteilung erreicht.

Dein aktuelles Problem sollte sich eigentlich so lösen lassen (ungetestet):


  public static void main(String[] args) {


    // Desktop erzeugen

    JDesktopPane desktopPane  = new JDesktopPane();

    desktopPane.setBackground(Color.GRAY);


    // Toolbar für Button(s)

    JPanel buttonPanel        = new JPanel(new FlowLayout(FlowLayout.LEFT));

    buttonPanel.add(new JButton("Drück mich!"));


    // Haupt-Panel

    JPanel contentPane        = new JPanel(new BorderLayout());

    contentPane.add(buttonPanel, BorderLayout.NORTH);

    contentPane.add(desktopPane, BorderLayout.CENTER);


    // Menü erzeugen

    JMenuBar menuBar          = new JMenuBar();

    JMenu menu                = new JMenu("Menü");

    JMenuItem menuItem        = new JMenuItem("Drück mich");

    menu.add(menuItem);

    menuBar.add(menu);


    // Frame erzeugen

    JFrame frame              = new JFrame();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setJMenuBar(menuBar);

    frame.setContentPane(contentPane);

    frame.setSize(400, 200);

    frame.setLocation(10, 10);

    frame.setVisible(true);


  }  

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...