problem med programexempel i "Java direkt med swing"

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
choppertony
Inlägg: 821
Blev medlem: 23 mars 2009, 19:04:00
Ort: Ystad

problem med programexempel i "Java direkt med swing"

Inlägg av choppertony »

Hej Jag har gjort några exempel i boken java direkt med swing, och kommit till
ett program på sidan 40. jag kör det på en ubuntumaskin, men har även kört det
på en windowsmaskin och får det inte att funka.

------------------------------------------------------------------------------------------------------------
import java.awt.*;
import javax.swing.*;

public class Halsning {
public static void main (String[] arg) {
Direkt2 d2 = new Direkt2();
}
}

class Direkt2 extends JFrame {
public Direkt2() {
JLabel l = new JLabel ("Välkommen till mitt fönster", JLabel.CENTER);

add(l);
l.setOpaque (true);
l.setBackground(Color.black);
l.setForeground(Color.yellow);
l.setFont(new Font("SansSerif", Font.BOLD, 24));
l.setSize(400,150);
l.setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
------------------------------------------------------------------------------------------------------------


det dyker inte upp något fönster när jag kör programmet. jag
har även provat att ändra raden add(l) till getContentPane().add(l);
men inget funkar ändå.

BlueJ version 3.1.5
Java version 1.8.0_45
kompilerar jag programet så får jag inga syntaxfel.

Någon som ser något galet i programmet eller har någon id'e
Användarvisningsbild
Klas-Kenny
Inlägg: 11390
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: problem med programexempel i "Java direkt med swing"

Inlägg av Klas-Kenny »

Där du sätter fönsterstorlek samt "visible" har med hela fönstret (JFrame) att göra, inte bara din JLabel.

Således, ändra l.setSize() till bara setSize(), och samma sak med l.setVisible().

Edit: Eller ja, du får ju gärna sätta en storlek och Visibility till din JLabel också om du vill, men du måste även ha det på hela JFrame'n.
choppertony
Inlägg: 821
Blev medlem: 23 mars 2009, 19:04:00
Ort: Ystad

Re: problem med programexempel i "Java direkt med swing"

Inlägg av choppertony »

Tack Klas-Kenny. Det gjorde susen. Jag hade skrivit fel i programmet enligt boken.
Det skall vara så som du sa. Tack!!!!!
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43205
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: problem med programexempel i "Java direkt med swing"

Inlägg av sodjan »

För att göra det komplett kan du gärna posta den fungerande koden
i ett nytt inlägg så att andra kan se och lära av det.
Och använd för jösse namn code-taggarna... :-)

Kod: Markera allt

[code]
public class Halsning {
    public static void main (String[] arg) {
        Direkt2 d2 = new Direkt2();
    }
}
...
...
[/code]
choppertony
Inlägg: 821
Blev medlem: 23 mars 2009, 19:04:00
Ort: Ystad

Re: problem med programexempel i "Java direkt med swing"

Inlägg av choppertony »

Så här ser den fungerande koden ut. Du får gärna förklara vad kod-taggar är så lär jag mig något nytt.
Det är inget som har stått i boken ännu. Men jag är bara på sidan 45 av 720 så det kommer kanske sedan.



import java.awt.*;
import javax.swing.*;

public class Halsning {
public static void main (String[] arg) {
Direkt2 d2 = new Direkt2();
}
}

class Direkt2 extends JFrame {
public Direkt2() {
JLabel l = new JLabel ("Välkommen till mitt fönster", JLabel.CENTER);

add(l);
l.setOpaque (true);
l.setBackground(Color.black);
l.setForeground(Color.yellow);
l.setFont(new Font("SansSerif", Font.BOLD, 24));
setSize(400,150);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43205
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: problem med programexempel i "Java direkt med swing"

Inlägg av sodjan »

Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
choppertony
Inlägg: 821
Blev medlem: 23 mars 2009, 19:04:00
Ort: Ystad

Re: problem med programexempel i "Java direkt med swing"

Inlägg av choppertony »

Okey. nu förstår jag.
Tack. skall tänka på det till nästa gång.
Skriv svar