Java Swing przełączanie paneli w ramce

0

Witam
Przepraszam jakby temat był banalny ale dopiero zaczynam w Javie robić cokolwiek. Mam napisać na studia aplikacje okienkową z wykorzystaniem Swing w które mam w elemencie JFrame wyświetlać dwa elementy JPanel przełączane za pomocą buttona. Mój problem polega na tym że nie mogę wyświetlić żadnego elementu JPanel w JFrame wyświetla się tylko to co dodam do JFrame. Wykładowca tłumaczył to na zajęciach ale wtedy elementy dodałem do JFrame i pomyślałem że to proste i w domu poprawie a teraz siedzę tydzień i nie mogę wykombinować.
Robię to w taki sposób na razie dla jednego panelu:
Klasa JPanel

 package swing_kurs;

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

public class panel1 extends JPanel {

	/**
	 * Create the panel.
	 */
	public panel1() {
		SpringLayout springLayout = new SpringLayout();
		setLayout(springLayout);
		
		JButton btnNewButton = new JButton("New button");
		springLayout.putConstraint(SpringLayout.WEST, btnNewButton, 166, SpringLayout.WEST, this);
		springLayout.putConstraint(SpringLayout.SOUTH, btnNewButton, -126, SpringLayout.SOUTH, this);
		add(btnNewButton);

	}
}

Klasa JPanel

package swing_kurs;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class okno extends JFrame {

	private JPanel contentPane;
	public JPanel Panel1;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					okno frame = new okno();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public okno() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		Panel1 = new JPanel();
		Panel1.setBorder(new EmptyBorder(5, 5, 5, 5));
		Panel1.setLayout(new BorderLayout(0, 0));
		setContentPane(Panel1);
		Panel1.setVisible(true);
	}

}
 

Proszę o wytłumaczenie jak dla laika bo wcześniej z javą nie miałem styczności tylko z c++/c# a gui tylko w c#

Pozdrawiam

0

odświeżam

0

Nie rozumiem twojego pytania. Nigdzie nie utworzyłeś obiektu klasy panel1 więc nie bardzo widzę co ty chcesz osiągnąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1