В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Ваш файл значка должен быть добавлен к одному из Ваших блоков проекта, и его Действие Сборки должно быть установлено на Ресурс. После добавления ссылки на блок можно создать NotifyIcon как это:
System.Windows.Forms.NotifyIcon icon = new System.Windows.Forms.NotifyIcon();
Stream iconStream = Application.GetResourceStream( new Uri( "pack://application:,,,/YourReferencedAssembly;component/YourPossibleSubFolder/YourResourceFile.ico" )).Stream;
icon.Icon = new System.Drawing.Icon( iconStream );
Ну, Вы не хотите использовать ресурсы стиля resx: Вы просто придерживаетесь, ico файл в Вашем проекте в папке (позволяет, говорят "Иллюстрации"), и в свойствах, установите Действие Сборки на "Ресурсы"...
Затем можно сослаться на него в XAML, использующем ПАКЕТ URIs... "pack://приложение:/Artwork/Notify.ico"
Посмотрите здесь: http://msdn.microsoft.com/en-us/library/aa970069.aspx и образец
, Если Вы хотите быть немного больше... Подобный WPF, необходимо изучить проект WPF Contrib на CodePlex, который имеет контроль NotifyIcon, который можно создать в XAML и который использует стандартные меню WPF (таким образом, можно засунуть "что-либо" в меню).
Я создал проект здесь и использовал встроенный ресурс (действие сборки было установлено на Встроенный Ресурс, а не просто ресурс). Это решение не работает с Ресурсом, но можно быть в состоянии управлять им. Я поместил это на OnIntialized (), но он не должен идти туда.
//IconTest = namespace; exclamic.ico = resource
System.IO.Stream stream = this.GetType().Assembly.GetManifestResourceStream("IconTest.Resources.exclamic.ico");
if (stream != null)
{
//Decode the icon from the stream and set the first frame to the BitmapSource
BitmapDecoder decoder = IconBitmapDecoder.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.None);
BitmapSource source = decoder.Frames[0];
//set the source of your image
image.Source = source;
}
Обычный шаблон использования - иметь такой же значок уведомления, что и значок главного окна. Значок определяется как файл PNG.
Для этого добавьте изображение в ресурсы проекта, а затем используйте его следующим образом:
var iconHandle = MyNamespace.Properties.Resources.MyImage.GetHicon();
this.notifyIcon.Icon = System.Drawing.Icon.FromHandle(iconHandle);
В окне XAML:
<Window x:Class="MyNamespace.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:local="clr-namespace:Seahorse"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="600"
Icon="images\MyImage.png">