Swing Image anzeigen und probleme mit klassen

XWing

Mitglied
Hi, ich verstehe nicht so ganz wie ich es jetzt Schaffe ein image in Java swing anzeigen zu lassen. Und dazu habe ich probleme meine klassen aufzurufen. Ich habe fast alles in eine seperate klasse geschrieben. Kann jetzt aber nicht die klasse in der Main methode aufrufen. Und ich verstehe nicht ganz warum.

Main methode:
Java:
public class Main {

    public static void main(String[] args) {

        Startgame game = new Startgame();
        Startgame();
    }
}

Seperate Klasse:
Code:
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;

public class Loadingscreen {
    public JFrame Frame;
    public JFrame Startgame(){
        JFrame Frame = new JFrame("Flagenspiel");
        Frame.setSize(700,700);
        Frame.setVisible(true);
        Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        return Startgame();
    }

    public JButton Startscreen() {
        JLabel Image = new JLabel();
        Frame.add(Image);
        ImageIcon icon = new ImageIcon("src/europa.png.");
        JPanel menu = new JPanel();
        Frame.add(menu);
        JButton button = new JButton("Start Game!");
        button.setBounds(200,300,150,60);
        menu.add(button);
        return Startscreen();
    }
}

}

Und bei denn beiden geschweiften Klammern in der Startgame und Startscreen methode wird es rot angezeigt.
 
Zuletzt bearbeitet:

KonradN

Super-Moderator
Mitarbeiter
Was soll denn Startgame(); machen?

Wenn ich sehe: Startgame game = new Startgame(); dann ist die Erwartungshaltung, dass Du eine Klasse Startgame hast, aber das hast Du ja nicht. Du hast eine Klasse Loadingscreen. Von dieser Klasse kannst Du eine neue Instanz erzeugen und diese in einer Variablen speichern. Das wäre dann etwas wie:

'''Loadingscreen loadingscreen = new Loadingscreen();```

Dann hat die Klasse Loadingscreen eine Methode Startgame. Diese kann auf einer Instanz aufgerufen werden. Du hast ja in der Variablen loadingscreen eine Instanz der Klasse, also könntest Du die Methode aufrufen:
loadingscreen.Startgame();

Da ein JFrame zurück gegeben wird, könntest Du die Instanz auch in einer Variablen speichern. Dann würde der Befehl anders aussehen:
JFrame frame = loadingscreen.Startgame();

Dann fallen aber viele Dinge auf in der Klasse Loadingscreen, daher verändere ich die Klasse einmal und füge Kommentare ein:


Java:
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;

public class LoadingScreen { // Upper CamelCase: "loading screen" -> LoadingScreen
    public JFrame frame; // Variablen werden im lower camelCase geschrieben, also kleines f

    public JFrame startGame(){ // Methoden werden im lower camelCase geschrieben: startGame
        frame = new JFrame("Flagenspiel"); // Kein JFrame - wir wollen die Instanzmethode frame nutzen und keine neue lokale Variable erzeugen!
        Frame.setSize(700,700);
        Frame.setVisible(true);
        Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        return frame; // Wir wollen doch das erzeugte JFrame zurück geben!
    }

    public JButton startScreen() { // lower camelCase bei Methoden
        JLabel image = new JLabel(); // lower camelCase bei lokale Variable: image
        Frame.add(image);
        ImageIcon icon = new ImageIcon("src/europa.png."); // Der . hinter dem png muss bestimmt weg, oder?
        JPanel menu = new JPanel();
        frame.add(menu);
        JButton button = new JButton("Start Game!");
        button.setBounds(200,300,150,60);
        menu.add(button);
        return button; // Du willst den erzeugten button zurück geben?
    }
}

// } Diese geschweifte Klammer war zu viel....
 

XWing

Mitglied
oh okay danke. Funktioniert jetzt größtenteils. Jetzt hab ich aber das problem das die ganze zeit das window gestartet wird.

Java:
public class Main {

    public static void main(String[] args) {

        Loadingscreen game = new Loadingscreen();
            game.Startgame();
            game.Startscreen();
    }
}


Code:
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;

public class Loadingscreen {
    public JFrame Frame;
    public JFrame Startgame(){
        JFrame Frame = new JFrame("Flagenspiel");
        Frame.setSize(700,700);
        Frame.setVisible(true);
        Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        return Startgame();
    }

    public JButton Startscreen() {
        /*
        JLabel Image = new JLabel();
        Frame.add(Image);
        ImageIcon icon = new ImageIcon("src/europa.png");
        */
        JPanel menu = new JPanel();
        Frame.add(menu);
        JButton button = new JButton("Start Game!");
        button.setBounds(200,300,150,60);
        menu.add(button);
        return Startscreen();
    }
}
 

KonradN

Super-Moderator
Mitarbeiter
Schau Dir an, wie der Return Befehl bei dem verbesserten Code von mir aussieht. Du rufst am Ende die Merhode erneut auf was zu dem beschriebenen führt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Swing Buffered Image anzeigen AWT, Swing, JavaFX & SWT 45
I Bild über FXML (ImageView, Image) anzeigen AWT, Swing, JavaFX & SWT 1
M Image aus MS Access anzeigen lassen AWT, Swing, JavaFX & SWT 9
L SVG Image in Swing anzeigen AWT, Swing, JavaFX & SWT 1
M Image-Objekte in JEditorPane anzeigen? AWT, Swing, JavaFX & SWT 3
C Image in bestimmtem Bereich anzeigen AWT, Swing, JavaFX & SWT 3
P Image und Text in einer List anzeigen AWT, Swing, JavaFX & SWT 12
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
K JavaFX Bildergalerie aus Image Ordner laden AWT, Swing, JavaFX & SWT 3
JMölleri Swing Image wird unscharf dargestellt AWT, Swing, JavaFX & SWT 2
L AWT .gif image transparent machen AWT, Swing, JavaFX & SWT 3
kodela angezeigtes Image entfernen AWT, Swing, JavaFX & SWT 1
R Java, GUI, Hintergrundbild, Image, AWT, Swing, JavaFX & SWT 4
R Swing Background Image in JFrame implementieren AWT, Swing, JavaFX & SWT 40
L Image kann nicht gefunden werden AWT, Swing, JavaFX & SWT 1
S Stretch Image in ImageView AWT, Swing, JavaFX & SWT 4
N Swing Image aus Web laden und in Icon umwandeln AWT, Swing, JavaFX & SWT 4
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
L JavaFX Image mit Blureffect AWT, Swing, JavaFX & SWT 2
Bluedaishi JavaFX Button Image aus Datenbank AWT, Swing, JavaFX & SWT 13
F javaxt.io.Image getBufferedImage liefert null AWT, Swing, JavaFX & SWT 1
Yjuq JavaFX Custom Control - Image resize AWT, Swing, JavaFX & SWT 0
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
T Image Loader lädt Bild nicht AWT, Swing, JavaFX & SWT 10
J 2D-Grafik Background Image Klasse AWT, Swing, JavaFX & SWT 14
Q AWT TicTacToe Image auf Button hinzufügen AWT, Swing, JavaFX & SWT 5
BreakdownBob Swing JLabel verschwindet hinter Image AWT, Swing, JavaFX & SWT 2
L JavaFX leeres weißes Image - javafx.scene.image.Image AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Naxon89 JavaFX Image wird nicht korrekt geladen AWT, Swing, JavaFX & SWT 3
W Javafx - Image soll sich mit der Camera mitbewegen AWT, Swing, JavaFX & SWT 1
B Graphics to Image AWT, Swing, JavaFX & SWT 3
L Image in anderes kopieren AWT, Swing, JavaFX & SWT 0
T Swing Image wird nicht geladen AWT, Swing, JavaFX & SWT 1
S JavaFX Image Skalierung in Scrollpane, Scrollpane resized sich nicht AWT, Swing, JavaFX & SWT 5
I Image im PopupMenu vom SystemTray AWT, Swing, JavaFX & SWT 8
F JavaFX Position von Image angeben/verändern AWT, Swing, JavaFX & SWT 2
M JavaFX Image View Würfel berechnen AWT, Swing, JavaFX & SWT 3
L JButton mit Image AWT, Swing, JavaFX & SWT 5
F Swing Image einem Button hinzufügen AWT, Swing, JavaFX & SWT 5
B Resize von Image nach Resize von Button AWT, Swing, JavaFX & SWT 1
T Image aus "nicht-src-ordner" AWT, Swing, JavaFX & SWT 5
vodkaz (javafx) Image Problem AWT, Swing, JavaFX & SWT 2
C Image laden und Speichern - Image wird auf JPanel nicht angezeigt AWT, Swing, JavaFX & SWT 4
M Image in JTable einfügen AWT, Swing, JavaFX & SWT 9
H Image im Array per Knopfdruck ändern AWT, Swing, JavaFX & SWT 6
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
G JavaFX Image vergrößern AWT, Swing, JavaFX & SWT 5
U Image mit Zeichenbereich rotieren AWT, Swing, JavaFX & SWT 3
P Speicherproblem SWT.Image in Nebula-Gallery AWT, Swing, JavaFX & SWT 3
L JavaFX: Bild in Image einlesen AWT, Swing, JavaFX & SWT 11
D Image soll langsam sichtbar werden AWT, Swing, JavaFX & SWT 4
D JLabel Image ausrichten AWT, Swing, JavaFX & SWT 2
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
bluerob Problem beim Image zeichnen via andere Klasse AWT, Swing, JavaFX & SWT 7
H Image Icon ersetzen AWT, Swing, JavaFX & SWT 8
I Image Button AWT, Swing, JavaFX & SWT 4
U IntBuffer zum Image konvertieren. AWT, Swing, JavaFX & SWT 9
S Eigene JComponent Image zeichnen AWT, Swing, JavaFX & SWT 3
T 2D-Grafik Slideshow (DoubleBuffering und Image transformieren/bewegen) AWT, Swing, JavaFX & SWT 6
K Swing Warum bleibt das Image immer gleich AWT, Swing, JavaFX & SWT 4
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
R Image laden sehr langsam AWT, Swing, JavaFX & SWT 7
D Image.getScaledInstance() vs. Netzwerkverbindung??? AWT, Swing, JavaFX & SWT 2
reibi SWT Image viewer AWT, Swing, JavaFX & SWT 2
lumo SWT Image funktion auf ImageDaten AWT, Swing, JavaFX & SWT 9
A Applet .gif in applet Image nicht animiert angezeigt AWT, Swing, JavaFX & SWT 4
M Image wird nicht neugezeichnet nach dem Wechsel AWT, Swing, JavaFX & SWT 2
lumo SWT Image Pattern AWT, Swing, JavaFX & SWT 5
P Image mehrfach in ein BufferedImage zeichnen AWT, Swing, JavaFX & SWT 7
M Swing Image in JPanel als Componente AWT, Swing, JavaFX & SWT 2
P nicht sichtbares JPanel / JFrame als Image speichern AWT, Swing, JavaFX & SWT 3
T Image skaliert in Variable speichern AWT, Swing, JavaFX & SWT 6
S Image wird nicht (immer) in paintComponent gezeichnet? AWT, Swing, JavaFX & SWT 6
S Swing Image wird nicht geladen AWT, Swing, JavaFX & SWT 2
0 Mousecurser mit Image hinterlegen AWT, Swing, JavaFX & SWT 4
B Swing Drag&Drop mit Feedback (Image am Mauszeiger) AWT, Swing, JavaFX & SWT 7
N Java Choice Bilderausgabe - images - - image - AWT, Swing, JavaFX & SWT 2
D iText PdfPCell mit Image AWT, Swing, JavaFX & SWT 3
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
S Button mit Image AWT, Swing, JavaFX & SWT 7
A Skaliertes Image pixelweise bearbeiten AWT, Swing, JavaFX & SWT 6
L Swing Image zur Laufzeit verändern AWT, Swing, JavaFX & SWT 6
F SWT GC drawText auf halbtransparentem Image AWT, Swing, JavaFX & SWT 21
G Swing JEdtitorPane und HTML Image Seite AWT, Swing, JavaFX & SWT 2
C Image mit Graphics2D zeichnen AWT, Swing, JavaFX & SWT 9
C Image performant skalieren AWT, Swing, JavaFX & SWT 5
D SWT Image Farbtiefe AWT, Swing, JavaFX & SWT 2
L Swing Auf unabhängiges Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 8
lumo SWT Composite + Image + zeichnen AWT, Swing, JavaFX & SWT 4
V Ein Image als Button (nicht mit JButton(Icon)) AWT, Swing, JavaFX & SWT 5
D Image Viewer gesucht AWT, Swing, JavaFX & SWT 5
Kr0e Image schärfen AWT, Swing, JavaFX & SWT 2
R Bild drehen UND skalieren (Image bzw BufferedImage) AWT, Swing, JavaFX & SWT 5
T Image auf Image zeichnen AWT, Swing, JavaFX & SWT 2
E Warum ist offscreen (mit Image) schneller? AWT, Swing, JavaFX & SWT 11
G Swing Image speichern / 0 Byte AWT, Swing, JavaFX & SWT 7
H Image abspeichern AWT, Swing, JavaFX & SWT 4
B Swing Image als Hintergrund im JInternalFrame - Problem AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben