Sida 1 av 1

problem med programexempel i "Java direkt med swing"

Postat: 31 maj 2015, 09:51:09
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

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

Postat: 31 maj 2015, 10:36:22
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.

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

Postat: 31 maj 2015, 12:19:43
av choppertony
Tack Klas-Kenny. Det gjorde susen. Jag hade skrivit fel i programmet enligt boken.
Det skall vara så som du sa. Tack!!!!!

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

Postat: 31 maj 2015, 15:03:28
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]

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

Postat: 31 maj 2015, 16:53:06
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);
}
}

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

Postat: 31 maj 2015, 17:10:23
av sodjan

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

Postat: 1 juni 2015, 19:06:50
av choppertony
Okey. nu förstår jag.
Tack. skall tänka på det till nästa gång.