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