Occi Skrevet 16. mai 2011 Del Skrevet 16. mai 2011 (endret) Hei Har et skoleprosjekt gående hvor jeg sliter litt med GUIet. Forløpig oppsett, som ikke fungerer noe godt i det hele tatt (det kjører menmen) er: - class Vindu extends som inneholder JTabbedPane som bruker GridLayout(1, 1) - class Faneinnhold inneholder metoder som returnerer JPanel's som også bruker GridLayout(1, 1) - som deretter blir lagt til i Vindu via JTabbedPane.addTab() - i main så opprettes det en JFrame som gjør getContentPane().add(vindu) Utgangspunktet i det her er dette eksempelet hvor det brukes BorderLayout.CENTER, noe som fører til i mitt tilfelle at alle tekstfeltene blir strukket ut til border osv., og jeg trenger dermed noe nytt virker det som. Grunnen til at det er gjort som det er gjort er pga. jeg ikke har funnet noen bedre metode som vi får til å fungere. Derfor lurer jeg på hvordan jeg burde gjøre dette her. Regner med at vi må endre layout brukt i Vindu og layout til fanene. GUIet er tenkt å se ut som noe slik: (Generert med Netbeans, noe vi ikke kan gjøre) (klikk for full størrelse) Hvilken layout burde vi bruke på - main sin JFrame som adder Vindu, - Vindu som er JPanel - og JPanel'ene som skal ligge i de forskjellige fanene viktigste er å bare få opp Vindu'et som er JPanel, og at det da ikke endrer på inneholdet i fanene. Endret 16. mai 2011 av Occi Lenke til kommentar
Zic0 Skrevet 16. mai 2011 Del Skrevet 16. mai 2011 Er det sånn GUIet MÅ kodes? Anbefaler deg å lage det i en IDE som Netbeans/Eclipse. Har selv opplevd hvor kranglete swing kan være. Lenke til kommentar
Occi Skrevet 16. mai 2011 Forfatter Del Skrevet 16. mai 2011 Dessverre ja, et av kravene til oppgaven er ordrett; "GUI-programmering". Mao. er ikke akkurat å "tegne" det i Netbeans lovlig. Lenke til kommentar
torbjørn marø Skrevet 16. mai 2011 Del Skrevet 16. mai 2011 Dessverre ja, et av kravene til oppgaven er ordrett; "GUI-programmering". Mao. er ikke akkurat å "tegne" det i Netbeans lovlig. Bruk av grafiske DSL'er (som GUI-designere) er fortsatt programmering! Det kan nok være lurt å gjøre det for hånd i starten - det lærer man mer av, og det er nok derfor dere skal gjøre det - men i praktisk arbeide bruker programmerere som regel designverktøy for å lage GUIs. Lenke til kommentar
Occi Skrevet 16. mai 2011 Forfatter Del Skrevet 16. mai 2011 Ser den, men er litt risikabel å satse på noe slikt noe nå - om det rett og slett ikke er lov. Vi har hatt GUI i nå snart to semester, men det har gått treigt, og vi har alltid programmert det for hånd. For å si det slik, læreren bruker TextPad.. Oppgaven er nok beregnet for å kode det for hånd, dessverre. Lenke til kommentar
Occi Skrevet 20. mai 2011 Forfatter Del Skrevet 20. mai 2011 Endte med at vi ikke fikk tid til å se mer på GUIet, så resultatet ble en fastsatt størrelse på vinduet, samt GridLayout(0, 2). Med andre ord blir fields, areas og buttons strukket til de fyller plassen sin, og det ser ikke veldig bra ut. Men det fungerer i alle fall Lenke til kommentar
Zic0 Skrevet 20. mai 2011 Del Skrevet 20. mai 2011 (endret) Litt sent svar, men det er GridBagLayout du skulle ha sett på. Endret 20. mai 2011 av Zic0 Lenke til kommentar
Occi Skrevet 21. mai 2011 Forfatter Del Skrevet 21. mai 2011 Det kommer flere oppgaver, så kjekt å vite, takker :-) Lenke til kommentar
blackbrrd Skrevet 21. mai 2011 Del Skrevet 21. mai 2011 Jepp, GridBagLayout er tingen å gå for. Btw, selv om du går for GridBagLayout så lønner det seg å bruke diverse paneler inni hverandre for å få delt opp ting, ikke bare bruke ett panel med GridBagLayout. Det går forresten sikkert 10x fortere å lære seg gui-programmering hvis du bruker en designer for så å se på koden som blir generert. Har alltid brukt JBuilder til dette, men det er vel et produkt som ikke er å oppdrive lenger. Lenke til kommentar
Occi Skrevet 22. mai 2011 Forfatter Del Skrevet 22. mai 2011 Ingen dum idé. Tok en liten kikk på koden ved boxlayout(?) som netbeans bruker, og den virket grusom å kode manuelt. Sette alle mulige pixelavstander manuelt. Men må se litt mer på det før jeg uttaler meg helt Lenke til kommentar
blackbrrd Skrevet 22. mai 2011 Del Skrevet 22. mai 2011 Ingen dum idé. Tok en liten kikk på koden ved boxlayout(?) som netbeans bruker, og den virket grusom å kode manuelt. Sette alle mulige pixelavstander manuelt. Men må se litt mer på det før jeg uttaler meg helt Hmmm... JBuilder generer i utgangspunktet layoutene i xylayout (med pixel-størrelse på alt), men man kan (og bør) endre layout til gridbaglayout, så setter den alt opp der, så må man endre på smådill selv. Lenke til kommentar
Occi Skrevet 22. mai 2011 Forfatter Del Skrevet 22. mai 2011 Er JBuilder noe spesielle greier siden du nevnte at det kanskje ikke var å oppdrive lenger? Gammelt program? Lenke til kommentar
blackbrrd Skrevet 23. mai 2011 Del Skrevet 23. mai 2011 Hmm, ser faktisk ut til at den fortsatt er under utvikling: http://www.embarcadero.com/products/jbuilder ... aner ikke hvordan den versjonen er... Jeg bruker JBuilder 2006, så den begynner å dra på årene. Lenke til kommentar
Snorre Skrevet 25. august 2011 Del Skrevet 25. august 2011 Eclipse har fått en utvidelse kalt WindowBuilder som ser ut til å fungere ganske greit. Når det gjelder det å kode GUI manuelt, er jeg stor fan av å bruke kombinasjoner av BoxLayout og GridLayout. GridLayout er greit hvis alle elementene skal være like store, men blir problematisk så snart du vil ha gui-komponenter i ulike størrelser. Jeg pleier ofte å bygge opp gui-et litt lagvis. Så jeg legger gjerne noen få komponenter (f. eks en label og en JTextField) i et eget panel med horisontal BoxLayout. Deretter stacker jeg en rekke av disse panelene inn i et nytt panel med vertikal BoxLayout. Det å bygge opp et kompleks gui kun med bruk av standard swing-biblioteker kan være et sår i bakenden, men når man får det til er det litt artig. De to vinduene under ble laget kun med standard swing-kode, og jeg er egentlig relativt fornøyd med hvordan de ble seende ut. de ser riktignok ikke helt like bra ut uten innhold i. Men siden database-serveren applikasjonen brukte er nede, er det ikke stort å gjøre med det. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå