[Java] Hoe makkelijk een GUI maken

Pagina: 1
Acties:
  • 118 views sinds 30-01-2008
  • Reageer

  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 19:58

Hu9o

Schokkend

Topicstarter
Ik ben al een tijdje aan het prutsen met die GridBagLayOut, maar er moet toch een betere/makkelijkere manier zijn om fatsoenlijk een gui te ontwerpen :?


Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        GridBagLayout gbl = new GridBagLayout();
        this.setLayout(gbl);
        
        GridBagConstraints c = new GridBagConstraints();
        
        c.fill = GridBagConstraints.BOTH;
        c.weightx = 90;
        c.weighty = 100;
        c.insets = new Insets(2,2,2,2);
        
        
        //Button Connect
        c.gridx = 0;
        c.gridy = 1;
        c.gridwidth = 1;
        c.gridheight = 1;
        gbl.setConstraints(btConnect ,c);
        add(btConnect);
        
        //Button DisConnect
        c.gridx = 1;
        c.gridy = 1;
        c.gridwidth = 1;
        c.gridheight = 1;
        gbl.setConstraints(btDisConnect,c);
        add(btDisConnect);


Maar zo kan ik dus niet de knoppen op de pixel nauwkeurig plaatsen. Dit kan in Delphi/VB enz wel.

Hoe gaat dit in Java?

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

JBuilder
Sun One Studio

[ Voor 5% gewijzigd door MeIsTwisted op 21-11-2002 22:51 ]

Multimonitor is relax :P


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Asl je zelf volledige controle over de location en size van controls wilt hebben dan kan je of je eigen LayoutManager schrijven. Of je kan gewoon setLayout( null ) doen. Op deze manier kan je bij al je controls gewoon de setBounds methode gebruiken.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 19:58

Hu9o

Schokkend

Topicstarter
Bedankt, ik heb het volgens de 2e manier die rwb beschreef gedaan.


Java:
1
2
3
4
5
6
7
8
9
10
*Knip*
    public void init(){


    setLayout(null);
    
    btConnect.setBounds(1,50,100,200);
    add(btConnect);

*Knip*   


Dit is idd wat ik bedoelde :Y)

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Hu9o schreef op 21 november 2002 @ 23:06:
Bedankt, ik heb het volgens de 2e manier die rwb beschreef gedaan.
Bedenk wel dat je al je kansen voor een normale resize van je scherm nu vergooid hebt. Of je moet zin hebben om etterlijke lijnen resize code te gaan schrijven :X

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 21:36
In een aantal gevallen wil je ook niet dat dingen mee resizen. Zo vind ik het gruwelijk als inputvelden verplaatsen/van grootte veranderen ed..

Op www.swingsoft.com heeft ooit de SwingBuilder gestaan, maar er staat al weer ruim een maand 'under construction' :( Heb hier een hele oude versie liggen (die nog niet eens met javax.swing werkt, maar die voorganger), maar die werkt al heel aardig!!

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

Glimi schreef op 21 november 2002 @ 23:10:
[...]

Bedenk wel dat je al je kansen voor een normale resize van je scherm nu vergooid hebt. Of je moet zin hebben om etterlijke lijnen resize code te gaan schrijven :X
En hou is zoiets op te lossen??
Ikzelf liep laatst ook tegen zo'n probleem aan tijdens school.. Heb het toen smerig opgelost door nulllayout te kiezen en me resize te disable..

Maar hoe krijg je dus de zelfde effecten als een nulllayout, (dus met je SetBound) maar toch de flexibiliteit van bv een GridLayout (qua resizen)

42


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Ik heb een tijdje geleden dit gemaakt: 'SlotLayout' (zit ook een voorbeeldje bij). Het zit een beetje tussen GridLayout en GridBagLayout in kwa functionaliteit, maar is een stuk minder ingewikkeld dan de laatste.

[ Voor 6% gewijzigd door marcusk op 21-11-2002 23:21 ]


  • bazzs2001
  • Registratie: April 2002
  • Laatst online: 13-06 11:18

bazzs2001

je moet knagen wat lekker is

Glimi schreef op 21 November 2002 @ 23:10:
[...]

Bedenk wel dat je al je kansen voor een normale resize van je scherm nu vergooid hebt. Of je moet zin hebben om etterlijke lijnen resize code te gaan schrijven :X
Dat niet alleen, in een ander OS kan de GUI er nog flink anders zien ook (uit eigen ervaring met Linux/Windows)

groeten


  • OxiMoron
  • Registratie: November 2001
  • Laatst online: 27-06 10:54
Ik ben op dit moment bezig een programma te maken die als invoer een xml heeft en als uitvoer een gui in java.

Laat je wel weten als het af is.

P.S. het word wel geschreven in Clean, dus als je de source wilt hebben: mag van mij, maar veel succes met het leren van de taal ;)

