Toon posts:

[java] dynamisch opbouwen scherm

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

Verwijderd

Topicstarter
Hallo,

Ben bezig met een tooltje die zorgt voor communicatie met een web-applicatie.
Deze tool moet dynamisch een scherm opbouwen a.d.v. een XML bestand.
Dus als er staat
code:
1
2
3
<XMLveld1>bla</XMLveld1>
<XMLveld2>bla</XMLveld2>
<XMLveld3>bla</XMLveld3>

Dan is het de bedoeling dat ik in mijn java scherm opgebouwd krijg
3 tekstvakken met daarvoor een label van de xml tag.

Het hoeft niet runtime, maar gebeurt tijdens het aanmaken van het scherm.
Nu was ik al bezig, maar ik weet bijvoorbeeld in VB kun je "control.add" mbv collection een button/ tekstvak en wat al niet meer dynamisch toevoegen.
Vraag is dus of zoiets in java ook mogelijk is.

De rest van de tool is niet moeilijk alleen hier kwam ik even niet uit. Omdat ik niet een soort van Controls container kon vinden (misschien wel glashard overheen gekeken.)

Thanks,

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

Alarmnummer

-= Tja =-

Check de add methodes van Container.

[edit]
En ja, het is mogelijk. Ik doe het zelf namelijk ook regelmatig.

[ Voor 52% gewijzigd door Alarmnummer op 18-08-2003 15:32 ]


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alle componenten worden at runtime pas toegevoegd. Dat je via wat ingewikkeldere constructies de namen, het aantal, of de lokatie van de componenten bepaalt maakt helemaal niets uit.

Wat is het verschil?
code:
1
2
3
4
JPanel panel = new JPanel( ... );
panel.add(new JTextField());
panel.add(new JTextField());
panel.add(new JTextField());


code:
1
2
3
4
JPanel panel = new JPanel( ... );
for(int i=0; i<3; i++) {
  panel.add(new JTextField());
}

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
vcb dankt mravenboer en Alarmnummer!!
Jullie maken veel GUI e.d. in java zeker ?
(Ik doe alleen op een embedded webserver en daar heb je niet zoveel GUI vandaar)

Verwijderd

Als je veel aan de server kant doet, dan weet je toch juist hoe java in elkaar steekt? Je moet toch wat weten van de performance lijkt mij...

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
vcb: Jullie maken veel GUI e.d. in java zeker ?
Mwah doe het tegenwoordig eigenlijk zelden of nooit meer ;) . Als je even bezig bent zal je snel ontdekken dat dit niet echt een diepgaande vraag is.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Verwijderd schreef op 18 August 2003 @ 16:00:
Als je veel aan de server kant doet, dan weet je toch juist hoe java in elkaar steekt? Je moet toch wat weten van de performance lijkt mij...
embedded webServer => zoek op Chai bij HP is een webServer wat op Printers draait. (of via de link in mijn sig, nog makkelijker)
De algehele architectuur is gebasseerd op JDK 1.1.8
AWT en Swing wordt niet ondersteunt derhalve doe ik er erg weinig mee. Ik zocht dan ook naar iets van een container class.... kon hem alleen even niet vinden (Ik keek er dus idd glashard overheen) En kan nu de tool mooi afbouwen.

De tool draait niet op de printer maar moet "babbelen" met de printer.

Verwijderd

Topicstarter
mbravenboer schreef op 18 August 2003 @ 16:05:
[...]

Mwah doe het tegenwoordig eigenlijk zelden of nooit meer ;) . Als je even bezig bent zal je snel ontdekken dat dit niet echt een diepgaande vraag is.
Ervaring in iets is altijd makkelijk ;)

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

Alarmnummer

-= Tja =-

Als je een goeie stijl voor gui schrijven wilt zien, dan moet je eens kijken naar het werk van Karsten Lentzsch van http://www.jgoodies.com Ik heb intussen veel stukken gui al herschreven naar zijn stijl en het valt totaal niet te vergelijken met die ellende die jbuilder bv uithoest, of de code die je gewoonlijk zelfs schrijft en die sun bv in in voorbeelden hanteerd. (JBuilder gebruikte ik trouwens alleen nog maar voor prototypen btw)

[ Voor 22% gewijzigd door Alarmnummer op 18-08-2003 16:14 ]


Verwijderd

Topicstarter
Looks good!
Ga ik me zowiezo verder in verdiepen, in mijn eigen tijd ;)

Verwijderd

@Alarmnummer: leuke site

Jbuilder is doffe ellende, alleen handig voor het designen van GUI's (layout bepalen e.d.)

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

Alarmnummer

-= Tja =-

Ik ben intussen wel goed genoeg thuis om dit ook zonder JBuilder te bepalen. Ik gebruik JBuilder zo heel en nu dan wel eens een keer om te prototypen: even laten zien wat ik in gedachten had. Met de gegenereerde sourcecode doe ik niets meer.

Ik vind het trouwens ook superirritant dat jbuilder alle componenten op je scherm als member gaat aanmaken. Hij had het veel beter lokaal kunnen declareren:

code:
1
2
3
4
JComponent buildTextComponent(){
     _textArea = new JTextArea();
     return new JScrollPane(_textArea);
}

Ik heb belangstelling bij _textArea, maar niet bij JScrollPane. Deze manier van aanpak gebruik Karsten Lentzsch trouwens ook, en het werkt echt handig.

  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
Uhm, zou je het bovenstaande niet static kunnen maken binnen een project. En dat je daarvandaan al je UI componenten krijgt. Tuurlijk kan het, maar is dit ook handig?

Groetjes


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

Alarmnummer

-= Tja =-

Het is niet handig omdat ik dan maar 1 _textArea in mijn systeem kan hebben en dat lijkt me redelijk onpraktisch ;) Wat jij bedoelt is een factory-method en dat kan voor sommige dingen idd erg handig zijn:

Java:
1
2
3
4
5
6
7
8
9
10
11
static JSplitPane buildBorderlessSplitPane(){
   JSplitPane pane = new JSplitPane();
   pane.setBorder(BorderFactory.createEmptyBorder());
   
   if(splitPane.getUI () instanceof BasicSplitPaneUI){
      BasicSplitPaneUI ui = (BasicSplitPaneUI) pane.getUI();
      ui.getDivider().setBorder(BorderFactory.createEmptyBorder());
   }

   return pane;
}

[ Voor 7% gewijzigd door Alarmnummer op 19-08-2003 09:56 ]


  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
Het was inderdaad niet mijn bedoeling om mijn textarea static te maken...Maar zoiets als een factory-method komt aardig in de buurt.....Zijn hier al jars voor te downloaden. Voor DB verkeer zijn ze er wel.

Groetjes


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

Alarmnummer

-= Tja =-

yrew schreef op 19 August 2003 @ 09:51:
Het was inderdaad niet mijn bedoeling om mijn textarea static te maken...Maar zoiets als een factory-method komt aardig in de buurt.....Zijn hier al jars voor te downloaden. Voor DB verkeer zijn ze er wel.
Ik neem aan dat je een 'handige' widget factory bedoelt. JGoodies heeft een hele fijne, alleen ongelovelijk jammer (met de nadruk op ongelovelijk jammer) dat die niet opensource gaat worden. Daar zitten echt een hele lading enorm fijne widgets en factory methods in.

  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
Hmmm, misschien een luie vraag...maar is jGoodies goed te integreren met bestaande projecten of zijn er grote aanpassingen nodig in je ontwerp? en heeft dit nog te maken met de topic-titel? :s

Groetjes


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

Alarmnummer

-= Tja =-

yrew schreef op 19 August 2003 @ 10:04:
Hmmm, misschien een luie vraag...maar is jGoodies goed te integreren met bestaande projecten of zijn er grote aanpassingen nodig in je ontwerp?
Het ligt er maar net aan wat je wilt. Ik heb zijn stijl overgenomen, dus ik moest wel een aantal sources herschrijven. Verder kan je zijn look and feels ook gebruiken (zien er strak uit) en dat kost geen moeite. Als je zijn LooksPro of SwingSuite wilt gebruiken ben je denk ik wel even bezig om je project op te poetsen. Op zijn site heeft hij ook een overzichtje ergens staan hoe lang het volgens hem gaat duren (lijkt me trouwens lastig om een uitspraak over te doen als je niet weet hoeveel code aangepast moet worden).
en heeft dit nog te maken met de topic-titel? :s
De beste topics zijn die offtopic gaan ;)

Verwijderd

Topicstarter
IK vraag me dan alleen af (ben een luie progameur dat moge duidelijk zijn) of zoiets ook in een WYSIWYG (niet dat JBuilder dat 100% is) maar ikzelf ben erg visueel ingesteld en vindt zoiets zeer prettig werken.
Ja om het dan daarna verder aan te passen, vindt ik geen punt, het geeft wel wat handvaten. Ik hoop dat ik hier nu niemand mee beledig ofzo ;)
Maar als JBuilder echt zo slecht is, waarom passen ze het dan niet aan? Ik kan me niet voorstellen dat ze dat al sinds versie 1 aanhouden. (JDK 1.1 .... hmmmm lastig ;)
De beste topics zijn die offtopic gaan ;)
Indeed :)

  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
Zijn er pagina's waar complete look & feels opstaan, of andere java based ui design pagina's?

Ik sta op het punt om mijn grootste angst te overwinnen GUIrexia....oftewel ik ril elke gedachte over user interfaces....de grafische dan met name.

Groetjes


  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
Verwijderd schreef op 20 augustus 2003 @ 00:15:
Maar als JBuilder echt zo slecht is, waarom passen ze het dan niet aan? Ik kan me niet voorstellen dat ze dat al sinds versie 1 aanhouden. (JDK 1.1 .... hmmmm lastig ;)
Smaken verschillen. De output is goed, de implementatie voor sommige niet, voor sommige helemaal niet, en voor andere weer wel.

Groetjes


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

Alarmnummer

-= Tja =-

yrew schreef op 20 August 2003 @ 08:47:
Zijn er pagina's waar complete look & feels opstaan, of andere java based ui design pagina's?

Ik sta op het punt om mijn grootste angst te overwinnen GUIrexia....oftewel ik ril elke gedachte over user interfaces....de grafische dan met name.
Gui`s schrijven kan best leuk zijn, er zijn enorm veel problemen (dat maakt gui schrijven ook lastig), maar met genoeg kennis over design patterns, een flinke portie verstand en enige ervaring, dan kan je de mooiste (codetechnisch en uiterlijk) gui`s schrijven.
Pagina: 1