Java JFrame Komponenten

Hi allesamt!

Ich hab nun schon vergeblich alles nach ner Lösung abgesucht (auch weil ich gar nicht genau weiß, nach was ich suchen soll...).

Hier erstmal der relevante Code:
Code:
.....

                JMenu datei = new JMenu("Datei");
		JMenu bearbeiten = new JMenu("Bearbeiten");
		JMenu extras = new JMenu("Extras");
		menuBar.add(datei);
		menuBar.add(bearbeiten);
		menuBar.add(extras);
		
		datei.add(new AbstractAction("Beenden") { 
			 public void actionPerformed(ActionEvent e) {
			    System.exit(0);
			   } 
	    });
		
		bearbeiten.add(new AbstractAction("Jahr ändern") { 
	        public void actionPerformed(ActionEvent e) {
	        
	           JScrollBar sb;
	           sb = new JScrollBar( JScrollBar.HORIZONTAL, 2, 100, 1, 300 );
	           JFrame cj = new JFrame();	           
	           JPanel cj_panel = new JPanel();
	           cj_panel.setLayout(null);	 
	           Container contentPane_cj = cj.getContentPane();
	           JButton tester = new JButton("tester");

	           
	           cj_panel.add(tester);
	           cj_panel.add(sb);
	           contentPane_cj.add(cj_panel);
	           
	           cj.setTitle ("Jahr ändern");		           
	           cj.setVisible(true);
	           cj.setSize(400,300);;
	           cj.setLocation(420,350);
	    
	          
	          } 
	     });

.....

In dem JFrame, der in der actionPerformed-Methode erstellt wird, möcht ich nun wieder schön meine Komponenten ala ScrollBar, Button usw haben.
Ich habs mit verschiedenen Layoutmanagern versucht, und mit null - Layout, aber es bisher nur geschafft, dass das Fenster etwas anzeigt, wenn man es in der Größe verändert. Jetzt zeigts sogar gar nix mehr an ....

Woran kann das liegen?

gruß Corni

P.S.: habs auch mit pack() probiert --> Fenster war auf Minimalgröße getrimmt.
 
versucht mal die setSize-Methode vor das Hinzufügen der Komponenten zu setzen und und das setVisible(true) ganz ans Ende.

Wenn du mit null-Layout arbeitest und den Komponte nicht über setSize() und setLocation() Werte zuweist, kann ich nicht garantiere, dass überhaupt das angezeigt wird.


So dürfte dem ganzen eigentlich nix im Wege stehen:
Code:
JFrame frame = new JFrame();
    frame.getContentPane().setLayout(new GridLayout(1,2));
    frame.setSize(800,600);
    frame.setLocation(100, 100);

    JTable table = new JTable();
    JScrollPane scrl = new JScrollPane(table);
    frame.getContentPane().add(scrl);
 
    frame.getContentPane().add(new JButton("hallo"));
    
    frame.setVisible(true);

PS: Wenn das ein Dialog-Fenster werden soll, bietet sich JDialog wohl an!
 
oh mann...ja ich hätt die Komponenten direkt auf die Content-Pane legen sollen. Jetzt gehts. Vielen Dank! :)

gruß Corni
 
Zurück
Oben