2015-04-07 3 views
1

У меня есть приложение E4, которое имеет ToolControl, класс, который обрабатывает элемент управления инструментом, создает кнопку JavaFX, по какой-то причине кнопка добавляет многоточие, и я не знаю, почему ,Кнопка JavaFx добавляет многоточие при визуализации на E4 ToolControl

Fx Button ellipsis

Вот ссылка на пример приложения

https://github.com/SDSethia/ColoredButton.git

+0

Вы говорите о радиусе вокруг углов кнопки? – ItachiUchiha

+0

Нет, «...» в кнопке, текст в моем коде «FxButton (1)», но его отображается как «FxButton ...» – SDS

ответ

0

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

final FXCanvas canvas = new FXCanvas(parent, SWT.NONE); 
    button = new Button(); 
    button.setText("FxButton (1)"); 
    button.setStyle("-fx-background-color: #186dee; -fx-text-fill: white;"); 

    final HBox box = new HBox(); 
    box.getChildren().add(button); 

    final Scene scene = new Scene(box); 
    canvas.setScene(scene); 

Это решило проблему.

+0

Это, вероятно, работает, потому что кнопка изменяется на HBox. –

0

JavaFX укорачивает ярлык автоматически, когда размер элемента управления (кнопка в вашем случае) слишком мал для текст. Это не зависит от E4. Поэтому, если вы увеличите размер кнопки, появится полный текст.

Я посмотрел на ваш проект, и мне интересно, почему вы используете средства визуализации SWT, хотя вы хотите использовать JavaFX!

Если вы хотите использовать E4 + JavaFX, я рекомендую использовать средства рендеринга кликов e (fx). В этом руководстве вам должно быть начато: https://wiki.eclipse.org/Efxclipse/Tutorials/Tutorial4

+0

Я пробовал 'button.setMaxWidth (Double.MAX_VALUE);' результат все тот же – SDS

+0

С 'button.setMaxWidth' вы устанавливаете максимальную (!) ширину, а не фактическую ширину. Попробуйте 'button.setPrefWidth' или' button.setMinWidth'. –