Albert Einstein: A question that sometime drives me hazy: Am I or are the others crazy?


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 12:58
OxiMoron schreef op 22 November 2002 @ 09:21:
P.S. het word wel geschreven in Clean, dus als je de source wilt hebben: mag van mij, maar veel succes met het leren van de taal ;)
Bestaat er al een Clean implementatie van een XML parser dan? En zo ja, is dat een echte functionele implementatie of interfaced 'ie met een bestaande library (xerces, expat, e.d.)?

Of ben je zelf bezig met een XML parser implementatie? Daar ben ik dan wel weer in geïnteresseerd, namelijk. :)

  • bille
  • Registratie: Mei 2000
  • Laatst online: 05-08 23:45

bille

Don't call me Buff

TogetherJ 6 is ook een goede app om je GUI mee te bouwen.. kan je ook meteen mooi in modelleren e.d.

www.togethersoft.com

[ Voor 11% gewijzigd door bille op 22-11-2002 16:35 ]

Ultra Pilammo 6666Mhz AMD, 4251Mbit/s RAM, Gefors V6666 MegaTurbo, 43" TFS, Ultra 80Gig Firewire netwerkkaart en 5D geluid met 66 speakers in 5 dimensies


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

SwingBuilder XML=>Java code... ook interessant

  • TheOneLLama
  • Registratie: Oktober 2000
  • Laatst online: 20-01-2022

TheOneLLama

A llama like no llama before

OxiMoron schreef op 22 november 2002 @ 09:21:
Ik ben op dit moment bezig een programma te maken die als invoer een xml heeft en als uitvoer een gui in java.

Laat je wel weten als het af is.

P.S. het word wel geschreven in Clean, dus als je de source wilt hebben: mag van mij, maar veel succes met het leren van de taal ;)
In hoeverre is jou XML beter als XUL? Of gebruik je dat al?

Opera OpenOffice.org Jabber Psi jabber://llama@mordax.com


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Je pakt met GridBagLayout ook wel de moeilijkste layoutmanager die er is ;) Die kan ik ook amper zonder IDE gebruiken :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik geloof dat Sun ook nog een broertje heeft gemaakt van de GridBagLayout als vervanging omdat GridBag idd lastig is. Je moet even zoeken naar TableLayout. En verder gebruik ik zelf altijd een een hele zooi simpele LayoutManagers door elkaar, dat werkt een stuk handiger ;)

Verwijderd

Ik gebruik de setLayout(null) en setBounds combinatie als ik een GUI in Java code moet schrijven. Met alle bijbehorende formules voor plaats en breedte/hoogte (maar ik hou wel van wiskunde dus dat is geen probleem). Voordeel vind ik wel dat je dan de hele lay-out precies hebt zoals je wilt: met in/uitzoomen wanneer nodig en exotische rangschikkingen bij bepaalde formaten van het hoofdvenster. De extra regels code zijn wel een minpunt, maar die heb je bij GridBagLayout (en veel andere layoutmanagers) ook. Wil je een GUI zonder moeilijk layout gedoe maken, dan zou je bijvoorbeeld Visual Studio of een Borland Builder kunnen gebruiken.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Hmzz... setLayout is niet echt een goeie oplossing. Je kan sowieso niet aan een scherm vragen wat zijn geprefereerde size is. En verder is resizen ook slecht. Ik raad deze aanpak dus ook ten zeerste af (vooral omdat ik hem vroeger ook heb gebruikt). Ik heb al heel wat gecompliceerde gebruikers interfaces in elkaar gezet en die bouw ik verder modulair op (dus veel objecten). En aangezien het dus stuk voor stuk gaat, zijn kleine layouts ook vanzelf sprekend.

Daarnaast ontwikkelen mensen met RAD tools meestal een slechte gewoonte. Ze maken 1 grote sourcefile waar alles in staat. Het 'ziet' er aan de buiten kant leuk uit, maar het aan de binnenkant een chaos. Dit zie ik trouwens ook vaak terug bij Delphi.
Pagina: 1