Avatar billede meek Nybegynder
23. maj 2002 - 10:56 Der er 8 kommentarer og
1 løsning

JOptionPane placering...

Hej eksperter;

Jeg har en Jframe med én knap på. Et klik på knappen vil få en ButtonHandler klasse til at vise en JOptionPane. Problemet er at JOptionPanen bliver vist midt på skærmen og IKKE midt i min JFrame.

Jeg ved at den 1. paramter på en JOptionPane er PARENT COMPONENT svarende til min JFrame. Hvis jeg laver en JOptionPane i JFramen virker det også fint når jeg angiver this.

Problemet er bare at jeg ikke kan kalde min JFrame fra min buttonhandler-klasse da den ikke har adgang til den. Er der en nem måde at få JOptionPanen til at vises midt i JFramen uden at fuske uden om min Buttonbhandler klasse...???

Meek
Avatar billede jword Nybegynder
23. maj 2002 - 11:43 #1
Under alle omstændigheder har du brug for en reference til din jframe, enten for at bruge den i option-pane metoden, eller til at få placeringen af framen. Hvorfor gør du ikke din buttonhandler class til en inner class af jframe? Alternativt kan du få fat i dit frame via SwingUtilities.getRoot(component).
Avatar billede meek Nybegynder
23. maj 2002 - 12:12 #2
sidder og roder med det nu.

SwingUtilities.getRoot(component) skal have en parameter nemlig COMPONENT, altså navnet på barnet, for at få forældren. Hvad skal jeg angive ??? det er en ButtonHandler, der er altså ikke tale om en component ??
Avatar billede jword Nybegynder
23. maj 2002 - 12:30 #3
nu ved jeg ikke hvordan din 'buttonhandler' ser ud, men hvis du f.eks. bruger en aktionlistener el. kan du i eventkoden f.eks sige:

public void actionPerformed(ActionEvent e) {

JButton triggerbutton = (JButton)e.getSource();

}

og så har du din knap.
Avatar billede meek Nybegynder
23. maj 2002 - 12:38 #4
Så langt var jeg også kommet..

e.getSource()  (eller ae i mit tilfælde) returnerer et objekt og ikke en komponent ???

kan jeg få fat i knappens komponent ??
Avatar billede jword Nybegynder
23. maj 2002 - 12:46 #5
kig lige på min kode igen... e.getSource() returnerer et object som jeg med min kode caster til en jbutton. Bedre er dog at caste til component (mere generelt).
Avatar billede meek Nybegynder
23. maj 2002 - 13:00 #6
Nååårh... Cool nok, det fungerer..

Dog ligger den JOptionPanen lige over knappen og ikke centreret i vinduet... men OK !!

Meek
Avatar billede jword Nybegynder
23. maj 2002 - 13:01 #7
du skal ikke bruge din knap som argument til joptionpane... du skal bruge framen, som du får via SwingUtilities.getRoot(knap) ... isåfald skulle den gerne blive centreret i framen.
Avatar billede meek Nybegynder
23. maj 2002 - 13:10 #8
ok prøver lige...
Avatar billede meek Nybegynder
23. maj 2002 - 13:12 #9
det virker...
takker !!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Netcompany A/S

Network Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Ingeniør til Satellitkommunikation

Nextway Software A/S

Software Architect