Generalnie jest tu sporo błędów, przede wszystkim poprawiłem to co nie co i sprawdź sobie ten kod
import javax.swing.*;
class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("Zakładki");
JPanel pane = new JPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700, 500);
frame.setLocation(5, 5); // tym sie pobaw tez bo dodalem tak dla przykladu
JPanel test1 = new JPanel();
JPanel test2 = new JPanel();
JPanel test3 = new JPanel();
JPanel test4 = new JPanel();
JTabbedPane tabs = new JTabbedPane();
tabs.addTab("Tytul 1", test1);
tabs.addTab("Tytul 2", test2);
tabs.addTab("Tytul 3", test3);
tabs.addTab("Tytul 4", test4);
pane.add(tabs);
frame.setVisible(true);
frame.add(pane);
frame.show();
}
}
przede wszystkim metoda
frame.show()
która ma Ci pokazać ekran, dodatkowo panel powinnaś dodac do frame... bo samo utworzenie frame nie jest do końca odpowiednie.
Nastepna linia nie ma sensu
this.setLayout(null);
nie musisz nullowac Layout, jesli nic nie zawiera- a tak jest to jest taki defaultowo.
Dodatkowo poczytaj co robi setVisable - bo korzystassz a nie rozumiesz :
Metoda setVisible(true) powoduje pojawienie się ramki na ekranie . Jeśli zapomnisz tego zrobić, obiekt ramki będzie istniał jako obiekt w pamięci, ale na ekranie nie pojawi się żaden obraz.