F
Moadeh schrieb:
Hi.
Bei dem BorderLayout ist es so, dass der Center-Bereich nur den Platz zu geteilt bekommt, den kein anderer Bereich zu benötigt. Deiner Beschreibung nach, verstehe ich, dass es so eben nicht ist.
Vielleicht kannst du einfach mal die dazugehörigen Zeilen Code posten.
Das dachte ich eben auch
hier der Code für das Hauptfenster
GPNObjectPanel objpan=null;
EditModesToolBar editmodes=null;
ProcedureToolBar procedures = null;
MainMenu menu = null;
AutomaticFireToolBar autofire = null;
JPanel menuBars;
public MainForm()
{
super("Petri Netz Designer");
//Transitionsmanager die referenz zum hauptfenster geben
TransitionFireManager.get().setMainForm(this);
//Scrollpane für den Center bereich anlegen
JScrollPane sc = new JScrollPane();
//Panel zum zeichnen der Objekte anlegen
objpan = new GPNObjectPanel(sc.getViewport(), this);
//Viewport des Scrollpanels zuweisen
sc.getViewport().setView(objpan);
//Keylistener für das Panel anlegen und zuweisen
PanelKeyListener test = new PanelKeyListener(objpan, this);
objpan.addKeyListener(test);
//Toolbars anlegen
autofire = new AutomaticFireToolBar();
autofire.setEnabled(false);
editmodes = new EditModesToolBar(objpan);
procedures = new ProcedureToolBar();
//Zeichenpanel für den FireManager anmelden (um repaint aufzurufen)
TransitionFireManager.get().setObjectPanel(objpan);
//Hauptmenü setzen
menu = new MainMenu(this, objpan);
menu.setVisible(true);
this.setJMenuBar(menu);
//ProcedureManager Referenz zur Toolbar geben um diese zu aktualisieren
ProcedureManager.get().setProcedureToolBar(procedures);
//Flowlayout für menüs erzeugen
FlowLayout fl = new FlowLayout(FlowLayout.LEFT);
//Panel für Menüs erzeugen
menuBars = new JPanel(fl);
//Menüs zu den Panel hinzu fügen
menuBars.add(editmodes);
menuBars.add(procedures);
menuBars.add(autofire);
//MenüPanel im Top bereich hinzu fügen
this.add(menuBars, BorderLayout.PAGE_START);
//Scrollpane im Zentrum platzieren
this.add(sc, BorderLayout.CENTER);
//größe setzen
this.setSize(new Dimension(950,800));
//Standard Close Operation setzen
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//Zentrieren
this.setLocationRelativeTo(null);
//Window Listener beim schließen den Timer ggf stoppen
this.addWindowListener(new WindowAdapter()
{
@Override
public void windowClosing(WindowEvent evt)
{
TransitionFireManager.get().stopTimer();
}
});
}