Hallo liebe Leute,
ich melde mich hier, weil ich ein Anfänger in Java bin und total im Stress bin. I need your help, please!
Es geht darum, dass ich an einem Bildverarbeitungs Programm arbeite.
DAS EIGENTLICHE PROBLEM liegt darin, dass ich eine GUI habe auf welche sich buttons, jMenuBar etc und eine CANVAS befinden.
WAS NICHT FUNKTIONIERT ist:
Ich kann auf "bild laden" klicken, es öffnet sich ein Fenster für das auswählen eines Bildes - ich wähle ein Bild aus, klicke auf OK aber es wird einfach nichts auf die Canvas geladen...ich habe schon alles ausprobiert, die Canvas bleibt leer :-(...vielleicht kann mir einer schnell helfen und ja, es muss eine CANVAS sein...
Hier der Teil des Quellcodes, um welchen sich alles dreht...
ich melde mich hier, weil ich ein Anfänger in Java bin und total im Stress bin. I need your help, please!
Es geht darum, dass ich an einem Bildverarbeitungs Programm arbeite.
DAS EIGENTLICHE PROBLEM liegt darin, dass ich eine GUI habe auf welche sich buttons, jMenuBar etc und eine CANVAS befinden.
WAS NICHT FUNKTIONIERT ist:
Ich kann auf "bild laden" klicken, es öffnet sich ein Fenster für das auswählen eines Bildes - ich wähle ein Bild aus, klicke auf OK aber es wird einfach nichts auf die Canvas geladen...ich habe schon alles ausprobiert, die Canvas bleibt leer :-(...vielleicht kann mir einer schnell helfen und ja, es muss eine CANVAS sein...
Hier der Teil des Quellcodes, um welchen sich alles dreht...
Java:
...
);
board = new Bildboard();
this.getContentPane().add(board);
}
// innere Klasse: MyActionist
class MyActionist implements ActionListener{
public void actionPerformed(ActionEvent e){
laden();
}
}
// innere Klasse: Bildboard
class Bildboard extends Canvas{
private static final long serialVersionUID = 1L;
Bildboard(){
this.setPreferredSize(new Dimension(500,500));
}
// Methode der Klasse Bildboard
public void paintComponent(Graphics g){
super.print(g);
if(img != null){
g.drawImage(img,0,0,this);
}
}
}
// Methode der äußeren Klasse !!!
public void laden(){
// merkt sich den Dateinamen
String datei;
JFileChooser myfile = new JFileChooser();
myfile.showOpenDialog(null);
// Dateityp String nicht file!!
if(myfile.getSelectedFile() == null) {
return;
}
datei = myfile.getSelectedFile().toString();
// = new Toolkit();
Toolkit toolkit = Toolkit.getDefaultToolkit();
// damit das Bild nicht vor Beendigung
// des Ladevorganges dargestellt wird
MediaTracker kontrolle = new MediaTracker(this);
//img = new Image();
originalImage = img = toolkit.getImage(datei);
// id Nummer, damit java weiß, welches Bild gement ist
kontrolle.addImage(img,0);
try{
kontrolle.waitForID(0);
}
catch(InterruptedException e){
System.out.println("Laden fehlgeschlagen!");
}
this.board.repaint();
}
...
Zuletzt bearbeitet von einem Moderator: