JPanel og Images
Hej,Jeg har et problem med at få billder og tekst vist på en tilfredsspillede måde i mit JPanel.
Jeg har en klasse, der arver fra JComponent og som indeholder tre JPanel. En med to Jlists, en med et JTree og et, der skal indeholde et billede med en tekst nedenunder billedet.
Jeg har prøvet at tilføje billdet til Jpanel'et både som et ImageIcon i et JLabel og ved at indkapsle det i nedenstående klasse, hvorefter et objekt af denne klasse blev adderet til mit ene JPanel instans.
Jeg har samme problem hver gang: Teksten til billedet kommer enten til at stå bag billedet eller til højre/venstre for billedet! Jeg har prøvet med flere layoutmanagers: Springlayout, Gridbaglayout, Gridlayout, Borderlayout og Flowlayoutl, men det vil bare ikke!
Her en klassen, der indkapsler et Image:
import java.awt.*;
import javax.swing.*;
public class ImageComponent extends JComponent {
Image image;
Dimension size;
public ImageComponent(Image image) {
this.image = image;
MediaTracker mt = new MediaTracker(this);
mt.addImage(image, 0);
try {
mt.waitForAll();
} catch (InterruptedException e) {
e.printStackTrace();
}
size = new Dimension(image.getWidth(null),
image.getHeight(null));
setSize(size);
}
public void paint(Graphics g) {
g.drawImage(image, 0, 0, this);
g.drawString("ssss", image.getWidth(null)/2, image.getHeight(null)); //Remove?
System.out.println("PAINTING! ");
}
public Dimension getPreferredSize() {
return size;
}
}
