maddin Geschrieben 9. Mai 2005 Geschrieben 9. Mai 2005 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 Zitieren
perdian Geschrieben 9. Mai 2005 Geschrieben 9. Mai 2005 Kann mir vielleicht jemand einen bischen Code schreiben, damit ich eine Eingebung bekomme? Gegenfrage: Kannst du schonmal das, was du bisher hast posten?! Zitieren
maddin Geschrieben 9. Mai 2005 Autor Geschrieben 9. Mai 2005 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 Zitieren
perdian Geschrieben 10. Mai 2005 Geschrieben 10. Mai 2005 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); } Zitieren
Empfohlene Beiträge
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.