2014-10-30 3 views
0

Я хотел бы изменить высоту оси Y ChartB всякий раз, когда изменяется ось Y диаграммы (например: chartB.yAxis = chartA.yAxis*0.5).JavaFX 2.2 Как изменить размер диаграммы на основе другого

Есть ли способ достичь этого?

+0

Вы имеете в виду высоту (количество пикселей), или вы действительно имеете в виду границы (т. диапазон значений)? –

+0

@James_D количество пикселей. – SDS

+0

chartB.prefHeightProperty(). Bind (chartA.heightProperty(). Умножить (0.333)); \t \t chartB.minHeightProperty(). Bind (chartA.heightProperty() умножить (0.333)); \t \t chartB.maxHeightProperty(). Bind (chartA.heightProperty() умножить (0.333)); Приведенный выше код работает, но я не уверен, что это правильный путь. – SDS

ответ

0

chartB.prefHeightProperty().bind(chartA.heightProperty().multiply(0.5)); chartB.minHeightProperty().bind(chartA.heightProperty().multiply(0.5)); chartB.maxHeightProperty().bind(chartA.heightProperty().multiply(0.5));

Пояснение: Начнет с высотой собственностью Chart Б (prefHeightProperty, minHeightProperty и maxHeightProperty) и связать, что Схема свойства высоты в с коэффициентом 1/2, что означает каждый раз, когда диаграмму изменение высоты, в chartA.heightProperty() предоставит новую высоту диаграммы A, это значение умножается на 1/2 или 0,5, чтобы получить новое значение высоты в пикселях для диаграммы B. API-интерфейс привязки на диаграмме B будет потреблять это новое значение высоты и задавать высоту pref, min высота и максимальная высота на диаграмме B.

Примечание: единственный способ точно контролировать высоту диаграммы B заключается в привязке всех 3 свойства, то есть prefHeightProperty, minHeightProperty и maxHeightProperty

+0

Измените свой ответ, чтобы добавить объяснение того, как работает ваш код и как он решает проблему OP. Многие плакаты SO являются новичками и не поймут код, который вы опубликовали. –

Смежные вопросы