Swing Problem mit JFrame
-
Hi, kann mir jemand sagen, warum in meinem JFrame nichts angezeigt wird (sprich, die Aufrufe von this.getContentPane().add(...) nichts machen) ??
public class MyFrame extends JFrame { int i = 1; JButton inc, dec; JLabel l1; public MyFrame() { super("Fenster"); this.getContentPane().setLayout(null); this.setSize(300,200); l1 = new JLabel("1"); l1.setLocation(30, 30); inc = new JButton("inc"); inc.setLocation(30, 100); dec = new JButton("dec"); dec.setLocation(100, 100); MouseListener mouse = new MouseAdapter() { public void mouseClicked(MouseEvent e) { JButton b = (JButton)e.getSource(); if(b == inc) { i++; l1.setText(String.valueOf(i)); } else if(b == dec) { i--; l1.setText(String.valueOf(i)); } } }; inc.addMouseListener(mouse); dec.addMouseListener(mouse); this.getContentPane().add(l1); this.getContentPane().add(inc); this.getContentPane().add(dec); this.setVisible(true); } public static void main(String[] args) { MyFrame f = new MyFrame(); } }
Danke
-
Hat sich erledigt.
Bei nem null-LayoutManager muss man wohl für jede hinzugefügte Komponente explizit die Größe setzen
-
das "this." vornedran kannste eigentlich immer weglassen - wird der code etwas kürzer
-
fit schrieb:
das "this." vornedran kannste eigentlich immer weglassen - wird der code etwas kürzer
hat aber durchaus was sprachlich nettes finde ich, mach ich auch gerne
this.setSize verdeutlicht einfach besser was man macht anstatt setSize.