Символы Unicode (стрелки) в Java

я хочу использовать следующие символы для кнопок в моем приложении:

стрелки http://img402.imageshack.us/img402/3176/arrowso.jpg

здесь мой код:

Button goToFirstButton = new Button("\uE318");
Button prevPageButton = new Button("\uE312");
Button nextPageButton = new Button("\uE313");
Button goToLastButton = new Button("\uE319");

и результат

результат http://img693.imageshack.us/img693/9063/resultbu.jpg

Это кажется, это, \uE318 и \uE313 являются неправильными. Что я должен использовать вместо этого? Для goToLastButton и goToFirstButton я предпочитаю использовать, это отображает

сопроводительный текст http://img3.imageshack.us/img3/5724/singlearrow.jpg

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

5
задан cupakob 2 February 2010 в 09:52
поделиться

7 ответов

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

8
ответ дан 18 December 2019 в 07:08
поделиться

УДАЛЕНИЕ UNICODE CODEPOOWS, которые вы хотите использовать, являются частью частного использования , то есть у каждого производителя шрифта бесплатны, чтобы поставить любой характер, который им нравится в любой позиции. Шрифт, который вы использовали для поиска символов со стрелкой, - это просто другой шрифт, чем тот, который используется для отображения текста кнопки. Если кнопка текстовых карт \ UE318 и \ UE313 к какому китайскому (?) Графику, то это не так неправильно , просто разные.

6
ответ дан 18 December 2019 в 07:08
поделиться

Хотя несколько человек выдвинули аргумент, вам следует избегать использования этих кодовых точек, потому что вы не можете полагаться на системы пользователей, у которых есть шрифт, который отображает эти символы, причина, по которой вы вводите неправильные символы в своем примере, полностью упущена. Все символы, которые вы пытаетесь нарисовать, находятся в «области частного использования», что означает, что задействованные символы потенциально будут разными в каждом отдельном шрифте.

Стандарт Unicode гласит:

Область частного использования (E000-F8FF) * Область частного использования не содержит каких-либо назначений символов, следовательно, для этой области не предоставляются таблицы кодов символов или списки имен. { {1}}

Если вы встраиваете конкретный шрифт, который хотите использовать, чтобы убедиться, что вы можете использовать эти кодовые точки, это нормально. Но это означает, что вы действительно должны использовать нотацию \ u #### в своем коде, потому что встраивание символов как Unicode напрямую означает, что источник не будет иметь смысла, если кто-то не просматривает его в правильном шрифте.

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

3
ответ дан 18 December 2019 в 07:08
поделиться

Вы можете использовать HTML-код, с которым вы достигли вышеуказанного макета. Я

<table>
   <tr>..</tr>
   <tr>..</tr>
</table>

Тем не менее, планировки, меньше таблицы являются предпочтительными - то есть с использованием

Теги. ( Смотрите здесь )

-121--3926432-

Я также предлагаю использовать значки. Не все шрифты имеют символы для всех точек символов Unicode.

Вы можете получить его работать, указав конкретный шрифт. Но что, если этот шрифт найден на компьютерах Windows 7, но не на Mac OS X или Linux или Windows XP? Затем система выберет другой шрифт, основанный на настройках по умолчанию браузера, и что по умолчанию не может иметь никаких символов, которые вы хотите.

1
ответ дан 18 December 2019 в 07:08
поделиться

Можно использовать HTML-код, с помощью которого был достигнут указанный выше формат. Т.е.

<table>
   <tr>..</tr>
   <tr>..</tr>
</table>

Однако предпочтительны форматы без таблиц, т.е. с использованием < div > тэгов. ( см. здесь )

-121--3926432-

Преждевременная оптимизация - плохая идея. Используйте операторы if там, где они имеют смысл. Когда вы обнаруживаете часть кода, где его производительность нуждается в улучшении, то, возможно, работаете над удалением операторов if из этой части кода.

Если операторы могут быть дорогими, так как они заставляют компилятор создавать команды ветви. Если вы можете придумать способ кодирования той же логики таким образом, что компилятор не должен ветвиться вообще код, скорее всего, будет намного быстрее, даже если есть больше полных инструкций. Я помню, что был невероятно удивлен тем, как перекодирование короткого фрагмента кода для использования различных битовых манипуляций, а не какой-либо ветвления ускорило его в 10-20%.

Но это не повод избегать их вообще. Это просто то, что нужно иметь в виду, когда вы пытаетесь получить последний бит скорости из раздела кода, который, как вы знаете, имеет решающее значение для производительности, потому что вы уже запустили профилировщик и различные другие инструменты, чтобы доказать это самому себе.

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

-121--4534085-

Исходные файлы Java UTF-8 закодированы, поэтому вы можете поместить нужные символы непосредственно в исходный код (просто скопируйте 'n paste из программы просмотра шрифтов или веб-сайта), если вы используете достойный редактор. Нет необходимости использовать эту запутанную нотацию «\uXXXX ». Например, я нашел это полезным для греческих букв, обычно используемых в научной нотации (δ, - их можно даже использовать в качестве имен переменных.

Конечно, выбранный шрифт должен иметь нужные символы, иначе он не сработает.

0
ответ дан 18 December 2019 в 07:08
поделиться

◀ ▶

Есть пара символов, близких к тому, что вы хотите в диаграмме геометрических фигур . Однако, как и другие, говорили, используйте иконы и оставайтесь из частной области использования.

3
ответ дан 18 December 2019 в 07:08
поделиться

Я буду защищать использование символов Unicode на кнопках , но очень легко реализовать интерфейс Icon и использовать paintIcon () , чтобы рисовать все, что вы хотите. Учебное пособие «Создание пользовательской реализации значка» является хорошим примером; этот код показывает более сложную анимированную гистограмму .

0
ответ дан 18 December 2019 в 07:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: