Początki Swing, czyli jak to złożyć do kupy?

0

Witajcie

Jestem dosyć opornym przypadkiem więc proszę o wyrozumiałość. Ostatnio doszedłem do wniosku aby zacząć wreszcie poznawanie graficznej strony java. Posiłkowałem się jakimiś poradnikami na necie i innymi tutkami, ale było tam sporo na raz i nie mogłem się zbytnio połapać w tym natłoku kodu. Postanowiłem więc zająć się ambitnym projektem czyli stworzeniu swojego CV zaprzyjaźniając się przy tym jedynie dokumentacją Oracle pisząc swój kod w najprostszy i najbardziej prymitywny sposób byle tylko działało i pozwoliło mi zrozumieć każdą linijkę kodu. Jednak jak to w życiu bywa. Napisałem kilka prostych linijek, pokombinowałem, ale w efekcie wyświetla mi tylko okienko z napisem, ale nie wyświetla przycisków. Chciałbym, żeby wyświetlało mi okienko z przyciskami poniżej tekstu.
Zamieszczam kod:

Moja klasa główna Frame

package CV;
import javax.swing.*;
import java.awt.*;
public class Frame extends JFrame {

	public Frame() {
		setSize(300, 500);
		setTitle("Curiculum Vite");
		setLocation(800,350);
	}

	public static void main(String[] args) {
		Frame rama = new Frame();
		Panel menu = new Panel();
		rama.setLayout(new GridLayout(10, 5));
		rama.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JLabel tekst = new JLabel("Mój życiorys");
		rama.add(tekst);
		tekst.setText("Mój życiorys.");
		rama.add(menu);

		rama.setVisible(true);
	}
}

Oraz klasa Panel zawierająca przyciski

package CV;
import javax.swing.*;
import java.awt.*;
public class Panel extends JPanel {

	public Panel(){
		JPanel menu = new JPanel();
		menu.setLayout(new BorderLayout(10, 5));
		JButton Ja = new JButton("O mnie");
		JButton Praca = new JButton ("Kariera");
		JButton Zainteresowania = new JButton("Zainteresowania");

		menu.add(Ja);
		menu.add(Praca);
		menu.add(Zainteresowania);

		menu.setVisible(true);
	}
}

Domyślam się, że to co uczyniłem można porównać do gwałtu na kodzie, ale dopiero zaczynam i chciałem jednocześnie ogarnąć dokumentacje, więc posiłkowałem sie prawie jedynie właśnie nią.

Tak jak mówiłem napisałem to w najprostszy znany mi sposób, aby też z każdą linijką widzieć co dokładnie robi i starać się to zrozumieć.

Sam program ma wyświetlać okienko, z napisem "Mój życiorys" a pod tym napisem mają być wyświetlane 3 przyciski. "Ja", "Praca" oraz "Zainteresowania". Jednakże póki co wyświetla jedynie okienko z tekstem "Mój życiorys"

Proszę o pomoc i wyrozumiałość dla tłoka ;P

EDIT: Udało mi się troszkę to ogarnąć, w efekcie moje okienko wyświetla jedynie przycisk "Zainteresowania" rozciągnięty na całą szerokość okienka pod napisem: "Mój życiorys". Mój kod zmienił się tylko tyle:

package CV;
import javax.swing.*;
import java.awt.*;
public class Panel extends JPanel {

	public Panel(){

		setLayout(new BorderLayout(10, 5));
		JButton Ja = new JButton("O mnie");
		JButton Praca = new JButton ("Kariera");
		JButton Zainteresowania = new JButton("Zainteresowania");

		add(Ja);
		add(Praca);
		add(Zainteresowania);

		setVisible(true);
	}
}
0

https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html zwróć uwagę na

button = new JButton("Button 3 (LINE_START)");
pane.add(button, BorderLayout.LINE_START);

button = new JButton("Long-Named Button 4 (PAGE_END)");
pane.add(button, BorderLayout.PAGE_END);

button = new JButton("5 (LINE_END)");
pane.add(button, BorderLayout.LINE_END);
0

Ok, dzięki za pomoc.

Wypatrzyłem gdzieś, że można zrezygnować z layouta i ręcznie ustawiać wszystko i tak też zrobiłem. Co do problemów z wyświetlaniem też doszedłem już do tego gdzie miałem błędy. ;)

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