Я конвертирую старый Java-код в Scala. У меня есть это.
class XYCustomRenderer(dataMax: Double, dataMin: Double) extends XYShapeRenderer with BaseChart {
override def getItemPaint(series: Int, item: Int): Paint = {
val seriesCollection: TimeSeriesCollection = getPlot.getDataset(OUNCES_CHART).asInstanceOf[ TimeSeriesCollection ]
val ounce = seriesCollection.getYValue(series, item)
if ( ounce >= dataMax || ounce <= dataMin ) {
new Color(255, 161, 15, 200)
}
new Color(242, 29, 5, 150)
}
}
Это прямое преобразование в значительной степени.
У меня проблемы с получением правильного цвета.
Если я напишу его, как показано, он всегда возвращает нижний цвет.
Если я напишу это так (с возвратом).
if ( ounce >= dataMax || ounce <= dataMin ) {
return new Color(255, 161, 15, 200)
}
new Color(242, 29, 5, 150)
Всегда возвращает цвет в блоке if. Это не имеет никакого смысла для меня. Скала ведет себя определенным образом, в котором я не уверен.
Я просто пытаюсь вернуть два разных цвета на основе логики. Что я делаю неправильно?
Спасибо