22. april 2009 - 10:22Der er
4 kommentarer og 1 løsning
ImageIcon
Mojn Jeg kæmper med at lære GUI her, og forsøget at få et ImageIcon til at blive vist på et JLabel. Men af en eller anden grund nægter den at vise noget billedet.
import java.awt.*; import javax.swing.*;
public class MainFrame extends JFrame{ MainFrame(){ ImageIcon coffeeIcon = new ImageIcon("images/coffee.jpg"); add(new JLabel(coffeeIcon)); add(new JLabel("Test label")); System.out.println(coffeeIcon.getIconHeight()); } }
getIconHeight har jeg brugt for at se om den har fat i billedet, men det outputter bare -1. Jeg fandt en kode snip der kunne se om den fandt filen, og det ser det ud til at den gør. Det eneste der er i vinduet er lablen "Test label".
Er jeg bare totalt idiot, eller burde det her ikke virke?
Nå. Nu fik jeg det til at spille. Skulle åbenbart vælge en anden Layout manager end den der var default, ellers kunne den ikke overskue at vise to ting på en gang..
public class MainFrame extends JFrame{ MainFrame(){ ImageIcon coffeeIcon = new ImageIcon("images/coffee.jpg"); add(new JLabel(coffeeIcon)); add(new JLabel("Test label")); System.out.println(coffeeIcon.getIconHeight()); } }
først og fremmest mangler du at kalde: super(); i starten, da du ellers ikke får initialiseret noget som helst at JFramen. Ydermere skal du aldrig tilføje elementer direkte til en frame, men til deres contentpane:
til sidst kan du kalde: this.setSize(800, 600); eller this.pack(); for at pakke den til minimum størrelsen der er nødvendig for at alle elementer vises korrekt...
Hej alle. Undskyld det sene svar. Jeg fik det til at virke selv. Det var fordi Netbeans åbenbart havde arbejdsfolder i roden af projektet af en eller anden grund, så den kunne ikke finde filerne. Men tak for inputsne.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.