Tworzę sobię 41 ImagePanel'i napisanych z tym sposobem do wyświetlania obrazków na JPanel'u (nadpisaniem klasy), i niektóre metody, takie jak Layout'y i addActionListener nie działają :(
Jak to naprawić ??
0
0
a moglbys dokladnie umiescic kod?
0
nie działa, bo coś źle zrobiłeś... a tak serio - nie wróżymy tu z fusów, podaj więcej danych albo wątek wylatuje.
0
sory, myślałem, że ten kod jest oczywisty, bo jak inaczej wyświetlić obrazek na panelu :P
oto kod tej klasy:
public class ImagePanel extends JPanel implements Serializable {
Image image = null;
int index;
public ImagePanel(Image image) {
this.image = image;
}
public ImagePanel() {
}
public void setImage(Image image){
this.image = image;
}
public Image getImage(Image image){
return image;
}
public void setIndex(int index){
this.index=index;
}
public int getIndex(){
return index;
}
public void paintComponent(Graphics g) {
super.paintComponent(g); //paint background
if (image != null) { //there is a picture: draw it
int height = this.getSize().height;
int width = this.getSize().width;
g.drawImage(image,0,0, width, height, this);
}
}
}
próbowałem nadpisać tą instrukcję (addActionListener) bezowocnie :(
tego listenera kod jest dobry, jeśli o to chodzi :)
0
Jeśli chodzi o addActionListener()
, to w JPanel tej metody nie ma. JPanel nie obsługuje zdarzenia ActionEvent. Kliknięcie myszą można obsłużyć metodą addMouseListener()
, przy użyciu MouseListener albo lepiej MouseAdapter...
Co do layout'u, to nie zauważyłem problemów... Metoda setLayout()
jest i działa jak należy.