Portál AbcLinuxu, 5. května 2025 15:04

Dotaz: Java DrawImage on InternalFrame

7.4.2012 12:26 adi
Java DrawImage on InternalFrame
Přečteno: 237×
Odpovědět | Admin

Zdar, našel jsem si funkční příklad, jak vykreslovat png obrázek na form. Když se to ale snažím napasovat na svůj projekt, kde používám InternalFrames, tak se mi nic nezobrazuje. InternalFrames jsem si v Designeru NetBeans vytvořil a ručně rozmístil. V mé hlavní třídě aplikace (appView) pak volám jen setVisible(false) a když tam na to místo dám:

 

public appView(SingleFrameApplication app) {
super(app);

initComponents();
...
Peach dp = new Peach();
InternalFrame1.add(dp);

 

Něco mi chybí? Děkuji za radu.

Peach.java viz tutorial:

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

public class DrawPanel extends JPanel {
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
this.setBackground(Color.WHITE);

Image img1 = Toolkit.getDefaultToolkit().getImage
("/home/user/Plocha/a.png");
g.drawImage(img1, 10, 10, this);

g.setColor(Color.BLUE);
g.fillRect(25,25,100,30);
}
}


Když to debagguju tak vidím, že se objekt dp vytvoří, ale proč se nezobrazí nevím...

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.4.2012 12:28 adi
Rozbalit Rozbalit vše Re: Java DrawImage on InternalFrame
Odpovědět | | Sbalit | Link | Blokovat | Admin
oprava:

public class DrawPanel extends JPanel {

--->

public class Peach extends JPanel {

Otázka platí.
7.4.2012 16:35 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java DrawImage on InternalFrame
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemusí mít ten váš panel nastavené nějaké rozměry? Jinak je možné, že se zobrazí, ale má nulovou šířku a výšku. Záleží na layout manažeru, který používáte.

Jinak malovat obrázek tímto způsobem je zbytečně složité, obrázek můžete vložit třeba pomocí JLabel: How to Use Icons.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.