/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Instantiering af et Window uden en skærm t~
Fra : Kenneth Vindum


Dato : 21-06-02 17:43

Hej!
Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren igennem
Netop(et fjernstyringsprogram), når jeg vil konfigurere den. Hver gang en
ftp-klient connecter til ftp serveren, laves en usynlig JFrame, som brugen
af serveren kan vælge at vise hvis det ønskes. Problemet er bare at
javax.swing.JFrame's superklasse java.awt.Window, har en metode
init(GraphicsConfiguration gc), som kaldes når JFrame instantieres. Metoden
ses her i en forkortet version:

private void init(GraphicsConfiguration gc) {
.....
this.graphicsConfig = GraphicsEnvironment.getLocalGraphicsEnvironment().
getDefaultScreenDevice().getDefaultConfiguration();
......

Rectangle screenBounds = graphicsConfig.getBounds();
Insets screenInsets = getToolkit().getScreenInsets(graphicsConfig);
int x = getX() + screenBounds.x + screenInsets.left;
int y = getY() + screenBounds.y + screenInsets.top;
setLocation(x, y);
}

Når der ikke er tilsluttet nogen skærm, vil GraphicsConfiguration's
getBounds() retunere null.
Derfor kommer følgende exception, når sætningen [int x = 0 + null.x + 0;]
regnes ud:

java.lang.NullPointerException
at java.awt.Window.init(Window.java:224)
at java.awt.Window.<init>(Window.java:197)
at java.awt.Frame.<init>(Frame.java:423)

Altså kan det ikke lade sig gøre at instantiere en JFrame (eller et Window)
uden en skærm tilsluttet....

Jeg søger et godt foreslag til hvordan jeg kommer udenom denne exception...
Det er ret irriterede, at der ikke er et tjek på om hvorvidt getBunds er
null inden x udregnes, så en løsning på problemet vil der blive sat stor
pris på!

På forhånd tak
/Kenneth

---









 
 
Kenneth Vindum (21-06-2002)
Kommentar
Fra : Kenneth Vindum


Dato : 21-06-02 17:58

Forresten, skal serveren være låst (og uden skærm), så man skal indtaste
kode igen for at logge ind, før problemet opstår. Hvis den er ulåst opstår
problemet ikke... Kunne det have noget med java's security manager at gøre??

/Kenneth



Steen Jorgensen (21-06-2002)
Kommentar
Fra : Steen Jorgensen


Dato : 21-06-02 21:19

Hej Kenneth, jeg har måske en ide, men jeg er lidt usikker
på om jeg forstår dig rigtigt. Se spørgsmål nedenfor ...

"Kenneth Vindum" <kennetv@post3.tele.dk> wrote in message
news:3d135784$0$53191$edfadb0f@dspool01.news.tele.dk...
> Hej!
> Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
> Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren
igennem
> Netop(et fjernstyringsprogram), når jeg vil konfigurere den. Hver gang en
> ftp-klient connecter til ftp serveren, laves en usynlig JFrame, som brugen
> af serveren kan vælge at vise hvis det ønskes.

Når brugeren af serveren kan vælge at vise ...
Hvor vælger brugeren at vise (eller måske bedre: se) den JFrame?
Gennem fjernstyringsprogrammet??!!
Eller når det sker, er der så alligevel en monitor tilsluttet serveren?

Mvh. Steen


>Problemet er bare at
> javax.swing.JFrame's superklasse java.awt.Window, har en metode
> init(GraphicsConfiguration gc), som kaldes når JFrame instantieres.
Metoden
> ses her i en forkortet version:
>
> private void init(GraphicsConfiguration gc) {
> ....
> this.graphicsConfig =
GraphicsEnvironment.getLocalGraphicsEnvironment().
> getDefaultScreenDevice().getDefaultConfiguration();
> .....
>
> Rectangle screenBounds = graphicsConfig.getBounds();
> Insets screenInsets = getToolkit().getScreenInsets(graphicsConfig);
> int x = getX() + screenBounds.x + screenInsets.left;
> int y = getY() + screenBounds.y + screenInsets.top;
> setLocation(x, y);
> }
>
> Når der ikke er tilsluttet nogen skærm, vil GraphicsConfiguration's
> getBounds() retunere null.
> Derfor kommer følgende exception, når sætningen [int x = 0 + null.x + 0;]
> regnes ud:
>
> java.lang.NullPointerException
> at java.awt.Window.init(Window.java:224)
> at java.awt.Window.<init>(Window.java:197)
> at java.awt.Frame.<init>(Frame.java:423)
>
> Altså kan det ikke lade sig gøre at instantiere en JFrame (eller et
Window)
> uden en skærm tilsluttet....
>
> Jeg søger et godt foreslag til hvordan jeg kommer udenom denne
exception...
> Det er ret irriterede, at der ikke er et tjek på om hvorvidt getBunds er
> null inden x udregnes, så en løsning på problemet vil der blive sat stor
> pris på!
>
> På forhånd tak
> /Kenneth
>
> ---
>
>
>
>
>
>
>
>



Kenneth Vindum (21-06-2002)
Kommentar
Fra : Kenneth Vindum


Dato : 21-06-02 21:31

Hej Steen
Når brugeren vælger, at han vil se/vise en JFrame, gør han det igennem
fjernstyrringsprogrammet (Netop). Hvis du ikke kender 'Netop', fungerer det
som ren projektion af skærmbilledet på hosten på en anden PC (klienten). Der
er ikke sat en monitor til serveren på noget tidspunkt....

--

/Kenneth
"Steen Jorgensen" <seldrup@get2net.dk> wrote in message
news:c_KQ8.77873$N46.2192587@news010.worldonline.dk...
> Hej Kenneth, jeg har måske en ide, men jeg er lidt usikker
> på om jeg forstår dig rigtigt. Se spørgsmål nedenfor ...
>
> "Kenneth Vindum" <kennetv@post3.tele.dk> wrote in message
> news:3d135784$0$53191$edfadb0f@dspool01.news.tele.dk...
> > Hej!
> > Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
> > Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren
> igennem
> > Netop(et fjernstyringsprogram), når jeg vil konfigurere den. Hver gang
en
> > ftp-klient connecter til ftp serveren, laves en usynlig JFrame, som
brugen
> > af serveren kan vælge at vise hvis det ønskes.
>
> Når brugeren af serveren kan vælge at vise ...
> Hvor vælger brugeren at vise (eller måske bedre: se) den JFrame?
> Gennem fjernstyringsprogrammet??!!
> Eller når det sker, er der så alligevel en monitor tilsluttet serveren?
>
> Mvh. Steen
>
>
> >Problemet er bare at
> > javax.swing.JFrame's superklasse java.awt.Window, har en metode
> > init(GraphicsConfiguration gc), som kaldes når JFrame instantieres.
> Metoden
> > ses her i en forkortet version:
> >
> > private void init(GraphicsConfiguration gc) {
> > ....
> > this.graphicsConfig =
> GraphicsEnvironment.getLocalGraphicsEnvironment().
> > getDefaultScreenDevice().getDefaultConfiguration();
> > .....
> >
> > Rectangle screenBounds = graphicsConfig.getBounds();
> > Insets screenInsets = getToolkit().getScreenInsets(graphicsConfig);
> > int x = getX() + screenBounds.x + screenInsets.left;
> > int y = getY() + screenBounds.y + screenInsets.top;
> > setLocation(x, y);
> > }
> >
> > Når der ikke er tilsluttet nogen skærm, vil GraphicsConfiguration's
> > getBounds() retunere null.
> > Derfor kommer følgende exception, når sætningen [int x = 0 + null.x +
0;]
> > regnes ud:
> >
> > java.lang.NullPointerException
> > at java.awt.Window.init(Window.java:224)
> > at java.awt.Window.<init>(Window.java:197)
> > at java.awt.Frame.<init>(Frame.java:423)
> >
> > Altså kan det ikke lade sig gøre at instantiere en JFrame (eller et
> Window)
> > uden en skærm tilsluttet....
> >
> > Jeg søger et godt foreslag til hvordan jeg kommer udenom denne
> exception...
> > Det er ret irriterede, at der ikke er et tjek på om hvorvidt getBunds er
> > null inden x udregnes, så en løsning på problemet vil der blive sat stor
> > pris på!
> >
> > På forhånd tak
> > /Kenneth
> >
> > ---
> >
> >
> >
> >
> >
> >
> >
> >
>
>



Steen Jorgensen (21-06-2002)
Kommentar
Fra : Steen Jorgensen


Dato : 21-06-02 22:57


"Kenneth Vindum" <kennetv@post3.tele.dk> wrote in message
news:3d138ce1$0$201$edfadb0f@dspool01.news.tele.dk...
> Hej Steen
> Når brugeren vælger, at han vil se/vise en JFrame, gør han det igennem
> fjernstyrringsprogrammet (Netop). Hvis du ikke kender 'Netop', fungerer
det
> som ren projektion af skærmbilledet på hosten på en anden PC (klienten).
Der
> er ikke sat en monitor til serveren på noget tidspunkt....
>

Når setup'et er sådan, så dur min ide ikke til noget!
Det var noget med at vente med at instantiere JFramen til
koden var på den maskine, hvor den skulle vises. Men det
kan man så selvfølgelig ikke.
Beklager.

Mvh. Steen

> --
>
> /Kenneth
> "Steen Jorgensen" <seldrup@get2net.dk> wrote in message
> news:c_KQ8.77873$N46.2192587@news010.worldonline.dk...
> > Hej Kenneth, jeg har måske en ide, men jeg er lidt usikker
> > på om jeg forstår dig rigtigt. Se spørgsmål nedenfor ...
> >
> > "Kenneth Vindum" <kennetv@post3.tele.dk> wrote in message
> > news:3d135784$0$53191$edfadb0f@dspool01.news.tele.dk...
> > > Hej!
> > > Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
> > > Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren
> > igennem
> > > Netop(et fjernstyringsprogram), når jeg vil konfigurere den. Hver gang
> en
> > > ftp-klient connecter til ftp serveren, laves en usynlig JFrame, som
> brugen
> > > af serveren kan vælge at vise hvis det ønskes.
> >
> > Når brugeren af serveren kan vælge at vise ...
> > Hvor vælger brugeren at vise (eller måske bedre: se) den JFrame?
> > Gennem fjernstyringsprogrammet??!!
> > Eller når det sker, er der så alligevel en monitor tilsluttet serveren?
> >
> > Mvh. Steen
> >
> >
> > >Problemet er bare at
> > > javax.swing.JFrame's superklasse java.awt.Window, har en metode
> > > init(GraphicsConfiguration gc), som kaldes når JFrame instantieres.
> > Metoden
> > > ses her i en forkortet version:
> > >
> > > private void init(GraphicsConfiguration gc) {
> > > ....
> > > this.graphicsConfig =
> > GraphicsEnvironment.getLocalGraphicsEnvironment().
> > > getDefaultScreenDevice().getDefaultConfiguration();
> > > .....
> > >
> > > Rectangle screenBounds = graphicsConfig.getBounds();
> > > Insets screenInsets =
getToolkit().getScreenInsets(graphicsConfig);
> > > int x = getX() + screenBounds.x + screenInsets.left;
> > > int y = getY() + screenBounds.y + screenInsets.top;
> > > setLocation(x, y);
> > > }
> > >
> > > Når der ikke er tilsluttet nogen skærm, vil GraphicsConfiguration's
> > > getBounds() retunere null.
> > > Derfor kommer følgende exception, når sætningen [int x = 0 + null.x +
> 0;]
> > > regnes ud:
> > >
> > > java.lang.NullPointerException
> > > at java.awt.Window.init(Window.java:224)
> > > at java.awt.Window.<init>(Window.java:197)
> > > at java.awt.Frame.<init>(Frame.java:423)
> > >
> > > Altså kan det ikke lade sig gøre at instantiere en JFrame (eller et
> > Window)
> > > uden en skærm tilsluttet....
> > >
> > > Jeg søger et godt foreslag til hvordan jeg kommer udenom denne
> > exception...
> > > Det er ret irriterede, at der ikke er et tjek på om hvorvidt getBunds
er
> > > null inden x udregnes, så en løsning på problemet vil der blive sat
stor
> > > pris på!
> > >
> > > På forhånd tak
> > > /Kenneth
> > >
> > > ---
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
>
>



Kenneth Vindum (21-06-2002)
Kommentar
Fra : Kenneth Vindum


Dato : 21-06-02 22:12

Det var da en skam... Ellers tak for hjælpen Steen!
Men jeg er også bange for at løsningen (når engang jeg finder den) er ret
langhåret. Den eneste måde jeg kan komme udenom problemet er ved at finde en
måde at få GraphicsConfiguration.getBounds() til at retunere noget andet end
null. Alternativt, må jeg kode en hel del om, så der slet ikke kan
instantieres frames uden at det gøres ved et musseklik. Så ved jeg at
brugeren ser på JFramen, og at mettoden derfor retunerer noget andet end
null! Det er bare en "kedelig" løsning....

/Kenneth

--

"Steen Jorgensen" <seldrup@get2net.dk> wrote in message
news:xqMQ8.3920$va.459364@news000.worldonline.dk...
>
> "Kenneth Vindum" <kennetv@post3.tele.dk> wrote in message
> news:3d138ce1$0$201$edfadb0f@dspool01.news.tele.dk...
> > Hej Steen
> > Når brugeren vælger, at han vil se/vise en JFrame, gør han det
igennem
> > fjernstyrringsprogrammet (Netop). Hvis du ikke kender 'Netop', fungerer
> det
> > som ren projektion af skærmbilledet på hosten på en anden PC (klienten).
> Der
> > er ikke sat en monitor til serveren på noget tidspunkt....
> >
>
> Når setup'et er sådan, så dur min ide ikke til noget!
> Det var noget med at vente med at instantiere JFramen til
> koden var på den maskine, hvor den skulle vises. Men det
> kan man så selvfølgelig ikke.
> Beklager.
>
> Mvh. Steen
>
> > --
> >
> > /Kenneth
> > "Steen Jorgensen" <seldrup@get2net.dk> wrote in message
> > news:c_KQ8.77873$N46.2192587@news010.worldonline.dk...
> > > Hej Kenneth, jeg har måske en ide, men jeg er lidt usikker
> > > på om jeg forstår dig rigtigt. Se spørgsmål nedenfor ...
> > >
> > > "Kenneth Vindum" <kennetv@post3.tele.dk> wrote in message
> > > news:3d135784$0$53191$edfadb0f@dspool01.news.tele.dk...
> > > > Hej!
> > > > Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
> > > > Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren
> > > igennem
> > > > Netop(et fjernstyringsprogram), når jeg vil konfigurere den. Hver ga
ng
> > en
> > > > ftp-klient connecter til ftp serveren, laves en usynlig JFrame, som
> > brugen
> > > > af serveren kan vælge at vise hvis det ønskes.
> > >
> > > Når brugeren af serveren kan vælge at vise ...
> > > Hvor vælger brugeren at vise (eller måske bedre: se) den JFrame?
> > > Gennem fjernstyringsprogrammet??!!
> > > Eller når det sker, er der så alligevel en monitor tilsluttet
serveren?
> > >
> > > Mvh. Steen
> > >
> > >
> > > >Problemet er bare at
> > > > javax.swing.JFrame's superklasse java.awt.Window, har en metode
> > > > init(GraphicsConfiguration gc), som kaldes når JFrame instantieres.
> > > Metoden
> > > > ses her i en forkortet version:
> > > >
> > > > private void init(GraphicsConfiguration gc) {
> > > > ....
> > > > this.graphicsConfig =
> > > GraphicsEnvironment.getLocalGraphicsEnvironment().
> > > > getDefaultScreenDevice().getDefaultConfiguration();
> > > > .....
> > > >
> > > > Rectangle screenBounds = graphicsConfig.getBounds();
> > > > Insets screenInsets =
> getToolkit().getScreenInsets(graphicsConfig);
> > > > int x = getX() + screenBounds.x + screenInsets.left;
> > > > int y = getY() + screenBounds.y + screenInsets.top;
> > > > setLocation(x, y);
> > > > }
> > > >
> > > > Når der ikke er tilsluttet nogen skærm, vil GraphicsConfiguration's
> > > > getBounds() retunere null.
> > > > Derfor kommer følgende exception, når sætningen [int x = 0 + null.x
+
> > 0;]
> > > > regnes ud:
> > > >
> > > > java.lang.NullPointerException
> > > > at java.awt.Window.init(Window.java:224)
> > > > at java.awt.Window.<init>(Window.java:197)
> > > > at java.awt.Frame.<init>(Frame.java:423)
> > > >
> > > > Altså kan det ikke lade sig gøre at instantiere en JFrame (eller et
> > > Window)
> > > > uden en skærm tilsluttet....
> > > >
> > > > Jeg søger et godt foreslag til hvordan jeg kommer udenom denne
> > > exception...
> > > > Det er ret irriterede, at der ikke er et tjek på om hvorvidt
getBunds
> er
> > > > null inden x udregnes, så en løsning på problemet vil der blive sat
> stor
> > > > pris på!
> > > >
> > > > På forhånd tak
> > > > /Kenneth
> > > >
> > > > ---
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Lars Dam (22-06-2002)
Kommentar
Fra : Lars Dam


Dato : 22-06-02 10:41

On Fri, 21 Jun 2002 18:43:27 +0200, "Kenneth Vindum"
<kennetv@post3.tele.dk> wrote:

>Hej!
> Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
>Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren igennem
:
snips
:
>Jeg søger et godt foreslag til hvordan jeg kommer udenom denne exception...
>Det er ret irriterede, at der ikke er et tjek på om hvorvidt getBunds er
>null inden x udregnes, så en løsning på problemet vil der blive sat stor
>pris på!

Lyder som om du har en kandidat til sun's bug parade

>På forhånd tak
>/Kenneth

vh. ld

Kenneth Vindum (03-07-2002)
Kommentar
Fra : Kenneth Vindum


Dato : 03-07-02 07:54

Ja, du har nok desværre ret!

--

/Kenneth

"Lars Dam" <larsdamXXspamXXprotectionXX@post2.tele.dk> wrote in message
news:cfh8huk356ihurs8k3sl6gf45q5srhdd1j@4ax.com...
> On Fri, 21 Jun 2002 18:43:27 +0200, "Kenneth Vindum"
> <kennetv@post3.tele.dk> wrote:
>
> >Hej!
> > Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
> >Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren
igennem
> :
> snips
> :
> >Jeg søger et godt foreslag til hvordan jeg kommer udenom denne
exception...
> >Det er ret irriterede, at der ikke er et tjek på om hvorvidt getBunds er
> >null inden x udregnes, så en løsning på problemet vil der blive sat stor
> >pris på!
>
> Lyder som om du har en kandidat til sun's bug parade
>
> >På forhånd tak
> >/Kenneth
>
> vh. ld







Henrik Lynggaard (04-07-2002)
Kommentar
Fra : Henrik Lynggaard


Dato : 04-07-02 17:12

Kenneth Vindum skrev:
> Hej!
> Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
> Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren igennem
> Netop(et fjernstyringsprogram), når jeg vil konfigurere den. Hver gang en
> ftp-klient connecter til ftp serveren, laves en usynlig JFrame, som brugen
> af serveren kan vælge at vise hvis det ønskes. Problemet er bare at
> javax.swing.JFrame's superklasse java.awt.Window, har en metode
> init(GraphicsConfiguration gc), som kaldes når JFrame instantieres. Metoden
> ses her i en forkortet version:

umiddelbart lyder det somom du skal lege lidt med "Headless support" i
jdk 1.4.


Kenneth Vindum (10-07-2002)
Kommentar
Fra : Kenneth Vindum


Dato : 10-07-02 15:39

Hej Henrik!
Jeg ville ønske det var så vel.... GraphicsEnvironment.isHeadLess()
retunerer false, så det virker desværre ikke!

/Kenneth

Henrik Lynggaard skrev:
umiddelbart lyder det somom du skal lege lidt med "Headless support" i jdk
1.4.




Lars Dam (12-07-2002)
Kommentar
Fra : Lars Dam


Dato : 12-07-02 11:18

On Fri, 21 Jun 2002 18:43:27 +0200, "Kenneth Vindum"
<kennetv@post3.tele.dk> wrote:

>null inden x udregnes, så en løsning på problemet vil der blive sat stor
>pris på!

Dumt spørgsmål - hvorfor installerer du bare ikke en skærm? I.e. der
behøver jo kke sidde een fysisk på maskinen, bare der er en
skærmdriver?

>På forhånd tak
>/Kenneth

vh. ld


Kenneth Vindum (13-07-2002)
Kommentar
Fra : Kenneth Vindum


Dato : 13-07-02 19:38

Det har jeg skam allerede. Et Asus TNT2 Ultra Delux kort sidder i
maskinen.... Og den har drivere installeret...

/Kenneth
>
> Dumt spørgsmål - hvorfor installerer du bare ikke en skærm? I.e. der
> behøver jo kke sidde een fysisk på maskinen, bare der er en
> skærmdriver?
> vh. ld



mirsad (06-09-2002)
Kommentar
Fra : mirsad


Dato : 06-09-02 16:50

Hej!

Jag tror att jag har samma problem som du har beskrivit.

Applikationen som jag kör kan generera grafer och när en Frame
instantieras så får jag:

java.lang.NullPointerException:
   at java.awt.Window.<init>(Window.java:200)
   at java.awt.Frame.<init>(Frame.java:315)
   at java.awt.Frame.<init>(Frame.java:262)

Frame-kod(jdk1.3.1):
199: Rectangle screenBounds = graphicsConfig.getBounds();
200: int x = getX() + screenBounds.x;
201: int y = getY() + screenBounds.y;

Det ser ut att vara samma problem som du har men jag får det IBLAND på
en helt vanlig server med en skärm ansluten.
När maskinen har varit igång länge kan detta inträffa men så fort man
bootar om så funkar det.
Mycket irriterande!

Är det någon som har en ide om vad man skall göra?

--Mirsad




"Kenneth Vindum" skrev d. 21-06-02 17:43 dette indlæg :
> Hej!
> Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
> Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren
igennem
> Netop(et fjernstyringsprogram), når jeg vil konfigurere den. Hver gang
en
> ftp-klient connecter til ftp serveren, laves en usynlig JFrame, som
brugen
> af serveren kan vælge at vise hvis det ønskes. Problemet er bare at
> javax.swing.JFrame's superklasse java.awt.Window, har en metode
> init(GraphicsConfiguration gc), som kaldes når JFrame instantieres.
Metoden
> ses her i en forkortet version:
>
> private void init(GraphicsConfiguration gc) {
> .....
> this.graphicsConfig =
GraphicsEnvironment.getLocalGraphicsEnvironment().
> getDefaultScreenDevice().getDefaultConfiguration();
> ......
>
> Rectangle screenBounds = graphicsConfig.getBounds();
> Insets screenInsets =
getToolkit().getScreenInsets(graphicsConfig);
> int x = getX() + screenBounds.x + screenInsets.left;
> int y = getY() + screenBounds.y + screenInsets.top;
> setLocation(x, y);
> }
>
> Når der ikke er tilsluttet nogen skærm, vil GraphicsConfiguration's
> getBounds() retunere null.
> Derfor kommer følgende exception, når sætningen [int x = 0 + null.x +
0;]
> regnes ud:
>
> java.lang.NullPointerException
> at java.awt.Window.init(Window.java:224)
> at java.awt.Window.<init>(Window.java:197)
> at java.awt.Frame.<init>(Frame.java:423)
>
> Altså kan det ikke lade sig gøre at instantiere en JFrame (eller et
Window)
> uden en skærm tilsluttet....
>
> Jeg søger et godt foreslag til hvordan jeg kommer udenom denne
exception...
> Det er ret irriterede, at der ikke er et tjek på om hvorvidt getBunds
er
> null inden x udregnes, så en løsning på problemet vil der blive sat
stor
> pris på!
>
> På forhånd tak
> /Kenneth
>
> ---
>
>
>
>
>
>
>
>

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Kenneth Vindum (08-09-2002)
Kommentar
Fra : Kenneth Vindum


Dato : 08-09-02 09:58

Hej!
Ja, jeg har desværre ikke fundet nogen løsning på problemet, så jeg kan
ikke give dig en løsning på problemet, men hvis du finder en løsning må du
gerne skrive den til mig. Finder jeg en, skal jeg gerne skrive den til dig


/Kenneth

"mirsad" <mirsad.news@kandu.dk> skrev i en meddelelse
news:314e9.59180$ww6.4087611@news010.worldonline.dk...
> Hej!
>
> Jag tror att jag har samma problem som du har beskrivit.
>
> Applikationen som jag kör kan generera grafer och när en Frame
> instantieras så får jag:
>
> java.lang.NullPointerException:
> at java.awt.Window.<init>(Window.java:200)
> at java.awt.Frame.<init>(Frame.java:315)
> at java.awt.Frame.<init>(Frame.java:262)
>
> Frame-kod(jdk1.3.1):
> 199: Rectangle screenBounds = graphicsConfig.getBounds();
> 200: int x = getX() + screenBounds.x;
> 201: int y = getY() + screenBounds.y;
>
> Det ser ut att vara samma problem som du har men jag får det IBLAND på
> en helt vanlig server med en skärm ansluten.
> När maskinen har varit igång länge kan detta inträffa men så fort man
> bootar om så funkar det.
> Mycket irriterande!
>
> Är det någon som har en ide om vad man skall göra?
>
> --Mirsad
>
>
>
>
> "Kenneth Vindum" skrev d. 21-06-02 17:43 dette indlæg :
> > Hej!
> > Jeg har lavet en FTP-Server, som skal køre på en Win2k server.
> > Serveren har ikke nogen skærm tilsluttet. Jeg kontakter kun serveren
> igennem
> > Netop(et fjernstyringsprogram), når jeg vil konfigurere den. Hver gang
> en
> > ftp-klient connecter til ftp serveren, laves en usynlig JFrame, som
> brugen
> > af serveren kan vælge at vise hvis det ønskes. Problemet er bare at
> > javax.swing.JFrame's superklasse java.awt.Window, har en metode
> > init(GraphicsConfiguration gc), som kaldes når JFrame instantieres.
> Metoden
> > ses her i en forkortet version:
> >
> > private void init(GraphicsConfiguration gc) {
> > .....
> > this.graphicsConfig =
> GraphicsEnvironment.getLocalGraphicsEnvironment().
> > getDefaultScreenDevice().getDefaultConfiguration();
> > ......
> >
> > Rectangle screenBounds = graphicsConfig.getBounds();
> > Insets screenInsets =
> getToolkit().getScreenInsets(graphicsConfig);
> > int x = getX() + screenBounds.x + screenInsets.left;
> > int y = getY() + screenBounds.y + screenInsets.top;
> > setLocation(x, y);
> > }
> >
> > Når der ikke er tilsluttet nogen skærm, vil GraphicsConfiguration's
> > getBounds() retunere null.
> > Derfor kommer følgende exception, når sætningen [int x = 0 + null.x +
> 0;]
> > regnes ud:
> >
> > java.lang.NullPointerException
> > at java.awt.Window.init(Window.java:224)
> > at java.awt.Window.<init>(Window.java:197)
> > at java.awt.Frame.<init>(Frame.java:423)
> >
> > Altså kan det ikke lade sig gøre at instantiere en JFrame (eller et
> Window)
> > uden en skærm tilsluttet....
> >
> > Jeg søger et godt foreslag til hvordan jeg kommer udenom denne
> exception...
> > Det er ret irriterede, at der ikke er et tjek på om hvorvidt getBunds
> er
> > null inden x udregnes, så en løsning på problemet vil der blive sat
> stor
> > pris på!
> >
> > På forhånd tak
> > /Kenneth
> >
> > ---
> >
> >
> >
> >
> >
> >
> >
> >
>
> --
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste