Problem beim Laden von Bildern

Status
Nicht offen für weitere Antworten.

T!b3r!|_|$

Mitglied
hallo. ich habe in meinem Programm in der startklasse einen zufallsgenerator erstellt, der eine zahl zwischen 1 und 13 auswählt. je nach zahl wird durch eine switch anweisung ein image geladen. durch eine andere klasse "sollte" das bild dann gezeichnet werden..doch es passiert rein gar nichts (außer dass das programm beim anzeigen abstürzt), obwohl kein error beim kompillieren angezeigt wird und seit ich das die image component klasse habe, läuft das prog total langsam..kan mir da einer vielleicht helfen? bitte


Code:
static Random random = new Random();
         static Image startcardp11, startcardp12, startcardpc1, startcardpc2;
         public static void game_pvpc()
        {
            switchCard(startcardp11);
            switchCard(startcardp12);
            switchCard(startcardpc1);
            startcardpc2 = Toolkit.getDefaultToolkit().getImage( "backside.gif" );
            blackJack_graphicComponent_drawImage dI1 = new blackJack_graphicComponent_drawImage();
            dI1.setImage(startcardp11);
            dI1.setLocation(30,400);
            blackJack_grafik.f1.getContentPane().add( dI1 ); //blackJack_grafik ist die klasse in der der JFrame f1 ist
            blackJack_grafik.f1.validate();
        }
        public static int zufallsGen()
        {
            return 1 + Math.abs(random.nextInt())%13;
        }
        public static void switchCard(Image imageCard)
        {
            switch (zufallsGen())
            {
                case 1: imageCard = Toolkit.getDefaultToolkit().getImage( "two_heart.gif" );
                break;
                case 2: imageCard = Toolkit.getDefaultToolkit().getImage( "three_heart.gif" );
                break;
                .
                .
                .
                case 13: imageCard = Toolkit.getDefaultToolkit().getImage( "ass_heart.gif" );
                break;
            }
         }

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

public class blackJack_graphicComponent_drawImage extends JComponent
{
  private Image image;
  private int x;
  private int y;

  public void paintComponent( Graphics g)
  {
    g.drawImage(image, x, y, this);
  }

  public void setImage( Image image ){ this.image = image; }
  public void setLocation( int x, int y ){
    this.x = x;
    this.y = y;
  }
}
 

T!b3r!|_|$

Mitglied
ich habe jetzt herausgefunden, dass die klasse "blackJack_graphicComponent_drawImage" funktionsfähig ist, als ich ihr direkt ein bild zugewiesen habe.
also muss der fehler irgendwo an den von mir markierten stellen liegen, weis aber nicht was daran falsch ist:

Code:
static Random random = new Random();
         static Image startcardp11, startcardp12, startcardpc1, startcardpc2;
         public static void game_pvpc()
        {
            switchCard(startcardp11); //VIELLEICHT IST HIER DER FEHLER
            switchCard(startcardp12); //VIELLEICHT IST HIER DER FEHLER
            switchCard(startcardpc1); //VIELLEICHT IST HIER DER FEHLER
            startcardpc2 = Toolkit.getDefaultToolkit().getImage( "backside.gif" ); /*diese Zeile habe ich geprüft: sie funktioniert*/
            blackJack_graphicComponent_drawImage dI1 = new blackJack_graphicComponent_drawImage();
            dI1.setImage(startcardp11); //wenn ich hier direkt ein bild zuweise, dann geht es
            dI1.setLocation(30,400);
            blackJack_grafik.f1.getContentPane().add( dI1 ); //blackJack_grafik ist die klasse in der der JFrame f1 ist
            blackJack_grafik.f1.validate();
        }
        public static int zufallsGen() //zufallsGen() funktioniert
        {
            return 1 + Math.abs(random.nextInt())%13;
        }
        public static void switchCard(Image imageCard)  /*ODER DER FEHLER LIEGT IN DIESER METHODE, WAS ICH VERMUTE, HAB ABER KEINE AHNUNG WO ER SEIN KÖNNTE*/
        {
            switch (zufallsGen())
            {
                case 1: imageCard = Toolkit.getDefaultToolkit().getImage( "two_heart.gif" );
                break;
                case 2: imageCard = Toolkit.getDefaultToolkit().getImage( "three_heart.gif" );
                break;
                .
                .
                .
                case 13: imageCard = Toolkit.getDefaultToolkit().getImage( "ass_heart.gif" );
                break;
            }
         }

PS: @P3AC3MAK3R: werde in zukunft präziesere Namen wählen
 
B

Beni

Gast
Du setzt hier ein neues Image für "imageCard". Nur ist "imageCard" hier eine Methodenvariable, die nach dem beenden von "switchCard" so oder so vernichtet wird...
Code:
 case 1: imageCard = Toolkit.getDefaultToolkit().getImage( "two_heart.gif" );

Verlange eine Instanz von "blackjack_etc." als Argument, und setz dort das neue Image:
Code:
 case 1: dll.setImage( Toolkit.getDefaultToolkit().getImage( "two_heart.gif" ) );

mfg Beni
 

T!b3r!|_|$

Mitglied
ähm danke..aber könntest du das mit der instanz genauer erklären? ich kenn mich noch immer ned aus...bin leider no ned so gut in java
 
B

Beni

Gast
Instanz = Objekt

Code:
        public static void switchCard(blackJack_graphicComponent_drawImage component)
        {
            switch (zufallsGen())
            {
                case 1: component.setImage( Toolkit.getDefaultToolkit().getImage( "two_heart.gif" ));
                break;
                case 2: component.setImage( Toolkit.getDefaultToolkit().getImage( "three_heart.gif" ));
                break;
                .
                .
                .
                case 13: component.setImage( Toolkit.getDefaultToolkit().getImage( "ass_heart.gif" ));
                break;
            }
         }
 

T!b3r!|_|$

Mitglied
und wie muss ich die methode nun aufrufen? denn mit switchCard(); geht es nicht.

auf jeden fall mal danke für das mit der instanz..klingt total logisch
 
B

Beni

Gast
halt so:
Code:
switchCard( dieComponentBeiDerWasVeraendertWird );
 
B

Beni

Gast
Die "blackJack_graphicComponent_drawImage" dessen Image neu gesetzt werden soll.

Oder sprechen wir aneinander vorbei? ???:L
 

T!b3r!|_|$

Mitglied
ah..du meinst das:
Code:
public class blackJack_graphicComponent_drawImage extends JComponent
{
  private Image image;   //DAS HIER NUR HALT NED PRIVAT
  private int x;
  private int y;
  

  public void paintComponent( Graphics g)
  {
    g.drawImage(image, x, y, this);
  }

  public void setImage( Image image ){ this.image = image; }
  public void setLocation( int x, int y ){
    this.x = x;
    this.y = y;
  }
}
 

T!b3r!|_|$

Mitglied
ach ich bekomms einfach ned auf die reihe. könntest dus mir bitte so machen dass es geht? bitte. wenn ich das starte kommen vier gleiche karten und zwar die background karten. ich möchte aber, dass 4 verschiedene karten erscheinen.

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

public class blackJack_graphicComponent_drawImage extends JComponent
{
  public static Image image;
  private int x;
  private int y;
  

  public void paintComponent( Graphics g)
  {
    g.drawImage(image, x, y, this);
  }

  public void setImage( Image image ){ this.image = image; }
  public void setLocation( int x, int y ){
    this.x = x;
    this.y = y;
  }
}

