JMenuBar wird nicht angezeigt!

Status
Nicht offen für weitere Antworten.

CeRbErUs2k

Mitglied
naja ich hab da ein problem! meine MenuBar wird nicht angezeigt! und wenn ich das fenster vergrösser kommt sie hervor! aber die buttons kann man gar nicht beützen! eigetnlch sollte das fenster eine fixe grösse haben und nicht verändert werden! aber dann sieht man die menubar ja nicht! was kann ich da machen!? hier mal mein code

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
public class GUIFrame extends JFrame implements ActionListener {
    JMenuBar menubar = new JMenuBar();
    JMenu menu;
    JMenu submenu;
    JMenuItem menuItem;
    JMenuItem closeItem;
    JMenuItem clientsItem;
    JMenuItem aclientsItem;
    JMenuItem dclientsItem;
    GUIFrame() {
        getContentPane().setLayout(new BorderLayout());
        getContentPane().add (new Nexos(), BorderLayout.CENTER);
        addWindowListener(new WindowAdapter () {
            public void windowClosing(WindowEvent e) {
                System.exit(0); 
            }
        });
       
        setJMenuBar(menubar);
        setTitle ("Nexocor");
        setSize(895, 600);
        setLocationRelativeTo(null);
        setVisible(true);
        
//      erstes menu
        menu = new JMenu("File");
        menubar.add(menu);
        closeItem = new JMenuItem("Close");
        closeItem.addActionListener(this);
        menu.add(closeItem);
        
    //zweites menu
        menu = new JMenu("List");
        menubar.add(menu);
        submenu = new JMenu("Clients");
        menu.add(submenu);
    }
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == closeItem) {
           setVisible(false);
           dispose();
            System.exit(0);
        }
    }
    public static void main(String [] args) {
        new GUIFrame();
    }
}
class Nexos extends Canvas{
    public void paint (Graphics g) {
        g.setColor(Color.white);
        g.fillRect(0,0,895,1000);
        g.setColor(new Color(25,30,114));
        g.fillRect(0,0,600,115);
        g.setColor(Color.red);  
        g.fillRect(655,0,240,115);
        g.setColor(new Color(25,30,114));
        g.setFont(new Font("times new roman" ,Font.BOLD, 160));
        g.drawString("nexocor" ,80,400);
        g.setColor(Color.red);
        g.setFont(new Font("times new roman" , Font.BOLD, 30));
        g.drawString("Smart Engineering Server",365,450);
        
    }
}
 

thE_29

Top Contributor
Du solltest anzeigen, etc erst dann lassen wenn alles auf deiner GUI geaddet wurde!


Also das hier

Code:
setJMenuBar(menubar);
        setTitle ("Nexocor");
        setSize(895, 600);
        setLocationRelativeTo(null);
        setVisible(true);

erst am Schluss machen und nicht nachher erst Elemente raufkleben!

Sie werden erst nachher angezeigt, weil du beim resizen Java, bzw das OS zwingst alles neu zu zeichnen, und deswegen kommen sie dann aufeinmal!
 

CeRbErUs2k

Mitglied
danke, das hab ich gemacht! nur wenn man jetzt in der menubar was anklickt kommen die untermenus nicht! an was kann das liegen?
also zum beispiel auf datei und dann sollte da close stehen, aber da steht einfach nix
 

thE_29

Top Contributor
In deinem Code wird nirgends was weiter eingehängt!

Was willst du von Java das der dir deine Variablen alleine zusammenbaut??

Du mußt das schon sagen was du willst, dann macht ers dir auch, sagst du es nicht dann tut ers auch net!

Sowas
Code:
MenuItem menuItem;
    JMenuItem closeItem;
    JMenuItem clientsItem;
    JMenuItem aclientsItem;
    JMenuItem dclientsItem;

heißt noch lange nicht das er dir die auch einhängt, du mußt das selber machen..
 

CeRbErUs2k

Mitglied
aber das mach ich doch hier!

Code:
   erstes menu 
         menu = new JMenu("File"); 
         menubar.add(menu); 
         closeItem = new JMenuItem("Close"); 
         closeItem.addActionListener(this); 
         menu.add(closeItem); 
         
     //zweites menu 
         menu = new JMenu("List"); 
         menubar.add(menu); 
         submenu = new JMenu("Clients"); 
         menu.add(submenu);
 

thE_29

Top Contributor
Ohh ;)

Mein Fehler.

Jedenfalls dein Menü wird angezeigt nur du siehst es nicht weil du dein Canvas drüberpinselst!!


