Удалить значок JFrame по умолчанию - PullRequest
7 голосов
/ 29 июля 2011

В моем JFrame у меня есть значок кофе по умолчанию. Я хочу удалить это. Но когда я делаю setIconImage (null), это не работает. Может кто-нибудь сказать мне решение относительно того, как полностью удалить значок

Ответы [ 4 ]

22 голосов
/ 29 июля 2011

Всегда хорошо иметь при себе копию исходного кода Java .Код для java.awt.Window (суперкласса JFrame) имеет следующий код для setIconImage:

public void setIconImage(Image image)
{
  ArrayList<Image> imageList = new ArrayList<Image>();
  if (image != null)
  {
    imageList.add(image);
  }
  setIconImages(imageList);
}

Вы можете видеть, что передача нулевого изображения - это то же самое, что ничего не делатьПридется передать изображение, чтобы избавиться от кофейной чашки.Как и другие предлагали использовать прозрачный значок 1 x 1, это лучший выбор.Вот код для создания иконки:

Image icon = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB_PRE);
myFrame.setIconImage(icon);
4 голосов
/ 29 июля 2011

Создайте значок, состоящий из одного пикселя (лучше прозрачный) и используйте его.Если вам нужен такой значок, свяжитесь со мной.Я пришлю тебе.

1 голос
/ 29 июля 2011

Вы можете установить значок изображения на прозрачное изображение, которое удалит кофейную чашку. Я не верю, что в противном случае можно избавиться от значка по умолчанию.

0 голосов
/ 27 октября 2015

Вы можете просто использовать gimp или photoshop или даже рисовать и создавать прозрачное изображение размером 1x1px, экспортировать его (.png или .jpg, не имеет значения?). Затем примените его:

ImageIcon frameIcon = new ImageIcon("files\yourfile.png");
frame.setIconImage(frameIcon.getImage());

Должно быть в порядке.

...