Probleme mit JButton

MScalli

Erfahrenes Mitglied
Hi leutz.
Ich hab ein JFrame das in 3 Teile aufgeteilt ist
JPanel oben, mitt, unten.

jetzt habe ich im unteren noch ein JPanel darüber gelegt(kommt noch ne ganze menge drauf)

aufgerufen wird es so
Code:
			unten = new JPanel();
			unten.setBounds(  0, 410, width, 350);
			unten.setLayout(null);
			add(unten);

jetzt das aufgerufene JPanel

Code:
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import javax.swing.border.Border;

public class BtnF01 extends JPanel{
	BtnF01(){
		System.out.println("Kommen");
		setBounds(10,10,1000,290);
		Border etchedBdr ,titledBdr ,emptyBdr ,compoundBdr;
		
		etchedBdr = BorderFactory.createEtchedBorder();
		titledBdr = BorderFactory.createTitledBorder(etchedBdr, "Kommen");
		emptyBdr  = BorderFactory.createEmptyBorder(10,10,10,10);
		compoundBdr=BorderFactory.createCompoundBorder(titledBdr, emptyBdr);
		
		setBorder(compoundBdr);

		add(new EingabePanel());
		
		setVisible(true);
	}
}

jetzt wird dieses JPanel noch mal mit JPanels belegt.. wie hier z.B. ein EingabePanel auf dem Tasten drauf sind.

Code:
import java.awt.Color;
import java.awt.Dimension;

import javax.swing.JButton;
import javax.swing.JPanel;

public class EingabePanel extends JPanel{

	EingabePanel(){
		
		int x1reihe = 5;
		int x2reihe = 80;
		int x3reihe = 155;
		int y1zeile = 5;
		int y2zeile = 69;
		int y3zeile = 133;
		int y4zeile = 197;
		int btn_width = 70;
		int btn_height = 59;
		
		setBackground(Color.BLACK);
		this.setLocation(20, 20);
		this.setMaximumSize(new Dimension(230,260));
		this.setBackground(MyParam.getColorBGClock());
		
		setSize(230,260);
		JButton btn1 = new JButton("1");
		btn1.setBounds(x1reihe,y1zeile,btn_width,btn_height);
		add(btn1);
		JButton btn2 = new JButton("2");
		btn2.setBounds(x2reihe,y1zeile,btn_width,btn_height);
		add(btn2);
		JButton btn3 = new JButton("3");
		btn3.setBounds(x3reihe,y1zeile,btn_width,btn_height);
		add(btn3);
		JButton btn4 = new JButton("4");
		btn4.setBounds(x1reihe,y2zeile,btn_width,btn_height);
		add(btn4);
		JButton btn5 = new JButton("5");
		btn5.setBounds(x2reihe,y2zeile,btn_width,btn_height);
		add(btn5);
		JButton btn6 = new JButton("6");
		btn6.setBounds(x3reihe,y2zeile,btn_width,btn_height);
		add(btn6);
		JButton btn7 = new JButton("7");
		btn7.setBounds(x1reihe,y3zeile,btn_width,btn_height);
		add(btn7);
		JButton btn8 = new JButton("8");
		btn8.setBounds(x2reihe,y3zeile,btn_width,btn_height);
		add(btn8);
		JButton btn9 = new JButton("9");
		btn9.setBounds(x3reihe,y3zeile,btn_width,btn_height);
		add(btn9);
		JButton btnc = new JButton("C");
		btnc.setBounds(x1reihe,y4zeile,btn_width,btn_height);
		add(btnc);
		JButton btn0 = new JButton("0");
		btn0.setBounds(x2reihe,y4zeile,btn_width,btn_height);
		add(btn0);
		JButton btnok = new JButton("OK");
		btnok.setBounds(x3reihe,y4zeile,btn_width,btn_height);
		add(btnok);	
	}
}

Jetzt habe ich das Problem das der Ziffernblock 10-20 sekunden richtig angezeigt wird..
dann auf einmal kommen alle Buttons einfach nacheinander in ner ganz anderen grösse!!
also 1 - ok in einer Reihe..
eigentlich sinds 3 reichen und 4 zeilen.

kann mir einer sagen was da ab geht?!!!?
 
lol..
wenn ich habe bis jetzt nur das EingabePanel explizit auf null gestellt(layoutManager) da ist es immer verschwunden..
aber wenn ich alle auf setLayout(null) setzte gehts.. ;)
 
Ja wenn du keinen LayoutManager setzt wird das BorderLayout benutzt.

Und da du setLocation und setSize benutzt hast, hast du das BorderLayout damit wahrscheinlich ganz schön durcheinander gebracht.

Man sollte allerdings wirklich kein Null-Layout nutzen. Das gibt eigentlich nur Probleme.
 
Zurück