Я занимаюсь использованием Icon и myIcon, и я получаю сообщение об ошибке, указывающее, что myIcon должен быть определен в собственном файле. Я уверен, что я определил его в коде и смущен тем, что я сделал неправильно.Использование Icon и myIcon
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class TestIcon {
public static void main(String[] args) {
myIcon icn = new myIcon(40,50);
JOptionPane.showMessageDialog(null, "Hello World!", "Message", JOptionPane.INFORMATION_MESSAGE, icn);
}
}
public class myIcon implements Icon{
private int width;
private int height;
public myIcon(int width, int height) {
this.width=width;
this.height=height;
}
public int getIconWidth(){
return width;
}
public int getIconHeight(){
return height;
}
public void paintIcon(Component c, Graphics g, int x, int y){
Graphics2D g2 = (Graphics2D) g;
Ellipse2D.Double ellipse = new Ellipse2D.Double(x,y,width, height);
g2.setColor(Color.RED);
g2.fill(ellipse);
}
}
Удалите последний '}' под 'TestIcon' и поместите его в конец файла, так что' myIcon' находится в 'TestIcon', делая его внутренним классом. Затем вам нужно будет определить 'myIcon' как' static' – MadProgrammer
@MadProgrammer. Я попробовал это, и я получаю сообщение об ошибке, поскольку нет закрывающего экземпляра myIcon. –