Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.371 pregleda

Najnovija ↓

Molim pompoc oko jednostavnog layouta 13.11.2007. u 18:29 · pre 231 mesec #1
Petljam se vec duze oko layouta i izgubio sam konce, a cini mi se da je problem jednostavan.
Treba mi na jednom panelu u vrhu cetiri dugmeta i pored labela sa naslovom, a ispod treba da bude lista koja prikazuje trkace u cetiri trke. Ja vec imam panel koji u vrhu prikazuje dugmad i label:
Code:
pnlQuarter = new JPanel(); pnlQuarter.setLayout(new FlowLayout(FlowLayout.LEFT));
        btnRace1 = new JButton("Race 1");
        btnRace1.addActionListener(this);
        pnlQuarter.add(btnRace1);
                
        btnRace2 = new JButton("Race 2");
        btnRace2.addActionListener(this);
        pnlQuarter.add(btnRace2);
        
        btnRace3 = new JButton("Race 3");
        btnRace3.addActionListener(this);
        pnlQuarter.add(btnRace3);
        
        btnRace4 = new JButton("Race 4");
        btnRace4.addActionListener(this);
        pnlQuarter.add(btnRace4);
        lblRace = new JLabel(title);
        pnlQuarter.add(lblRace);
Pa sam mislio da je najlakse da iniciram novi panel samo za JList, i da stavim taj panel na pnlQuarter Center ili south?
Otprilike ovako:
Code:
//initialising panel to attach list to
        pnlList = new JPanel();
                    
        listModel = new DefaultListModel();
        raceList = new JList(listModel);
        pnlList.add(raceList);
        pnlQuarter.add(pnlList, BorderLayout.CENTER);
Sto naravno ne daje ono sto hocu.menjao sam razne kombinacije border i flow layouta i nista. Evo saljem i sliku kako otprilike treba da izgleda. Samo je kod kojim sam to postigao jako los, tj neprihvatljiv. Molim ako nekom nije tesko da mi posalje kod u skladu sa ovim prikazanim jer mi se to cini dobra ideja. Puno hvala unapred
Re: Molim pompoc oko jednostavnog layouta 13.11.2007. u 22:47 · pre 231 mesec
izmenjeno 1 put, poslednji put rj444 13.11.2007. u 23:22
  1. rj44413.11.2007. u 23:22zapis iz teksta poruke
#2
1. Napravi jedan glavni panel (glavniPanel) koji stavljas u JFrame kasnije. On ima BorderLayout (glavniPanel.setLayout(new BorderLayout(); ).
2. Zatim napravi jos jedan panel koji se zove npr. severniPanel. Na njega postavi dugmice kao sto si to vec uradio (prvi deo koda). Znaci moze da bude FlowLayout ako tako zelis. Ovaj panel onda dodaj u severni deo glavnog panela (glavniPanel.add(severniPanel, BorderLayout.NORTH) ;)
3. A onda napravi jos jedan panel, npr. centralniPanel, na koji ces staviti samo listu. I on moze imati FlowLayout raspored. Onda, na slican nacin u 2., dodaj ovaj panel na centralni (glavniPanel.add(centralniPanel, BorderLayout.CENTER) ;).
4. Postavi glavni panel u frame: frame.setContentPane(glavniPanel) ;.

To je to. Mozda sam pogesio oko sintakse, jer se ovo pise rucno samo kada ucis Javu :D. Kasnije imas alate koji generisu kod, a ti crtas GUI.

Ako te zanima, greska u tvom kodu je ta sto imas jedan panel (pnlQuarter) na koji sve dodajes, ali tako da si postavio FlowLayout za njega, a kasnije zelis da dodas listu kao da je BorderLayout podesen. Mislim da je u toj situaciji ponasanje takvo da se on postavi prema FlowLayout rasporedu.

Uopsteno, kada imas posla sa kompleksnim GUI-jem, napravi lepu hijerarhiju panela, mnogo je lakse. Ja skoro uvek za osnovni panel koristim BorderLayout, a u njegove delove postavljam panele koji imaju GridBagLayout i koji opet mogu da sadrze neke druge panele ako je to potrebno. GridBag layout menadzer je slozeniji, ali ako imas vremena preporucujem ti da ga naucis, znatno je napredniji od Flow i BorderLayout-a.

Pozdrav,
Rade

EDIT: Okacio sam ti primer kako to izgleda kada se napravi sa VE dodatkom za eclipse. Mozda ti nesto bude koristilo iako je kod dosta drugaciji od onoga sto ti pises jer je automatski generisan.
Potpis
http://www.linkedin.com/in/radegm
Re: Molim pompoc oko jednostavnog layouta 14.11.2007. u 06:07 · pre 231 mesec #3
E bas ti Hvala, super odgovor. Sad mi je skoro sve jasno vec iz prvog citanja, a prethodno sam dva sata citao tutorijale i nista nisam pohvatao :)
Pozdrav
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme