webForumDet fria alternativet

Skumma JFrames

8 svar · 400 visningar · startad av LilleSkutt

LilleSkuttMedlem sedan feb. 2001265 inlägg
#1

Jag har två konstiga problem.
Jag skapar ett fönster, JFrame, i en JApplet. När man sen ska stänga fönstret via krysset i hörnet går det inte! Jag använder en WindowListener som alltid har funkat förut, men inte just i denna JApplet. I en vanlig Applet funkar det, men inte i en JApplet. Går det att komma runt?

Och jag får inte heller scrollpanes att funka. Jag kallar på dem så här:

JTextPane textPane = new JTextPane();
JScrollPane scrollPane = new JScrollPane(this.textPane);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setPreferredSize(new Dimension(250, 145));
scrollPane.setMinimumSize(new Dimension(10, 10));

Någon som kan svaret på mina frågor?

-r-
Stavar för**vligt :l
-/r-

------------------
---
/* LilleSkutt */

[Redigerat av LilleSkutt den 28 maj 2001]

LilleSkuttMedlem sedan feb. 2001265 inlägg
#2

Ok, nu har jag fixat scrollpanes asså, men fortfarande kan jag inte stänga JFramen... Det är System.exit(0); som inte funkar, varför?

------------------
---
/* LilleSkutt */

spangoMedlem sedan juni 20008 205 inlägg
#3

Det borde funka, du har inte glömt bort att lägga till lyssnaren med addWindowListener, då?
En behändig grej man kan säga i sin JFrame-subklasskonstruktor är:

setDefaultCloseOperation(EXIT_ON_CLOSE);

Då slipper man lägga till händelselyssnare.

------------------
These are the cries of the carrots, the cries of the carrots! You see, Reverend Maynard, tomorrow is harvest day and to them it is the holocaust.

LilleSkuttMedlem sedan feb. 2001265 inlägg
#4

Humma, jag fick det inte att funka... Så jag bestämde mig för att bara sätta JFramen till inte synlig :)

------------------
---
/* LilleSkutt */

LilleSkuttMedlem sedan feb. 2001265 inlägg
#5

Förresten, varför funkar inte min applet att köra i en webbläsare?
Det fungerar juh med appletviewer minfil.html, men inte via en webbläsare...
Jag har varken med start() eller stop(), påverkar det något?

Det står att den inte kan hitta klassen, men den ligger där... Garanterat. Man behöver väl inte lägga sina klass-filer i separata, underliga kataloger?

------------------
---
/* LilleSkutt */

[Redigerat av LilleSkutt den 31 maj 2001]

spangoMedlem sedan juni 20008 205 inlägg
#6

Använder du JApplet är det inte så konstigt, eftersom de Java-VM:er som skeppas med webbläsarna är gamla och suger (dvs, de har inte stöd för Swing).

------------------
These are the cries of the carrots, the cries of the carrots! You see, Reverend Maynard, tomorrow is harvest day and to them it is the holocaust.

LilleSkuttMedlem sedan feb. 2001265 inlägg
#7

Ghaa... Blir man tvungen att byta ut alla komponenter till awt?

Vad ska man importera för att hämta alla textkomponenter, som hämtas med javax.swing.text.* med Swing?
Funkar TextPanes och Styles med awt?

Men borde det inte gå bra på min egen dator, där jag har installerat jdk 1.3, att köra Swing-applets? Eller IE kanske inte påverkas när man installerar en JVM via JDK?

------------------
---
/* LilleSkutt */

[Redigerat av LilleSkutt den 01 jun 2001]

spangoMedlem sedan juni 20008 205 inlägg
#8

Nej, det är en annan jvm i IE än dina fina Sun-grej, det är nåt trams från förra årtusendet ;)
Om du inte tror att dina besökare har nåt emot att ladda ner en massa feta grejer, kan du be dem att tanka ner Java plug-in.
http://java.sun.com/products/plugin/

------------------
These are the cries of the carrots, the cries of the carrots! You see, Reverend Maynard, tomorrow is harvest day and to them it is the holocaust.

jorgenMedlem sedan feb. 20012 412 inlägg
#9

Det är ett litet beskymmer som finns i den medföljande klassen Frame. För att lösa beskymmret får du göra en egen liten klass som Frame kan ärva av.

skapa ett nytt paket med tex namnet "ny". och definiera en klass med namnet ExtendedFrame. Sedan kan du bygga klassen på följande vis:

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">

package ny;
import java.awt.*;
import java.awt.event.*;

public class ExtendedFrame extends Frame {
private static boolean first = true;
private boolean isFirst = first;

public ExtendedFrame () {
addWindowListener (theListener);
first = false
}
WindowAdapter theListener = new WindowAdapter(){
public void windowClosing(WindowEvent e) {
dispose();
if (isFirst)
system.exit(0);
}
};
}

har säker klarat skriva något stavfel, men du använder klassen ExtendedFrame istället för Frame, sedan.

Mvh Jörgen

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

142 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)