Code:
.
.
.
public static void game_pvpc()
        {
            blackJack_graphicComponent_drawImage dI1 = new blackJack_graphicComponent_drawImage();
            blackJack_graphicComponent_drawImage dI2 = new blackJack_graphicComponent_drawImage();
            blackJack_graphicComponent_drawImage dI3 = new blackJack_graphicComponent_drawImage();
            blackJack_graphicComponent_drawImage dI4 = new blackJack_graphicComponent_drawImage();
            dI1.setLocation(20, 50);
            switchCard();
            blackJack_grafik.f1.getContentPane().add( dI1 );
            blackJack_grafik.f1.validate();
            dI2.setLocation(170, 50);
            switchCard();
            blackJack_grafik.f1.getContentPane().add( dI2 );
            blackJack_grafik.f1.validate();
            dI3.setLocation(20, 250);
            switchCard();
            blackJack_grafik.f1.getContentPane().add( dI3 );
            blackJack_grafik.f1.validate();
            startcardpc2 = Toolkit.getDefaultToolkit().getImage( "backside.gif" );
            dI4.setImage(startcardpc2);
            dI4.setLocation(170,250);
            blackJack_grafik.f1.getContentPane().add( dI4 );
            blackJack_grafik.f1.validate();
            
        }
        public static void game_pvp(){
        
            
        }
        public static int zufallsGen()
        {
            return 1 + Math.abs(random.nextInt())%13;
        }
        public static void switchCard()
        {
            blackJack_graphicComponent_drawImage d1 = new blackJack_graphicComponent_drawImage();
            int zufall1 = zufallsGen();
            switch (zufall1)
            {
                case 1: d1.setImage( Toolkit.getDefaultToolkit().getImage( "two_heart.gif" ));
                break;
                case 2: d1.setImage( Toolkit.getDefaultToolkit().getImage( "three_heart.gif" ));
                break; 
                case 3: d1.setImage( Toolkit.getDefaultToolkit().getImage( "four_heart.gif" ));
                break;
                case 4: d1.setImage( Toolkit.getDefaultToolkit().getImage( "five_heart.gif" ));
                break;
                case 5: d1.setImage( Toolkit.getDefaultToolkit().getImage( "six_heart.gif" ));
                break;
                case 6: d1.setImage( Toolkit.getDefaultToolkit().getImage( "seven_heart.gif" ));
                break;
                case 7: d1.setImage( Toolkit.getDefaultToolkit().getImage( "eight_heart.gif" ));
                break;
                case 8: d1.setImage( Toolkit.getDefaultToolkit().getImage( "nine_heart.gif" ));
                break;
                case 9: d1.setImage( Toolkit.getDefaultToolkit().getImage( "ten_heart.gif" ));
                break;
                case 10: d1.setImage( Toolkit.getDefaultToolkit().getImage( "boy_heart.gif" ));
                break;
                case 11: d1.setImage( Toolkit.getDefaultToolkit().getImage( "dame_heart.gif" ));
                break;
                case 12: d1.setImage( Toolkit.getDefaultToolkit().getImage( "king_heart.gif" ));
                break;
                case 13: d1.setImage( Toolkit.getDefaultToolkit().getImage( "ass_heart.gif" ));
                break;
            }
}
.
.
.
 
B

Beni

Gast
Versuchs mal so:

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

public class blackJack_graphicComponent_drawImage extends JComponent
{
  public static Image image;
  private int x;
  private int y;
  

  public void paintComponent( Graphics g)
  {
    g.drawImage(image, x, y, this);
  }

  public void setImage( Image image ){ this.image = image; }
  public void setLocation( int x, int y ){
    this.x = x;
    this.y = y;
  }
}

Code:
.
.
.
public static void game_pvpc()
        {
            blackJack_graphicComponent_drawImage dI1 = new blackJack_graphicComponent_drawImage();
            blackJack_graphicComponent_drawImage dI2 = new blackJack_graphicComponent_drawImage();
            blackJack_graphicComponent_drawImage dI3 = new blackJack_graphicComponent_drawImage();
            blackJack_graphicComponent_drawImage dI4 = new blackJack_graphicComponent_drawImage();
            dI1.setLocation(20, 50);
            switchCard( dI1 );
            blackJack_grafik.f1.getContentPane().add( dI1 );
            blackJack_grafik.f1.validate();
            dI2.setLocation(170, 50);
            switchCard( dI2 );
            blackJack_grafik.f1.getContentPane().add( dI2 );
            blackJack_grafik.f1.validate();
            dI3.setLocation(20, 250);
            switchCard( dI3 );
            blackJack_grafik.f1.getContentPane().add( dI3 );
            blackJack_grafik.f1.validate();
            startcardpc2 = Toolkit.getDefaultToolkit().getImage( "backside.gif" );
            dI4.setImage(startcardpc2);
            dI4.setLocation(170,250);
            blackJack_grafik.f1.getContentPane().add( dI4 );
            blackJack_grafik.f1.validate();
            
        }
        public static void game_pvp(){
        
            
        }
        public static int zufallsGen()
        {
            return 1 + Math.abs(random.nextInt())%13;
        }
        public static void switchCard( blackJack_graphicComponent_drawImage d1 )
        {
            int zufall1 = zufallsGen();
            switch (zufall1)
            {
                case 1: d1.setImage( Toolkit.getDefaultToolkit().getImage( "two_heart.gif" ));
                break;
                case 2: d1.setImage( Toolkit.getDefaultToolkit().getImage( "three_heart.gif" ));
                break; 
                case 3: d1.setImage( Toolkit.getDefaultToolkit().getImage( "four_heart.gif" ));
                break;
                case 4: d1.setImage( Toolkit.getDefaultToolkit().getImage( "five_heart.gif" ));
                break;
                case 5: d1.setImage( Toolkit.getDefaultToolkit().getImage( "six_heart.gif" ));
                break;
                case 6: d1.setImage( Toolkit.getDefaultToolkit().getImage( "seven_heart.gif" ));
                break;
                case 7: d1.setImage( Toolkit.getDefaultToolkit().getImage( "eight_heart.gif" ));
                break;
                case 8: d1.setImage( Toolkit.getDefaultToolkit().getImage( "nine_heart.gif" ));
                break;
                case 9: d1.setImage( Toolkit.getDefaultToolkit().getImage( "ten_heart.gif" ));
                break;
                case 10: d1.setImage( Toolkit.getDefaultToolkit().getImage( "boy_heart.gif" ));
                break;
                case 11: d1.setImage( Toolkit.getDefaultToolkit().getImage( "dame_heart.gif" ));
                break;
                case 12: d1.setImage( Toolkit.getDefaultToolkit().getImage( "king_heart.gif" ));
                break;
                case 13: d1.setImage( Toolkit.getDefaultToolkit().getImage( "ass_heart.gif" ));
                break;
            }
}
.
.
.
[/quote]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Problem beim laden von Bild mit getResource() AWT, Swing, JavaFX & SWT 3
S Problem beim Image laden AWT, Swing, JavaFX & SWT 4
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
S Anordnung von GUI-Komponenten mit LayouManger (Problem beim anzeigen von JTextField) AWT, Swing, JavaFX & SWT 5
A Swing Problem beim Neuerstellen einer Node AWT, Swing, JavaFX & SWT 4
bluerob Problem beim Image zeichnen via andere Klasse AWT, Swing, JavaFX & SWT 7
B Swing Problem beim ActionListener AWT, Swing, JavaFX & SWT 5
K Swing Problem beim Zeichnen von Kreisen AWT, Swing, JavaFX & SWT 4
K JButton Problem beim Schriftfarbe Ändern AWT, Swing, JavaFX & SWT 2
P Problem beim erstellen eines JPanel in einem JFrame AWT, Swing, JavaFX & SWT 7
R Problem beim Anzeigen von Bildern auf JInternalFrame AWT, Swing, JavaFX & SWT 6
D 2D-Grafik Problem beim Drucken eines Grafik-Objekts AWT, Swing, JavaFX & SWT 2
M Problem beim Eventhandling AWT, Swing, JavaFX & SWT 5
T JSpinner in JTable: Problem beim Auslesen, funktioniert erst beim Zellwechsel AWT, Swing, JavaFX & SWT 7
H Thread-Problem mit der Darstellung beim Sperren des Fensters AWT, Swing, JavaFX & SWT 2
C Performance-Problem beim Überschreiben von paintComponent() AWT, Swing, JavaFX & SWT 2
M Problem beim Zeichnen mit Path2D AWT, Swing, JavaFX & SWT 4
F Swing JTable: Problem beim zeile löschen AWT, Swing, JavaFX & SWT 3
G Problem beim setzen des Fokus AWT, Swing, JavaFX & SWT 4
Z Problem beim JTextField AWT, Swing, JavaFX & SWT 5
C Swing Problem beim 2. Öffnen eines JFrames AWT, Swing, JavaFX & SWT 9
1 Java.awt.Robot Problem beim Shift-Druck AWT, Swing, JavaFX & SWT 5
B Swing Problem beim Elemente zu JList hinzufügen AWT, Swing, JavaFX & SWT 5
F Problem beim Positionieren von Icon und Text in Button AWT, Swing, JavaFX & SWT 2
Developer_X Swing Problem beim "rezeichnen" -> Überzeichnen der Komponente AWT, Swing, JavaFX & SWT 8
N SWT Einfaches Problem beim Layout AWT, Swing, JavaFX & SWT 8
N Swing Problem beim Einlesen von Jtable in Array AWT, Swing, JavaFX & SWT 5
W Swing Problem beim Passwort Dialog AWT, Swing, JavaFX & SWT 4
C Problem mit Swing Application Framework - Projekt beim AWT, Swing, JavaFX & SWT 2
F kleines problem beim suchen in einem String AWT, Swing, JavaFX & SWT 15
A Problem beim Setzen von JPanels AWT, Swing, JavaFX & SWT 4
P Problem beim Linien ziehen! AWT, Swing, JavaFX & SWT 12
S Problem beim Anpassen vom GridBagLayout AWT, Swing, JavaFX & SWT 10
H Adressbuch - Problem beim Speichern der Eingabe AWT, Swing, JavaFX & SWT 5
A Problem mit der Seiteneinrichtung beim Drucken AWT, Swing, JavaFX & SWT 7
P Bug in Java? - Problem beim Ändern von Spaltentiteln AWT, Swing, JavaFX & SWT 2
I Layout Problem beim Skalieren AWT, Swing, JavaFX & SWT 3
S Problem beim implementerien von ActionListener AWT, Swing, JavaFX & SWT 4
Y Problem beim Drucken AWT, Swing, JavaFX & SWT 2
A Problem beim Import! AWT, Swing, JavaFX & SWT 2
M Problem beim Einsatz von ScrollPane (Fenster spielt verrückt AWT, Swing, JavaFX & SWT 2
H Problem beim zeichen eines TimeSeriesChart mit jfreechart AWT, Swing, JavaFX & SWT 5
Z Und schon wieder die Linien (Problem beim überzeichnen) AWT, Swing, JavaFX & SWT 4
W Problem beim neuzeichnen eines Rechteckes (SWT) AWT, Swing, JavaFX & SWT 2
J Problem beim Multi-Threading mit einem JDialog AWT, Swing, JavaFX & SWT 2
J Problem mit Alpha-Wert beim Button AWT, Swing, JavaFX & SWT 3
P Problem beim Zeichnen auf ein BufferedImage AWT, Swing, JavaFX & SWT 4
F Problem mit geänderten AttributSet beim StyledDocument AWT, Swing, JavaFX & SWT 4
B BorderLayout/JSplitPane Problem beim Ausrichten AWT, Swing, JavaFX & SWT 5
C Problem beim Ausführen von Thread per Button AWT, Swing, JavaFX & SWT 2
D Problem beim Erstellen eines GridBagLayouts AWT, Swing, JavaFX & SWT 3
A Problem beim Neuzeichnen AWT, Swing, JavaFX & SWT 2
V Problem beim drucken AWT, Swing, JavaFX & SWT 4
D Problem beim Update von unsichtbaren JComponents mit Timern AWT, Swing, JavaFX & SWT 5
S Problem beim Umbenennen von MP3s AWT, Swing, JavaFX & SWT 10
O Problem beim Umwandeln eines Applets in eine Applikation AWT, Swing, JavaFX & SWT 15
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben