Skalowalność obiektów w oknie

0

Witam,

korzystam z platformy eclipse wraz z wtyczką visualswing4eclipse. Przykładowe dodanie elementu do okna:

add(getJLabel0(), new Constraints(new Leading(15, 12, 12), new Leading(45, 12, 12)));

Chce, by wraz z powiększaniem okna, powiększały się również elementy znajdujące się w nim. Przeczytałem, że jest to między innymi możliwe za pomocą Layout Managers, ale w nim inaczej dodaje się elementy. Jak najprościej mogę zrealizować swój cel?

0

Ręcznie powiększając elementy. Dziwie się że ktoś korzysta z gotowców, ja zawsze tworząc aplikcję z Swing ręcznie pisałem wszystko z tym że

setLayout(null);

Wtedy elementy ustawiasz ręcznie i nie ma problemu że coś będzie nie po myśli.

0
  1. Rekomendowany. Nie ustawiaj komponentów ręcznie tylko poprzez layoutManagera.
  2. Możesz dodać componentListenera z adapterem na metodę componentResized i wtedy przeliczać wartości pozycji.
0

Na razie próbuje z użyciem componentResized. Na początek próbuje ustawić label i textfield tak, by były obok siebie, oraz dopasować wielkość czcionki:

	
	private void componentComponentResized(ComponentEvent event) {
		int a=getContentPane().getWidth();
		int b=getContentPane().getHeight();
		Font font1 = new Font(Font.SANS_SERIF, 0, b/14);
		jTextField0.setFont(font1);
		//jLabel0.setFont(font1);
		jTextField1.setText(Integer.toString(a));
		jTextField0.setBounds(a/3, b/10, (int) (0.6*a), (int) (0.1*b));
		jLabel0.setBounds(a/20, b/10, a/3, (int) (0.1*b));}

Dobrze kombinuje, czy da się to zrealizować prościej? Jak próbuje dopasować czcionkę labela do okna, to szerokość TextFielda przestaje się zmieniać wraz z szerokością okna, jak temu zaradzić?

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