Hallo,
ich habe ein bean erstellt, die allerdings im Editor nicht auf mein JFrame möche.
Es kommt die Meldung:
"The component cannot be instantiated. Please make sure it is a JavaBeans component."
Den Fehler kann ich einfach nicht finden. An die Namenskonventionen habe ich mich gehalten und selbst wenn ich die getter und setter auskommentiere und nur einen Konstruktor stehen habe, kommt die dämliche Meldung nach rebuilt immernoch.
Was habe ich hier übersehen? Ich hoffe ihr könnt mir helfen.
-mfg-
ich habe ein bean erstellt, die allerdings im Editor nicht auf mein JFrame möche.
Es kommt die Meldung:
"The component cannot be instantiated. Please make sure it is a JavaBeans component."
Den Fehler kann ich einfach nicht finden. An die Namenskonventionen habe ich mich gehalten und selbst wenn ich die getter und setter auskommentiere und nur einen Konstruktor stehen habe, kommt die dämliche Meldung nach rebuilt immernoch.
Code:
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFileChooser;
import javax.swing.border.EtchedBorder;
/**
* @author
*/
public class JXSPAdminBean extends JComponent {
private static final int XPREFSIZE = 216;
private static final int YPREFSIZE = 40;
private final JButton loadButton = new JButton("Laden");
private final JButton closeButton = new JButton("Schließen");
private int scale = 3;
private BufferedImage image = null;
private JFileChooser chooser = null;
public JXSPAdminBean() {
setLayout(null);
setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
@Override
public boolean accept(File f) {
String name = f.getName().toLowerCase();
return name.endsWith(".bmp") || name.endsWith(".gif") || name.endsWith(".pcx") || name.endsWith(".png") || f.isDirectory();
}
@Override
public String getDescription() {
return "Bildformate (*.BMP, *.GIF, *.PCX, *.PNG";
}
});
loadButton.setBounds(8, 8, 96, 24);
/*loadButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
try {
BufferedImage tmpImg = ImageIO.read(chooser.getSelectedFile());
setImage(createBufferedImage(tmpImg.getScaledInstance(tmpImg.getWidth() * scale, tmpImg.getHeight() * scale, BufferedImage.SCALE_REPLICATE)));
} catch (IOException ex) {
Logger.getLogger(JXSPAdminBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
});*/
loadButton.setVisible(true);
closeButton.setBounds(112, 8, 96, 24);
/*closeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setImage(null);
}
});*/
closeButton.setVisible(true);
add(loadButton);
add(closeButton);
}
/**
* Setzt das Anzeigebild.
* @param newValue Das neue Anzeigebild.
*/
/*public final void setImage(BufferedImage newValue) {
BufferedImage oldValue = image;
image = newValue;
firePropertyChange("image", oldValue, newValue);
}
public final BufferedImage getImage() {
return image;
}*/
@Override
public Dimension getPreferredSize() {
return new Dimension(XPREFSIZE, YPREFSIZE);
}
private final BufferedImage createBufferedImage(Image img) {
if (img instanceof BufferedImage) {
return (BufferedImage) img;
}
BufferedImage bufImg = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics2D g = bufImg.createGraphics();
g.drawImage(img, 0, 0, null);
g.dispose();
return bufImg;
}
}
Was habe ich hier übersehen? Ich hoffe ihr könnt mir helfen.
-mfg-