sorry, es wieder mal das problem das ein bild nicht angezeigt wird: ich möchte die klasse BitmapComponent wiederverendbar machen und benutze sie in JBuilder 9
der code compiliert ohne fehlermeldung, aber das
bild wird nicht angezeigt.
/* BitmapComponent.java */
package PWGEN;
import java.awt.*;
public class BitmapComponent extends Canvas
{
private Image img;
MediaTracker mt;
public BitmapComponent(String fname)
{
img = getToolkit().getImage(fname);
mt = new MediaTracker(this);
mt.addImage(img, 0);
try {
//Warten, bis das Image vollständig geladen ist,
//damit getWidth() und getHeight() funktionieren
mt.waitForAll();
} catch (InterruptedException e) {
//nothing
}
}
public void paint(Graphics g){
g.drawImage(img,150,100,this);
}
public Dimension getPreferredSize()
{
return new Dimension(
img.getWidth(this),
img.getHeight(this)
);
}
public Dimension getMinimumSize()
{
return new Dimension(
img.getWidth(this),
img.getHeight(this)
);
}
}
die obige klasse wird dann in unterere verwendent:
package PWGEN;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2003
* Company:
* @author not attributable
* @version 1.0
*/
public class AboutUI extends JDialog implements ActionListener {
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel insetsPanel1 = new JPanel();
JPanel insetsPanel2 = new JPanel();
JPanel insetsPanel3 = new JPanel();
JButton button1 = new JButton();
JLabel imageLabel = new JLabel();
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
JLabel label4 = new JLabel();
ImageIcon image1 = new ImageIcon();
BorderLayout borderLayout1 = new BorderLayout();
BorderLayout borderLayout2 = new BorderLayout();
FlowLayout flowLayout1 = new FlowLayout();
GridLayout gridLayout1 = new GridLayout();
String product = "";
JPanel panel3 = new JPanel();
BitmapComponent bc;
public AboutUI(Frame parent) {
super(parent);
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
image1 = new ImageIcon(PWGEN.PWGenUI.class.getResource("about.png"));
imageLabel.setIcon(image1);
this.setTitle("About");
panel1.setLayout(borderLayout1);
panel2.setLayout(borderLayout2);
insetsPanel1.setLayout(flowLayout1);
insetsPanel2.setLayout(flowLayout1);
insetsPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
gridLayout1.setRows(4);
gridLayout1.setColumns(1);
label1.setText(product);
label2.setText(version);
insetsPanel3.setLayout(gridLayout1);
insetsPanel3.setBorder(BorderFactory.createEmptyBorder(10, 60, 10, 10));
button1.setText("Ok");
button1.addActionListener(this);
panel2.add(insetsPanel2, BorderLayout.WEST);
insetsPanel2.add(imageLabel, null);
this.getContentPane().add(panel1, null);
insetsPanel3.add(label1, null);
insetsPanel3.add(label2, null);
insetsPanel3.add(label3, null);
insetsPanel3.add(label4, null);
panel1.add(panel3, BorderLayout.CENTER);
panel1.add(insetsPanel1, BorderLayout.SOUTH);
panel1.add(panel2, BorderLayout.NORTH);
panel2.add(insetsPanel3, BorderLayout.CENTER);
insetsPanel1.add(button1, null);
panel1.setVisible(true);
panel1.setSize(400,300);
/****************************/
// ab hier wirds wichtig:
bc = new BitmapComponent("ich.jpg");
panel3.add(bc,null);
bc.setSize(200,200);
bc.setVisible(true);
panel3.setSize(bc.getWidth(),bc.getHeight());
panel3.setVisible(true);
setSize(400,500);
setResizable(true);
panel3.updateUI(); //hilft auch nichts
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
cancel();
}
super.processWindowEvent(e);
}
//Close the dialog
void cancel() {
dispose();
}
//Close the dialog on a button event
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
cancel();
}
}
}
die datei ich.jpg, um die es sich hier handelt liegt sowohl im unterverzeichniss src// als auch im unterverzeichniss classes//
Danke für eure Hilfe
Stefan
Schönen Gruß und vielen Dank!
stream
---
Zur Zeit lesen Leute meine Beiträge.
Meine Beiträge wurden insgesamt
geschrieben von stream , 24.07.2003, 01:24 Uhr , 21 mal gelesen