Bild mit ImageIcon auf GUI verkleinern

sgtpro

Mitglied
Hey Leute 🙂
Bin zur Zeit an der Arbeit an einem Gui zu einem Würfelspiel. Ich habe schon einiges geschafft, doch ich habe einen Platz frei, den ich zuerst mit einem einfach eingefärbten JLabel gefüllt habe. Dann kam mir jedoch die Idee, den Platz mit einem Bild zu füllen.
Doch sobald ich das Bild da einfüge sieht mein GUI extrem komisch aus:
Das fett gedrückt ist das wichtige. Sobald ich es reintu, spinnt es.
Das Bild ist zwar eigentlich zu groß, aber mit einem kleineren funktioniert es ebenso nicht.

Java:
public class Gui
{

    Image bild;

    public void main()
    {
        JFrame fenster = new JFrame("Wer das liest kann lesen");
        fenster.setSize(1300,1040);
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenster.getContentPane();
        fenster.setLayout(null);
        fenster.setResizable(false);
        fenster.setVisible(true);
      
        //panel links
        JPanel panel = new JPanel();
        panel.setLocation(0,0);
        panel.setSize(450,1040);
        panel.setLayout(null);
        fenster.add(panel);

        //Würfelknopf
        JButton würfelknopf= new JButton("Würfeln");
        würfelknopf.setSize(450,175);
        würfelknopf.setLocation(0,0);
        würfelknopf.setBackground(new Color(255,204,153));
        panel.add(würfelknopf);

        //knopf für setzen
        JButton setzenknopf= new JButton("Einsatz Setzen");
        setzenknopf.setSize(450,175);
        setzenknopf.setLocation(0,175);
        setzenknopf.setBackground(new Color(51,204,204));
        panel.add(setzenknopf);

         //platzhalter mitte links
        JLabel platz = new JLabel();
        platz.setLocation(0,350);
        platz.setSize(450,300);
        /* --------------------------- HERE --------------------------------------*/
        ImageIcon fear = new ImageIcon("fear-and-loathing.jpg");
        platz.setIcon(fear);
        /* ------------------------------------------------------------------------- */
        //platz.setBackground(new Color(102,51,0));
        //platz.setOpaque(true);
        platz.setVisible(true);
        panel.add(platz);

        //große Spielfläche
        JPanel wflache = new JPanel();
        wflache.setLocation(450,0);
        wflache.setSize(850,1040); 
        wflache.setBackground(new Color(0,102,51));
        wflache.setOpaque(true);
        wflache.setVisible(true);
        fenster.add(wflache);

        JLabel w1 = new JLabel();
        w1.setLocation(500,20);
        w1.setSize(100,100);
        ImageIcon Würfel1 = new ImageIcon("1er.jpg");
        w1.setIcon(Würfel1);
        wflache.add(w1);

        fenster.add(panel);
        fenster.setVisible(true);
}

}
 
Zuletzt bearbeitet von einem Moderator:
fear.setImage(picture.getImage().getScaledInstance(BREITE, HÖHE, Image.SCALE_REPLICATE));
und das zwischen das:
ImageIcon fear = new ImageIcon("fear-and-loathing.jpg");
und
platz.setIcon(fear);
😉

also quasi
Java:
ImageIcon fear = new ImageIcon("fear-and-lathing.jpg");
fear.setImage(fear.getImage().getScaledInstance(BREITE, HÖHE, Image.SCALE_REPLICATE));
platz.setIcon(fear);

wie groß du das Bild genau haben willst, musst du aber selber ausprobieren 😛 😀

EDIT: wenn du das Würfel1 Bild nehmen willst muss du halt die beiden fear in der zeile durch Würfel1 ersetzten 😀

EDIT2: 😀 Noch 2 Anmerkungen, Variablennamen gehören klein und da sollten keine Sonderzeichen drinstehen 😉 also wäre statt Würfel1, wuerfel1 die bessere Variante.
 

Neue Themen


Zurück
Oben