通过getRGB方法扩展javafx.scene.paint.Color

时间:2015-01-11 08:34:12

标签: swing oop inheritance javafx composition

我正在将SWING应用程序转换为JavaFX应用程序。 swing应用程序使用java.awt.Color.getRGB()方法。

javafx.scene.paint.Color没有getRGB()方法。因此,我想扩展javafx.scene.paint.Color并使用以下逻辑为其提供一个自编写的getRGB()方法

public int getRGB( Color col) 
{
    int r = ((int)col.RED.getRed()*255);
    int g = ((int)col.RED.getGreen() * 255);
    int b = ((int)col.RED.getBlue() * 255);
    int rgb = (r << 16) + (g << 8) + b;
    return rgb;
}

不幸的是,javafx.scene.paint.Color是最终定义的,因此不允许扩展。

我的问题:我应该使用哪种OO技术来实现自编写的getRGB()方法?我可以使用构图,但也许有更智能的解决方案?

1 个答案:

答案 0 :(得分:3)

使用静态辅助方法创建实用程序类:

public static int getRGB( Color col)