Text vom Jlabel wird nicht angezeigt

R

R0wiwan

Mitglied
Hallo zusammen!
Ich habe mit GUI angefangen, und will ein kleines Text-Story-Game programmieren.
Leider wird dennoch der Text, den ich über ein Jlabel ausgeben will nicht angezeigt.
Ich habe ein ImageIcon als Hintergrundbild, und vermute, dass das der Fehler ist.
Könnt ihr mir helfen?

Hier ist der Code vom Window:


import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.awt.font.*;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.*;

public class StoryWindow extends JFrame {

Font font = new Font("Arial", 0, 20);
ImageIcon bild;
JLabel background;
JLabel text;


public StoryWindow(ActionListener listener) {

setTitle("Story");
setSize(500,500);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

bild = new ImageIcon("background1.png");

JPanel mainpanel = new JPanel();
mainpanel.setOpaque(true);
add(mainpanel);
JPanel buttonleiste = new JPanel();
add(buttonleiste, BorderLayout.SOUTH);
buttonleiste.setBackground(Color.gray);
buttonleiste.setPreferredSize(new Dimension(40,40));

background = new JLabel(bild);
mainpanel.add(background);
text = new JLabel();
text.setText("Test");
mainpanel.add(text);

JButton auswahlA = new JButton("Start");
JButton auswahlB = new JButton("Exit");
buttonleiste.add(auswahlA);
buttonleiste.add(auswahlB);
auswahlA.setFont(font);
auswahlB.setFont(font);
auswahlA.addActionListener(listener);
auswahlB.addActionListener(listener);

}

public void showMessage(String msg) {
text.setText(msg);
text.setFont(font);
}

}


Hier ist noch der Code vom Controller:


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Controller implements ActionListener {

private StoryWindow window;

public void startStory() {
window = new StoryWindow(this);
window.setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();

if (command.equals("Start")) {
window.showMessage("Start");
}
else if (command.equals("Exit")) {
System.exit(0);
}

}

}
 
mihe7

mihe7

Top Contributor
Ich habe ein ImageIcon als Hintergrundbild, und vermute, dass das der Fehler ist.
Ja, das ist kein Hintergrundbild. BorderLayout zeigt in jedem seiner Bereiche eine Komponente an.

Was funktionieren könnte, wäre ein LayeredPane aber ein Panel, das ein Hintergrundbild anzeigen soll, wäre für mich eine eigene Komponente. Hier ein Starter mit Skalierung (ohne ist es wesentlich einfacher):
Java:
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.*;

// for testing purposes
import javax.imageio.ImageIO;
import java.net.URL;

public class ImagePanel extends JPanel {
    private BufferedImage image;
    private Image scaled;

    public ImagePanel(BufferedImage image) {
        this.image = image;
    }

    @Override
    public Dimension getPreferredSize() {
        Insets insets = getInsets();
        int width = insets.left + insets.right + image.getWidth();
        int height = insets.top + insets.bottom + image.getHeight();
        return new Dimension(width, height);
    }

    @Override
    protected void paintComponent(Graphics g) {
        Insets insets = getInsets();
        g.drawImage(getScaled(), insets.left, insets.top, null);
    }

    private Image getScaled() {
        Insets insets = getInsets();                
        int w = getWidth() - insets.left - insets.right;
        int h = getHeight() - insets.top - insets.bottom;

        if (scaled == null || scaled.getWidth(null) != w || scaled.getHeight(null) != h) {
            scaled = image.getScaledInstance(w, h, Image.SCALE_SMOOTH);
        }

        return scaled;
    }


    public static void main(String[] args) throws Exception {
        BufferedImage img = ImageIO.read(new URL("https://upload.wikimedia.org/" +
                "wikipedia/commons/thumb/7/77/Wikipedia_svg_logo.svg/" +
                "768px-Wikipedia_svg_logo.svg.png"));

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JPanel panel = new ImagePanel(img);
                panel.add(new JButton("Test"));
                JFrame frame = new JFrame();
                frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                frame.add(panel);
                frame.pack();
                frame.setVisible(true);
            }
        });
    }
}
 
R

R0wiwan

