[java] frame in applet goed zetten (focus)

Pagina: 1
Acties:

  • SilentStorm
  • Registratie: November 2000
  • Laatst online: 18-03 14:45
Ik ben voor school een opdracht aan het maken waarbij ik data uit een interne database moet uitlezen. Ik heb de basis daarvan (het inlezen van de database, menustructuur, etc) al klaar, maar bij het laten zien van de uitvoer krijg ik mn uitvoer window niet gefocused. Nou dacht ik zelf dat dit richting RTFM&UTFS enzo ging, maar heb het toch nergens kunnen vinden. Het zou nl moeten werken met requestfocus(), maar dat doet gewoon helemaal niets. Ik doe dat vanuit de constructor van de class die bij het frame hoort. Als ik het vanuit de 'hoofdapplicatie' wil doen, krijg ik geen requestfocus() in mn lijstje met mogelijkheden (+foutmelding als ik t handmatig doe), dus zo kan het niet. Ik heb nog een beetje met een focuslistener zitten prutsen, maar dat lijkt me niet echt wat ik zoek.

Sorry als dit een extreem domme vraag is, maar ik kan het echt nergens vinden.. hier op tweakers maar een paar topics over search en bij javasoft.com ong 16000, maar daar vindt ik geen relevante resultaten. Wel een artikeltje 'focus on focus', maar dat krijg ik hier niet geopend.

Localhost is where the heart is


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Focus is altijd een beetje een gezeur inderdaad...

Volgens werkt requestFocus pas als het component ook daadwerkelijk zichtbaar is. Is dat misschien de oplossing?

Misschien dat je iets preciezer kan omschrijven waar je de focus wilt hebben en wat er mis is met de huidige situatie?

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


  • SilentStorm
  • Registratie: November 2000
  • Laatst online: 18-03 14:45
het frame wordt gestart (new frame etc). In de constructor gooi ik er dan allerlei componenten als buttons, textfields en labels in. Vervolgens maak ik m zichtbaar (setVisible geloof ik. Heb het nu niet bij de hand). Daarna doe ik een requestfocus (ook vanuit de constructor omdat het op een andere manier niet toegankelijk is).

Het probleem is nu dat als ik het bovenstaande doe, ik dat frame helemaal als achterste laag van mn desktop (windows) heb. Dit komt bij die focus niet naar voren en blijft gewoon daarachter hangen. Van een focus merk ik niets.

> eerst zichtbaar maken: dus naar de voorgrond? heb wat ge-expirimenteerd met toFront(), maar daar krijg ik m ook niet mee naar voren. Werkt dit beiden misschien pas goed als ik die focuslistener goed heb staan? want daar was ik ook nog niet helemaal zeker van..

..in delphi is het zo makkelijk :/

Localhost is where the heart is


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Probeer eens met .show() het frame zichtbaar te maken?

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


  • SilentStorm
  • Registratie: November 2000
  • Laatst online: 18-03 14:45
veranderd niets.. ik heb de focusListener goed staan trouwens, maar geen effect. Het vreemde is dat het nieuwe frame helemaal achterin wordt aagemaakt. Dus achter Jbuilder, achter een explorer mapje en achter het console window. Met wat voor focus of toFront() actie ook, gebeurd er niets met het frame.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
  { setLayout(new FlowLayout());
    setSize(200,455);
    setTitle("Componisten");
    setBackground(new Color(0xdd, 0xee, 0xff)); // lichtblauw

    addFocusListener(this);

//   [..] toevoegen buttons

    show();
    toFront();
    requestFocus();
  }

Localhost is where the heart is


Verwijderd

Op maandag 10 december 2001 22:02 schreef SilentStorm het volgende:
het frame wordt gestart (new frame etc).
[..]
Het probleem is nu dat als ik het bovenstaande doe, ik dat frame helemaal als achterste laag van mn desktop (windows) heb.
In principe zou dat gewoon standaard goed moeten gaan.
Laat het stuk eens zien waar "het frame wordt gestart".

Verwijderd

"ik heb de focusListener goed staan trouwens, maar geen effect. Het vreemde is dat het nieuwe frame helemaal achterin wordt aagemaakt. Dus achter Jbuilder, achter een explorer mapje en achter het console window."

Zal dan wel aan JBuilder liggen he... run hem eens standalone.

  • SilentStorm
  • Registratie: November 2000
  • Laatst online: 18-03 14:45
he verrek. T was idd Jbuilder. Ik had geen grafische rechten op onze linux server, dus zat wat te prutsen in cmd om de goeie jdk te vinden enzo..Maarre hij doet t nu wel goed.. *grom*

Localhost is where the heart is

Pagina: 1