Добавление значков на кнопку в gwt

У меня есть кнопка, и я хочу присвоить ей значок вместе с текстом внутри нее. у них нет свойств для добавления значка к кнопке, как в smartGwt. Любая идея, как это сделать, пожалуйста, помогите.


person Ekata    schedule 07.02.2013    source источник
comment
Также обратите внимание на GWT-Bootstrap, это упростит вам большую часть работы.   -  person nikhil    schedule 27.02.2013
comment
Если вы нашли решение для этого из приведенных ниже ответов, примите и поддержите ответы. Если у вас есть собственный ответ, запишите его и примите. Это поможет другим пользователям, которые ищут ответы на подобные вопросы.   -  person Abhijith Nagaraja    schedule 26.09.2014


Ответы (6)


Есть много способов добиться этого.

Способ 1: легкий способ

Просто установите фоновое изображение с помощью кода. myButton.getElement().getStyle().setBackgroundImage("path");

Способ 2: Еще один простой способ

Установите свой собственный HTML myButton.setHtml("Pass the html string");

Способ 3: простой, но дает больше контроля

myButton.addStylename("buttonStyle")

Используйте css для оформления этого

.buttonStyle{
color : red;
}

Способ 4: лучший способ, по моему мнению

Создайте свою собственную разделенную кнопку, обернув ее вокруг flowpanel или horizontalPanel с изображением в качестве первого виджета и кнопкой в ​​качестве другого виджета. Это дает вам дополнительный контроль над изображением и кнопкой. У вас может быть обработчик кликов как на изображении, так и на кнопке, и вы можете стилизовать каждый из них по отдельности.

person Abhijith Nagaraja    schedule 07.02.2013

Вот как я установил значок в моей кнопке get:.

Добавьте к вашей кнопке gwt дополнительный крючок класса стиля, мой ниже — btn-fa-group. Если вы используете атрибут addStyleNames, вы можете определить их в своей таблице стилей и иметь несколько классов.

<g:Button text=" Post Your Answer" enabled="false" ui:field="showPostButton" addStyleNames="btn btn-default btn-fa-group" />

Теперь в вашем CSS определите следующее объявление:

btn-fa-group:before {
    color: #333333;
    content: "\f0c0";
    display: inline-block;
    font-family: "fontawesome";
}

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

person jamesy    schedule 06.12.2013

Вы можете установить innerhtml с изображением в кнопке, т.е.

 Button button=new Button("<image src='abc.jpg' width='200px' height='300px' />Ok");
person bNd    schedule 07.02.2013
comment
Я бы рекомендовал использовать safehtml API вместе с предложением Бхумики. Кнопка (SafeHtml html, обработчик ClickHandler) - person appbootup; 07.02.2013

Button bt = new Button();

bt.getElement().getStyle().setBackgroundImage("url('path/to/ur/image/imagename.extention')");

также установите размер фонового изображения по размеру кнопки

bt.getElement().getStyle().setProperty("backgroundSize","30px");
person Dipak    schedule 07.02.2013

Добавить класс Css к вашей кнопке, вероятно, будет лучшим решением.

button.addStyleName("Значок кнопки");

Как определить CSS и HTML, вы можете прочитать здесь.

person Sam    schedule 07.02.2013

Да, вы можете .Gwt иметь кнопку типа SmartGwt под названием push buttopn

com.google.gwt.user.client.ui.PushButton

Вы можете передать ему объект изображения, как показано ниже.

Image  image = new Image(GWT.getModuleBaseURL() + "/images/search-arrow.png");
RootPanel.get().add(new PushButton(image));
person Suresh Atta    schedule 07.02.2013