Bir BufferedImage (ana), kendim genişletilmiş bir AdvancedBufferedImage (alt) için bir döküm yapmaya çalıştığımda bir ClassCastException
alıyorum, herhangi bir yöntem geçersiz kıldım ve ben tüm yüklenicilerialt yapı çocuğa döküm - BufferedImage nesnesi
değiştirmeden uyguladıysanız Imageio.read() yöntemini kullanarak bir Dosyadan AdvancedBufferedImage oluşturmaya çalıştığımda bu özel durumu atayım.
File file = new file(path);
AdvancedBufferedImage image = (AdvancedBufferedImage) ImageIO.read(file);
Herhangi bir sorun olmayacak gibi görünüyor, Sorun ne olabilir?
Bu yüzden AdvancedBufferedImage'ın BufferedImage ile ilişkisini değiştirmenizi öneririz. –
Tam olarak. Bu yaklaşım, kendiniz uygulamak istemediğiniz yöntemleri delege etmenize ve yine de fazladan işlevsellik eklemenize izin verir. Mevcut sınıfı sadece sararsınız. –
sadece bir tutuklama yapmak için kullanışlı bir araç var, tutuklamak için, temsil etmek istediğiniz sınıfın örneğine sahip bir sınıf oluşturmak, üye 'delegate yöntemleri' üzerine sağ tıklayın. büyük sınıflar –