Mitglied
Danke für die Antwort!
Aber ich glaube, ich lass das erstmal ganz weg mit den Hintergrundbildern, da mir das noch zu kompliziert ist.
Ich versuch einfach, ein Storygame ohne das Hintergrundbild zu machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R JLabel-Text wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
S Text im JLabel wird nicht als null anerkannt AWT, Swing, JavaFX & SWT 4
G Textfarbe in jLabel ändern,sobald neuer Text eingegeben wird AWT, Swing, JavaFX & SWT 3
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta JLabel anzuzeigenden Text zentrieren AWT, Swing, JavaFX & SWT 9
Z AWT JLabel setzt kein neuen Text AWT, Swing, JavaFX & SWT 6
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
J Swing Text kürzendes JLabel AWT, Swing, JavaFX & SWT 12
J JLabel Text ändern je nach Wahl AWT, Swing, JavaFX & SWT 3
R Text in JLabel als Blocksatz? AWT, Swing, JavaFX & SWT 13
D Swing JLabel - Text überlagert sich AWT, Swing, JavaFX & SWT 2
W JLabel-Text ab best. Zeitpunkt nicht mehr verändern AWT, Swing, JavaFX & SWT 2
N JLabel Text aktualisiert sich nicht AWT, Swing, JavaFX & SWT 2
P Swing JLabel Text nach Links ausrichten klappt nicht AWT, Swing, JavaFX & SWT 3
R Swing JLabel Text ausrichtung AWT, Swing, JavaFX & SWT 2
destroflyer Swing Text in JLabel strecken AWT, Swing, JavaFX & SWT 2
H Mit JLabel HTML - formatierten Text anzeigen AWT, Swing, JavaFX & SWT 14
hdi Swing JLabel - Grösse passt sich immer Text an AWT, Swing, JavaFX & SWT 17
G JLabel Text nicht fett AWT, Swing, JavaFX & SWT 1
G JLabel Text 5 sekunden anzeigen lassen AWT, Swing, JavaFX & SWT 2
I JLabel Text Abstand AWT, Swing, JavaFX & SWT 9
W Jlabel mit Bild und Text darüber ? AWT, Swing, JavaFX & SWT 6
G JLabel + Text + Bilder AWT, Swing, JavaFX & SWT 10
V Bei JLabel das Icon Über den Text machen AWT, Swing, JavaFX & SWT 2
S Text in einem JLabel zentrieren AWT, Swing, JavaFX & SWT 4
G JLabel farbiger Text AWT, Swing, JavaFX & SWT 5
H Text auf JLabel ausgeben? AWT, Swing, JavaFX & SWT 2
G jButton Text zu Integer umwandeln // jLabel mit Counter auf AWT, Swing, JavaFX & SWT 16
vogella JLabel - Ausrichten von Text AWT, Swing, JavaFX & SWT 3
A Problem mit InvokeAndWait - JLabel Text verändern AWT, Swing, JavaFX & SWT 2
W mehrzeiliger Text in JLabel AWT, Swing, JavaFX & SWT 2
EagleEye Text in JLabel erneuern AWT, Swing, JavaFX & SWT 2
N Promt Text der Combobox AWT, Swing, JavaFX & SWT 0
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 11
N In Textdatei Text anfügen per GUI AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
R Swing JTextField nicht-kopierbarer Text AWT, Swing, JavaFX & SWT 1
S Text-Info in der Taskbar anzeigen AWT, Swing, JavaFX & SWT 15
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
C JCheckBox disabled text color AWT, Swing, JavaFX & SWT 9
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
UnknownInnocent Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
L JavaFX TableView kein content text ändern AWT, Swing, JavaFX & SWT 2
L JavaFX Anderer Text, wenn kein Platz ist. AWT, Swing, JavaFX & SWT 1
K JavaFX TextInputDialog Button Text ändern AWT, Swing, JavaFX & SWT 1
S 2D-Grafik affine Transformation für Text-Shape AWT, Swing, JavaFX & SWT 0
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
J Text in ein Textfeld eingeben und speichern AWT, Swing, JavaFX & SWT 27
C Swing Spinner als TableCellEditor - Text zu klein AWT, Swing, JavaFX & SWT 2
H JavaFX - Button und Text - Falsche Darstellung AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
I JavaFX formatierter Text in PDF speichern AWT, Swing, JavaFX & SWT 4
T JavaFX Text des ProgressIndicators ändern AWT, Swing, JavaFX & SWT 2
E Swing Text verschwindet AWT, Swing, JavaFX & SWT 1
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
G Rectangle Breite richtet such an die Breite vom Text AWT, Swing, JavaFX & SWT 1
Sanni94 JavaFX Kann man eine Grafik in einen Text einbinden? AWT, Swing, JavaFX & SWT 2
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
K Rich Text FX von TomasMikula AWT, Swing, JavaFX & SWT 0
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
S JAVAFX HTMLEditor wrap text AWT, Swing, JavaFX & SWT 1
J JavaFX Translation Text/Label AWT, Swing, JavaFX & SWT 2
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
A JavaFX HTMLEditor in Text umwandeln AWT, Swing, JavaFX & SWT 2
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
J JavaFX Bestimmte Zellen im TableView ändern (Farbe und Text) AWT, Swing, JavaFX & SWT 1
javampir Java FX Text verschwindet nicht AWT, Swing, JavaFX & SWT 9
Tausendsassa Text changed event handler jTextField AWT, Swing, JavaFX & SWT 3
Tom299 JavaFX Text oder Label benutzen AWT, Swing, JavaFX & SWT 4
E To get a color text on the TextArea AWT, Swing, JavaFX & SWT 4
E To get color text on the TextArea AWT, Swing, JavaFX & SWT 5
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
F JPanel "zeichnet" keinen Text AWT, Swing, JavaFX & SWT 14
U WYSIWYG Text-Editor für JFrames AWT, Swing, JavaFX & SWT 8
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
T MausClick soll TExt ändern AWT, Swing, JavaFX & SWT 6
J Text bei Eingabe löschen AWT, Swing, JavaFX & SWT 5
A SWT Auto completion in text box AWT, Swing, JavaFX & SWT 5
C Geloest: JTextfield: Titel automatisch entfernen, sobald Text eingegeben wird AWT, Swing, JavaFX & SWT 1
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
X AWT Text der mit Graphics "drawString(...)" geschreiben wurde wieder löschen. AWT, Swing, JavaFX & SWT 6
O Swing Text aus Textfield auslesen AWT, Swing, JavaFX & SWT 8
B Text auf Display ausgeben [LWJGL] AWT, Swing, JavaFX & SWT 2
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
S TextArea get Selected row(Text) AWT, Swing, JavaFX & SWT 6
A Radio Buttons sollen den Text der text Area bestimmen AWT, Swing, JavaFX & SWT 9
BRoll JButton Text nicht ausblenden ("...") AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben