JToolBar
-
hallo,
ich erstelle JToolbar, dessen Breite wie die Breite des Fenter sein soll
myToolBar.setBounds(0,30,new Double(dim.getWidth()).intValue(),30);
aber leider er zeigt sich nur au die Hälfte des Fenster , aber wenn ich das Fenster einblinde un ausblende bekommt die richtige Breite woran kan es liegen ?? un wie kann ich es lösen
-
Vielleicht hilft ein Aufruf von pack() VOR dem ersten setVisible(true)
-
auch nicht mit pack();
beim start wird das Fenster sehr klein !!!!
-
Poste am besten mal das Codestück das für das alles verantwortlich ist.
-
die Funktion actionPerformed ist deafür verantwortlich
import javax.swing.;
import java.awt.;
import java.awt.event.*;public class StartEdit extends JFrame implements ActionListener
{
private JMenuBar mBar,mBarIcons;
private JMenu mFile, mEdit, mView, mTools, mAdvanced, mHelp;
private LangCode langCode;
private String selectedTools;
private String selectedLanguage;
private JToolBar toolBar;
private Container contentPane;
public Dimension dim;
private JToolBar HTML_toolBar, JSCRIPT_toolBar, XML_toolBar,
CPLUS_toolBar,JAVA_toolBar;
---public StartEdit(String selectedLanguage)
{
super("PowerEdit");
// code...contentPane=this.getContentPane();
contentPane.setLayout(null);
dim=new Dimension(Toolkit.getDefaultToolkit().getScreenSize());
this.setBounds(0,0,new Double(dim.getWidth()).intValue(),new Double(dim.getHeight()).intValue());// code
}
//-------------------------------------------------------------------------
public void actionPerformed(ActionEvent event)
{
if(event.getSource().equals(mTools_HTML)){
contentPane.remove(JSCRIPT_toolBar);
contentPane.remove(XML_toolBar);
contentPane.remove(CPLUS_toolBar);
contentPane.remove(JAVA_toolBar);
HTML_toolBar = new JToolBar();
HTML_toolBar.setBorder(BorderFactory.createEtchedBorder());
HTML_toolBar.setBorderPainted(true);
HTML_toolBar.setBounds(0,30,new Double(dim.getWidth()).intValue(),30);
HTML_toolBar.setBackground(Color.red);
toolBar.setVisible(true);
contentPane.add(HTML_toolBar);
}
if(event.getSource().equals(mTools_JSCRIPT)){
contentPane.remove(HTML_toolBar);
contentPane.remove(XML_toolBar);
contentPane.remove(CPLUS_toolBar);
contentPane.remove(JAVA_toolBar);
JSCRIPT_toolBar = new JToolBar();
JSCRIPT_toolBar.setBorder(BorderFactory.createEtchedBorder());
JSCRIPT_toolBar.setBorderPainted(true);
JSCRIPT_toolBar.setBounds(0,30,new Double(dim.getWidth()).intValue(),30);
JSCRIPT_toolBar.setBackground(Color.green);
JSCRIPT_toolBar.setVisible(true);
contentPane.add(JSCRIPT_toolBar);}
}
//------------------------------------------------------------------------------
}
-
hallo,
kann mir jemand helfen und mir sagt wo liegt der Fehler in den Obere Code??
Der JToolBar lässt sich nicht in richtige grösse anzeigen !!!
es passiert nur wenn ich das Fenster einblende und nochmal ausblende
warum ????mit der Methode pack() hat nichts gebracht
danke
-
Wenn man das Alignment einer JToolbar benutzt dann ist sie in der Regel immer so breit (oder hoch) wie das umschließende Fenster. Ich schätze der Aufruf von setBounds(...) ist hier der Übeltäter.
-
danke ich versuche