//getContentPane().add (new Nexos(), BorderLayout.CENTER); <-- setz das unter Kommentar und du hast dein Menü!
 

CeRbErUs2k

Mitglied
ok das geht, aber dann hab ich ja das was ich programmiert hab mit dem nexos logo nicht mehr! oder hab ich das falsch verstanden`?
 

thE_29

Top Contributor
Das ganze geht deswegen nicht, weil Canvas ein awt Teil ist und JFrame/JMenubar, etc sind alles Swing Teile!

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
public class GUIFrame extends Frame implements ActionListener {
    MenuBar menubar = new MenuBar();
    Menu menu;
    Menu submenu;
    MenuItem menuItem;
    MenuItem closeItem;
    MenuItem clientsItem;
    MenuItem aclientsItem;
    MenuItem dclientsItem;
    GUIFrame() {
        setLayout(new BorderLayout());
        add(new Nexos(),BorderLayout.CENTER);
        addWindowListener(new WindowAdapter () {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
       
       
//      erstes menu
        menu = new Menu("File");
        menubar.add(menu);
        closeItem = new MenuItem("Close");
        closeItem.addActionListener(this);
        menu.add(closeItem);
       
    //zweites menu
        menu = new Menu("List");
        menubar.add(menu);
        submenu = new Menu("Clients");
        menu.add(submenu);
    
    
    
        setMenuBar(menubar);
        setTitle ("Nexocor");
        setSize(895, 600);
        setLocationRelativeTo(null);
        setVisible(true);

    
    }     
    
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == closeItem) {
           setVisible(false);
           dispose();
            System.exit(0);
        }
    } 
    public static void main(String [] args) {
        new GUIFrame();
    }

}
class Nexos extends Canvas{
    public void paint (Graphics g) {
        g.setColor(Color.white);
        g.fillRect(0,0,895,1000);
        g.setColor(new Color(25,30,114));
        g.fillRect(0,0,600,115);
        g.setColor(Color.red); 
        g.fillRect(655,0,240,115);
        g.setColor(new Color(25,30,114));
        g.setFont(new Font("times new roman" ,Font.BOLD, 160));
        g.drawString("nexocor" ,80,400);
        g.setColor(Color.red);
        g.setFont(new Font("times new roman" , Font.BOLD, 30));
        g.drawString("Smart Engineering Server",365,450);
    }
}


Jetzt ist alles AWT!
 
B

Beni

Gast
Du kannst auch Swing und AWT mischen, hier.

Du musst dann "setDefaultLightWeightPopupEnabled( false )" für JPopupMenus abschalten.
 

thE_29

Top Contributor
Also hat JComponent doch gepasst ;)

Dachte das ist falsch und deswegen habe ichs auf AWT umgeschrieben, weil mischen wollt ichs net!
 

CeRbErUs2k

Mitglied
macht nix! für das was ich es brauche geht das schon! aber nun geht das List nicht! ist aus einem ähnlichen grund wie vorhin nehm ich ma an! aber finde nich raus wieso!!!

hier nochmal code! also wenn ich die list aufrufe kommt nichts! verändere ich dann mit dem courser die fenstergrösse kommt er soffort!
Code:
import java.awt.*; 
import java.awt.event.*; 

public class GUIFrame extends Frame implements ActionListener { 
    MenuBar menubar = new MenuBar(); 
    Menu menu; 
    Menu submenu; 
    MenuItem menuItem; 
    MenuItem closeItem; 
    MenuItem clientsItem; 
    MenuItem aclientsItem; 
    MenuItem dclientsItem; 
    List list = new List();
    Panel p = new Panel();
    Panel p2 = new Panel();
    GUIFrame() { 
        setLayout(new BorderLayout()); 
        
        p.setLayout(new BorderLayout());
        add(p);
        p.add(new Nexos(),BorderLayout.CENTER); 
        addWindowListener(new WindowAdapter () { 
            public void windowClosing(WindowEvent e) { 
                System.exit(0); 
            } 
        }); 
        
        
//      erstes menu 
        menu = new Menu("File"); 
        menubar.add(menu); 
        closeItem = new MenuItem("Close"); 
        closeItem.addActionListener(this); 
        menu.add(closeItem); 
        
    //zweites menu 
        menu = new Menu("List"); 
        menubar.add(menu); 
        submenu = new Menu("Clients"); 
        menu.add(submenu); 
    
//      untermenu Clients
        clientsItem = new MenuItem("All Clients");
        clientsItem.addActionListener(this);
        submenu.add(clientsItem);
        aclientsItem = new MenuItem("Active Clients");
        aclientsItem.addActionListener(this);
        submenu.add(aclientsItem);
        dclientsItem = new MenuItem("Deactive Clients");
        dclientsItem.addActionListener(this);
        submenu.add(dclientsItem);
    
        setMenuBar(menubar); 
        setTitle ("Nexocor"); 
        setSize(895, 600); 
        setLocationRelativeTo(null); 
        setVisible(true); 

    
    }      
    
    public void actionPerformed(ActionEvent e) { 
        if (e.getSource() == closeItem) { 
           setVisible(false); 
           dispose(); 
            System.exit(0); 
        } 
        else if (e.getSource() == clientsItem) {
            clientFrame();
        }
        }
        public String getInhalt() {
            InputClient clist = new InputClient();
            System.out.println(clist.GetNumberOfClients());

            Font heading = new Font("Courier", Font.BOLD, 14);

            //setFont(heading);
            list.add("ALL CLIENTS");
            list.add("-----------");
            list.add(" ");

            for (int i = 0; i < clist.GetNumberOfClients(); ++i) {
                System.out.println("processing client" + i);

                Client c = clist.GetClient(i);
                list.add("install client hostname:     " + c.installClientHostname);
                list.add("client name:                 " + c.clientName);
                list.add("architecture:                " + c.arch);
                list.add("release:                     " + c.release);
                list.add("directory:                   " + c.directory);
                list.add("activation date:             " + c.activationDate);
                list.add("activator:                   " + c.activator);
                list.add("*************************************");
            }

            return list.toString();
        }
        public void clientFrame() {
            list.setFont(new Font("Courier", Font.BOLD, 14));
            list.setBackground(Color.white);
            list.setSize(795, 500);
            getInhalt();
           
           p.setVisible(false);
           add(p2);
           p2.setLayout(new BorderLayout());
            p2.add(list, BorderLayout.CENTER);
            list.setVisible(true);
           
        }


    
    public static void main(String [] args) { 
        new GUIFrame(); 
    } 
    
}

class Nexos extends Canvas{ 
    public void paint (Graphics g) { 
        g.setColor(Color.white); 
        g.fillRect(0,0,895,1000); 
        g.setColor(new Color(25,30,114)); 
        g.fillRect(0,0,600,115); 
        g.setColor(Color.red); 
        g.fillRect(655,0,240,115); 
        g.setColor(new Color(25,30,114)); 
        g.setFont(new Font("Frutiger" ,Font.BOLD, 160)); 
        g.drawString("nexocor" ,80,400); 
        g.setColor(Color.red); 
        g.setFont(new Font("Frutiger" , Font.BOLD, 30)); 
        g.drawString("Smart Engineering Server",365,450); 
    } 
}
 

CeRbErUs2k

Mitglied
ja das führt ein befehl auf der shell aus! mitdem kann ich clients die ich aktiviert bzw nicht aktiviert habe auflisten! und diese schreibt es dann in die list! nun das klappt auch! aber leider gibt es mir die list nur aus wenn ich mit dem courser am frame spiele und es kleiner oder grösser mache! an was liegt das! wenn es geladen ist, dann ist es einfach ein graues fenster und die list kommt erst wenn ich die frame grösse verändere!
 

thE_29

Top Contributor
Achso, natürlich kann ich ab jetzt nima testen!

Also mach ein paar repaints(); oder dergleichen (validate, invalidate) nach Buttons Action oder nach dem Zeichnen, sodass er dir das neu zeichnet!
 

CeRbErUs2k

Mitglied
hey danke! jetzt klapts!!! super jetzt bin ich fast fertig! kannst mir noch schnell sagen wie das komando ist um zu sagen das man die grösse nicht selber verändern darf?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JMenuBar wird nicht angezeigt Java Basics - Anfänger-Themen 2
T JMenubar wird nicht angezeigt. Java Basics - Anfänger-Themen 2
U JMenuBar wird nicht angezeigt Java Basics - Anfänger-Themen 2
C JMenuBar wird nicht angezeigt! Java Basics - Anfänger-Themen 4
M JMenuBar Datei -> Einstellungen Java Basics - Anfänger-Themen 2
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D JMenuBar und Hintergrund eines Frames Java Basics - Anfänger-Themen 2
D JMenuBar Breite ? Java Basics - Anfänger-Themen 3
D jMenubar mit Button verknüpfen Java Basics - Anfänger-Themen 3
G Problem mit JMenuBar + Windows LaF Java Basics - Anfänger-Themen 4
E Problem mit JMenuBar Java Basics - Anfänger-Themen 2
D Methode, JMenuBar Java Basics - Anfänger-Themen 2
M Applet mit JMenuBar Java Basics - Anfänger-Themen 17
T GUI, JMenuBar Fehler: The field menuBar is not visible Java Basics - Anfänger-Themen 7
G JMenuBar in eigener Klasse erstellen Java Basics - Anfänger-Themen 3
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Webseite vom Smartmeter wird nur unleserlich angezeigt Java Basics - Anfänger-Themen 7
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
Oneixee5 Maven Plugin wird 2 mal ausgeführt Java Basics - Anfänger-Themen 10
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
schemil053 Multithread - Input verrutscht während etwas ausgegeben wird Java Basics - Anfänger-Themen 6
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
_user_q Timer - ScheduledExecutorService wird schon vorher beendet Java Basics - Anfänger-Themen 5
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
M Text wird in der Console nicht ausgegeben. Java Basics - Anfänger-Themen 11
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
M Rechteck wird nicht angezeigt Java Basics - Anfänger-Themen 3
B Bungeecord | ProxiedPlayer wird nicht in ArrayList hinzugefügt Java Basics - Anfänger-Themen 1
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
I Code wird nicht ausgeführt Java Basics - Anfänger-Themen 2
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
K Präzedenregeln in Java sagen, dass +expr und -expr vor + von Addition und - von Addition stehen, warum wird dann z. B. a+b als eine Addition ausgeführ Java Basics - Anfänger-Themen 7
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
M Wie schreibe ich eine if-Verzweigung um, so dass ein Bedingungsoperator benutzt wird? Java Basics - Anfänger-Themen 9
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
K Jlabel mit itemlistevent Text gegeben, wird nicht angezeigt Java Basics - Anfänger-Themen 5
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
M Referenzen zuweisen und wird gleichzeitig ausgeführt Java Basics - Anfänger-Themen 6
O System.out.println wird nicht ausgegeben? Java Basics - Anfänger-Themen 11
Zrebna Umgebungsvariable Wieso wird meine verwendete JDK-Version in der Prompt nicht erkannt? Java Basics - Anfänger-Themen 6
el_pato DialogFenster wird nicht in Schleife geöffnet? Java Basics - Anfänger-Themen 30
J if-Schleife innerhalb einer if-Schleife wird in der Konsole nicht gelesen Java Basics - Anfänger-Themen 4
P Apache Derby wird in Eclipse trotz Anbindung nicht gefunden Java Basics - Anfänger-Themen 6
H Array wird als Rückgabewert nicht akzeptiert? Java Basics - Anfänger-Themen 2
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
F Session wird mehrfach erzeugt Java Basics - Anfänger-Themen 11
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
fuerteb Compiler-Fehler Methode wird nicht bzw. als Fehler erkannt Java Basics - Anfänger-Themen 4
L JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 10
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
J JTable Titel wird nicht angezeigt Java Basics - Anfänger-Themen 6
krgewb Long wird gerundet Java Basics - Anfänger-Themen 2
Zwanglos Warum wird nur die erste Zeile im while Block ausgeführt? Java Basics - Anfänger-Themen 8
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
H GridPane wird nicht angezeigt Java Basics - Anfänger-Themen 0
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
H Endkapital wird nicht korrekt ausgegeben. Java Basics - Anfänger-Themen 5
C Methodenrückgabe wird in der main nicht berücksichtigt Java Basics - Anfänger-Themen 2
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
kodela Hauptklasse wird nicht gefunden Java Basics - Anfänger-Themen 3
H Befehl wird nicht ausgeführt - System.out.println Java Basics - Anfänger-Themen 3
I Input/Output Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 3
P Bedingung in Schleife wird nicht ausgeführt Java Basics - Anfänger-Themen 5
P Variablen HttpResponse.getBody() wird automatisch org.json Object und kann nicht zu json.simple Object gecastet werden? Java Basics - Anfänger-Themen 7
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
N package wird doppelt im exporer angezeigt Java Basics - Anfänger-Themen 2
N Bedinugng If-Abfrage wird nie erfüllt Java Basics - Anfänger-Themen 4
M Else wird nicht ausgeführt. Java Basics - Anfänger-Themen 5
H Wie wird ein String intern gespeichert? Java Basics - Anfänger-Themen 10
A char array wird überschrieben Java Basics - Anfänger-Themen 6
E Methoden Action Event wird nicht vollständig ausgeführt Java Basics - Anfänger-Themen 3
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben