Moin
Ich baue mir gerade ( bzw versuche es )eine classe StdJFrame auf, die folgende Bedingungen erfüllen soll :
Irgendwie klappt das Setzen der Positionen nicht.
[java=1491]
/*
* die Frame-Daten
*/
int height, width, top, left;
try {
ivjJFrameContentPane = new JPanel();
ivjJFrameContentPane.setName("JFrameContentPane");
ivjJFrameContentPane.add(new JLabel("testlabel"));
ivjJFrameContentPane.add(new JLabel("testlabel 2"));
setContentPane(ivjJFrameContentPane);
height = getContentPane().getHeight();
width = getContentPane().getWidth();
top = getContentPane().getX();
left = getContentPane().getY();
if (withBearbPanel || withStatusLine) {
bottomPanel = new javax.swing.JPanel();
bottomPanel.setName("bottomPanel");
bottomPanel.setBackground(Color.BLUE);
bottomPanel.setBounds(top - top / 2, 100, width, 50);
}
if (withBearbPanel) {
bearbPanel = new JPanel();
bearbPanelFlowLayout = new java.awt.FlowLayout();
bearbPanelFlowLayout.setAlignment(java.awt.FlowLayout.LEFT);
bearbPanel.setBounds(height - 1000, 0, width, 25);
bearbPanel.setBackground(Color.CYAN);
// die button
// .. korrektur
btKorrektur = new javax.swing.JButton();
btKorrektur.setName("btKorrektur");
btKorrektur.setMnemonic('k');
btKorrektur.setText("Korrektur");
btKorrektur.setBounds(10, 10, 180, 10);
bearbPanel.add(btKorrektur);
// ..speichern
btSpeichern = new javax.swing.JButton();
btSpeichern.setName("btSpeichern");
btSpeichern.setMnemonic('s');
btSpeichern.setText("Speichern");
btSpeichern.setBounds(10, 200, 180, 10);
bearbPanel.add(btSpeichern);
// ..Fertig
btFertig = new javax.swing.JButton();
btFertig.setName("btFertig");
btFertig.setMnemonic('s');
btFertig.setText("Fertig");
btFertig.setBounds(400, 10, 180, 10);
bearbPanel.add(btFertig);
bottomPanel.add(bearbPanel);
}
/*
* die Statuszeile
*/
if (withStatusLine) {
lblStatusLine = new JLabel("mein text");
// bottomPanel.add(lblStatusLine);
}
if (withBearbPanel || withStatusLine) {
ivjJFrameContentPane.add(bottomPanel);
}
} catch (java.lang.Throwable ivjExc) {
handleException(ivjExc);
}
[/code]
tia Hanns
Nachtrag: es erscheint alles am oberen Rand des Frames?
Ich baue mir gerade ( bzw versuche es )eine classe StdJFrame auf, die folgende Bedingungen erfüllen soll :
- am unteren Rand ( auf Wunsch) ein JLabel als StausZeile
- darüber ein bottomPanel über die gesamte Breite
- ein bearbPanel mit linksbündigen Buttons
- ein movePanel mit linksbündigen Button
- bearbPanel und das movePanel sollen bei im bottomPanel liegen mit gleichen bounds; jedoch ist immer nur eines sichtbar ( movpanel fehlt noch imCode )
Irgendwie klappt das Setzen der Positionen nicht.
[java=1491]
/*
* die Frame-Daten
*/
int height, width, top, left;
try {
ivjJFrameContentPane = new JPanel();
ivjJFrameContentPane.setName("JFrameContentPane");
ivjJFrameContentPane.add(new JLabel("testlabel"));
ivjJFrameContentPane.add(new JLabel("testlabel 2"));
setContentPane(ivjJFrameContentPane);
height = getContentPane().getHeight();
width = getContentPane().getWidth();
top = getContentPane().getX();
left = getContentPane().getY();
if (withBearbPanel || withStatusLine) {
bottomPanel = new javax.swing.JPanel();
bottomPanel.setName("bottomPanel");
bottomPanel.setBackground(Color.BLUE);
bottomPanel.setBounds(top - top / 2, 100, width, 50);
}
if (withBearbPanel) {
bearbPanel = new JPanel();
bearbPanelFlowLayout = new java.awt.FlowLayout();
bearbPanelFlowLayout.setAlignment(java.awt.FlowLayout.LEFT);
bearbPanel.setBounds(height - 1000, 0, width, 25);
bearbPanel.setBackground(Color.CYAN);
// die button
// .. korrektur
btKorrektur = new javax.swing.JButton();
btKorrektur.setName("btKorrektur");
btKorrektur.setMnemonic('k');
btKorrektur.setText("Korrektur");
btKorrektur.setBounds(10, 10, 180, 10);
bearbPanel.add(btKorrektur);
// ..speichern
btSpeichern = new javax.swing.JButton();
btSpeichern.setName("btSpeichern");
btSpeichern.setMnemonic('s');
btSpeichern.setText("Speichern");
btSpeichern.setBounds(10, 200, 180, 10);
bearbPanel.add(btSpeichern);
// ..Fertig
btFertig = new javax.swing.JButton();
btFertig.setName("btFertig");
btFertig.setMnemonic('s');
btFertig.setText("Fertig");
btFertig.setBounds(400, 10, 180, 10);
bearbPanel.add(btFertig);
bottomPanel.add(bearbPanel);
}
/*
* die Statuszeile
*/
if (withStatusLine) {
lblStatusLine = new JLabel("mein text");
// bottomPanel.add(lblStatusLine);
}
if (withBearbPanel || withStatusLine) {
ivjJFrameContentPane.add(bottomPanel);
}
} catch (java.lang.Throwable ivjExc) {
handleException(ivjExc);
}
[/code]
tia Hanns
Nachtrag: es erscheint alles am oberen Rand des Frames?
Zuletzt bearbeitet: