---
title: "Skumma JFrames"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/28286-skumma-jframes"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "LilleSkutt"
published: "2001-05-28T17:25:00.000Z"
updated: "2001-07-04T21:37:00.000Z"
replies: 8
views: 412
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/28286-skumma-jframes"
---

# Skumma JFrames

## #1 — LilleSkutt, 2001-05-28T17:25Z

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-

Permalänk: https://www.webforum.nu/p/28286

## #2 — LilleSkutt, 2001-05-30T12:40Z

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?

Permalänk: https://www.webforum.nu/p/401946

## #3 — spango, 2001-05-30T13:02Z

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.

Permalänk: https://www.webforum.nu/p/401947

## #4 — LilleSkutt, 2001-05-31T19:42Z

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

Permalänk: https://www.webforum.nu/p/401948

## #5 — LilleSkutt, 2001-05-31T19:45Z

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?

Permalänk: https://www.webforum.nu/p/401949

## #6 — spango, 2001-05-31T20:48Z

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).

Permalänk: https://www.webforum.nu/p/401950

## #7 — LilleSkutt, 2001-06-01T07:17Z

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?

Permalänk: https://www.webforum.nu/p/401951

## #8 — spango, 2001-06-01T15:58Z

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/>

Permalänk: https://www.webforum.nu/p/401952

## #9 — jorgen, 2001-07-04T21:37Z

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

Permalänk: https://www.webforum.nu/p/401953

---

Tråden på webben: https://www.webforum.nu/amne/java/28286-skumma-jframes
