Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Как правильно прикрепить картинку на кнопку


Автор: Qawra 28.12.2008, 00:46
Прочитала в учебнике как это сделать 
Код

ImageIcon saveIcon = new ImageIcon(“save.gif”);
save = new JButton(“Save”, saveIcon);

в моём варианте это будет так 
Код

    ImageIcon firstPlayerIcon = new ImageIcon("first.gif");
    firstPlayerButton = new JButton(" First Player ",firstPlayerIcon);

программа нашла в первой строчке illegal character :\ 8220
и до компиляции второй дело пока не дошло .
Я на свой риск убрала кавычки и попыталась второй раз уже как 
ImageIcon firstPlayerIcon = new ImageIcon(first.gif);   
 Проблемы с  illegal character больше нет , но теперь программа не может найти 
variable  first ... Картинка лежит в общей папке .Может надо было для неё отдельную папку завести внутри папки проекта ? Об этом в учебнике ничего не сказано  поэтому я сомневаюсь .

Автор: SoulKeeper 28.12.2008, 02:25
Кавычки что в первом примере - они с Microsoft Office, с ними Java дружит в кодировке Cp1251, хотя тут я не уверен.

Второй пример скомпилировался нормально.

Автор: dorogoyIV 28.12.2008, 06:34
Qawra, может быть хватит бредить...
форум не для бредней !!!
пожалуйста, выставляй свои вопросы (только не те, которые тупые)

модераторов попрошу закрывать такие темы. (они пока что тебя терпят)

 Проблемы с  illegal character больше нет , но теперь программа не может найти 
variable  first ... Картинка лежит в общей папке 
ну что за бред!?
берешь за основание папку "bin", относительно ее все делаешь!!!
если кладешь в архив jar, то добавляешь слеш перед названием папки(не забывай,что надо читать как поток)
если хочешь подробную инфу, выкладывай нормальный стэктрэйс

Автор: Qawra 28.12.2008, 12:39
Опытный , вы опытный и вы наверно  счастливы от своей опытности ..я бы была тоже наверно счастлива если бы всё что вы тут написали я уже знала и понимала . А почему вы думаете что я брежу  ?
Вам не нравиться  что я  задаю глупые вопросы ? 
Они не глупые , уверяю вас . Они просто  заданы по женски smile  
Они выглядят  глупыми  для вас в силу разницы  двух типов мышления . 
Но  ведь нигде  не написано что этот форум чисто мужской ?
Делайте что хотите ,  не читайте мои вопросы если хотите и тем более не отвечайте на них если они вас раздражают . Я на вас за это не обижусь и меня это как личность это никак не затронет  .



Автор: powerOn 28.12.2008, 13:23
Спокойствие, только спокойствие.

Qawra, существует 2 вида путей к файлу: абсолютный и относительный.
Абсолютный это когда путь указывается полностью: "C:/someFolder/myimage.gif". Относительный когда он указывается относительно рабочей директории, т.е. той директории из которой была запущена программа - не обязательно это та же директория где находится программа (!). Относительный путь не содержит имени диска, например: "temp/myImage.gif".

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

ImageIcon firstPlayerIcon = new ImageIcon("first.gif");





Автор: Rpahut 28.12.2008, 17:19
Qawra, могу посоветовать установить какой-нибудь переводчик, или например зайти на translate.ru
Фишка в том, что сообщение об ошибке - это уже половина решения. Нужно только понять, что не нравится компилятору, и исправить это.

В данном случае ошибка - недопустимый символ 8220 - это символ ' “ ', обратная кавычка. Ни разу не видел чтобы его применяли в программе, и вообще у меня на клавиатуре такой клавиши нет. 

Автор: powerOn 28.12.2008, 20:40
Цитата(Rpahut @  28.12.2008,  17:19 Найти цитируемый пост)
В данном случае ошибка - недопустимый символ 8220 - это символ ' “ ', обратная кавычка. Ни разу не видел чтобы его применяли в программе, и вообще у меня на клавиатуре такой клавиши нет.  


скорее всего, данный кусок код был скопирован из примера вместе с этим символом. 

Автор: Qawra 29.12.2008, 11:19
Английский я понимаю .Сейчас читаю Teach Yourself Java 6 in 21 Days .
Нигде не упоминается что надо создавать папку для картинок самостоятельно.В случае с BlueJ программа создаёт нужную ей папку когда создаётся New Project .
Спасибо powerOn и Rpahut !!!
Всё прикрепилось  из общей папки !!!

Автор: Connie 29.12.2008, 11:38
Цитата
Английский я понимаю

Замечательное руководство
http://java.sun.com/docs/books/tutorial/uiswing/components/button.html
В частности из примера
http://java.sun.com/docs/books/tutorial/uiswing/examples/components/ButtonDemoProject/src/components/ButtonDemo.java
Код

/* 
 * ButtonDemo.java requires the following files:
 *   images/right.gif
 *   images/middle.gif
 *   images/left.gif
 */



По крайней мере левые символы из примеров не скопируются smile

А вообще там хорошие руководства по java
http://java.sun.com/docs/books/tutorial/
Очень подробно с работающими примерами описан весь язык

Автор: Qawra 30.12.2008, 22:42
Я там часто бываю ..  самообразовываюсь с переменным успехом  .
Сегодня создала  анимацию со звуком  и прилепила её на кнопку . Анимация у меня  приклеилась а звук нет . Придётся завтра  изучать как работать  со звуком на кнопках . Хорошо что я  читаю по английски  не хуже  самих англичан . Но когда это не  художественная литература а куски   кода  , процесс усвоения у меня явно заходит в тупик . Дальше уже я двигаюсь  интуитивно - дедуктивным методом и задаю  "глупые вопросы "  smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)