• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Umieszczenie JCheckBox w konkretnym miejscu

0 głosów
229 wizyt
pytanie zadane 23 czerwca 2017 w Java przez student33 Początkujący (250 p.)

Witam!

Od niedawna uczę się javy i robiąc aktualnie jeden projekt, napotkałem pewien problem. Mianowicie potrzebuję dodać do klasy CheckBoxy, ale nie potrafię określić ich konkretnego położenia. Wygląda to tak:

public Dodawanie() {
		super();
		this.setSize(1000, 400);
		Toolkit tk = Toolkit.getDefaultToolkit();
		Dimension dim = tk.getScreenSize();
		int xPos = (dim.width / 2) - (this.getWidth() / 2);
		int yPos = (dim.height / 2) - (this.getHeight() / 2);
		this.setLocation(xPos, yPos);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setTitle("test");
		JPanel panel = new JPanel();

		przycisk1 = new JButton("Dodaj");
		oknoTekstowe1 = new JTextField("test", 10);
		oknoTekstowe2 = new JTextField("test", 10);

		w1 = new JCheckBox("test1");
		w1.setSelected(false);
		w2 = new JCheckBox("test2");
		w2.setSelected(false);
		w3 = new JCheckBox("test3");
		w3.setSelected(false);
		w4 = new JCheckBox("test4");
		w4.setSelected(false);
		w5 = new JCheckBox("test5");
		w5.setSelected(false);
		w6 = new JCheckBox("test6");
		w6.setSelected(false);
		w7 = new JCheckBox("test7");
		w7.setSelected(false);

		przycisk1.addActionListener(this);

		panel.add(oknoTekstowe1);
		panel.add(oknoTekstowe2);
		panel.add(przycisk1);
		panel.add(w1);
		panel.add(w2);
		panel.add(w3);
		panel.add(w4);
		panel.add(w5);
		panel.add(w6);
		panel.add(w7);
		this.add(panel);
		this.setVisible(true);

	}

Jest to konstruktor klasy która dziedziczy po JFrame. Okna tekstowe i przycisk ładnie się wyświetlają, Checkboxy również, tylko że wszystko wyświetla się w jednym rzędzie, jednej linii. Próbowałem za pomocą setLocation(x,y) ustawić położenie checkboxów, jednak nic to nie dawało, żadnej różnicy. Z góry dziękuję za pomoc i ewentualne wytłumaczenie jeśli coś robię bardzo nie tak jak powinno się robić.

1 odpowiedź

+1 głos
odpowiedź 23 czerwca 2017 przez Mateusz51 Nałogowiec (28,180 p.)
Poczytaj sobie o layoutach. https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

Generalnie rozkład okna powinno tworzyć się właśnie na bazie layoutów. W wtedy masz automatyczne skalowanie obiektów, dostosowywanie wielkosci i tak dalej.

Nie polecam zaczynać zabawy od spring layout oraz gridBag. One są raczej używane przez edytory typu WYSIWYG

Podobne pytania

0 głosów
1 odpowiedź 336 wizyt
pytanie zadane 16 marca 2016 w Java przez mkl215 Początkujący (280 p.)
+1 głos
1 odpowiedź 458 wizyt
pytanie zadane 10 kwietnia 2022 w Java przez coriver Nowicjusz (170 p.)
+1 głos
1 odpowiedź 2,519 wizyt
pytanie zadane 9 października 2018 w Java przez C.J Obywatel (1,370 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,369 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...