Problem z layoutami

0

Czy taki kod jest poprawny?
p to JPanel
cp też,
table JTable
i backbutton

ComponentUtils.setSize(cp, fSize); ustawia wszystkie rozmiar component'a.
DimensionUtils.mult(fSize, 0.9); mnoży Dimension przez skalar.

Wszystko ma wyglądać tak:
wszystko jest w "p",
cp jest wyśrodkowany w p, no ale coś nie działa metoda setAlignment__Y__(), bo setAlignmentX() działa dobrze,
w cp na górze jest tabela na całą szerokość cp,
na dole, w prawym rogu jest przycisk "back". // no i tutaj też jest problem z setAlignment__X__() tylko, że z X.

Jak ktoś będzie czytać kod, to radzę zwrócić uwagę na kleje (glue, jeden, między tabelą i buttonem) i jedno ridgidArea (przed tabelą).

Czyli 2 problemy mam z tymi metodami. No i czy dobrze używam layoutów?

 

		// add background panel to JFrame
		p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
		f.add(p);
		// add subpanel to background panel
		cp.add(Box.createRigidArea(new Dimension(0,34)));
		Dimension fSize = new Dimension(f.getSize());
		DimensionUtils.mult(fSize, 0.9);
		ComponentUtils.setSize(cp, fSize);
		cp.setAlignmentX(Component.CENTER_ALIGNMENT);
		cp.setAlignmentY(Component.BOTTOM_ALIGNMENT);
		cp.setLayout(new BoxLayout(cp, BoxLayout.Y_AXIS));
		p.add(cp);
		// subpanel
		// *table
		cp.add(a);
		cp.add(Box.createGlue());
		// *back button
		backButton.setAlignmentX(Component.RIGHT_ALIGNMENT);
		backButton.setAlignmentY(Component.BOTTOM_ALIGNMENT);
		cp.add(backButton);

Błędy na obrazku:
*panel cp jest na samej górze,
*backButton nie jest przy prawej krawędzi, tylko obok środka, nie wiem dlaczego.
user image

1

Jak dla mnie to jakieś przekombinowane to...
Nie lepiej odpalić sobie NetBeans'a i użyć edytora do tego? Co prawda on operuje na trochę innym layouciue ale z twojej strony nie wymaga to właściwie żadnej ingerencji w kod. Później kopiujesz to do Eclipsa (tam chyba 2 biblioteki trzeba będzie wyciągnąć z net beana) i masz gotowy szablo później tylko wedle własnych potrzeb dodajesz akcje...

0

A może mógłby ktoś polecić coś do eclipse (coś lepszego, niż visual editor). Jak jest coś takiego, to dajcie mi piszcie. Przerzucam się na Netbeans'a.

1

W NetBeansie jest możliwość wybrania Layoutu. Domyślnie jest chyba jakiś Free cośtam. NetBeans 7.0 dodaje obsługę GridBagLayout z poziomu tego graficznego edytora.

A wtyczka do Eclipse to WindowBuilder Pro (oryginał to WindowBuilder Pro for Smalltalk zrobiony przez: http://www.instantiations.com/ ). Znajdziesz ją pod: http://code.google.com/intl/pl-PL/javadevtools/download-wbpro.html

PS. Siedzę tylko na NetBeansie, tego czegoś w Eclipsie nie używałem.

0

Dzięki. No ale i tak ten projekt zrobię teraz w netbeans'ie, bo eclipse mi się trochę tnie :/ (muszę pozbyć się systemu operacyjnego). Netbeans mi działa dobrze.

btw. W netbeansie nie można edytować tabeli, co nie?

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