您将如何使用自定义图像创建自定义按钮尺寸?

时间:2019-05-04 20:02:22

标签: java eclipse button javafx

我试图创建一个要单击的自定义按钮,但是将图形设置为自定义图像仅覆盖该按钮,而不更改默认按钮的大小。如果您想尝试完整的代码,我很乐意将其发送给您,但是我认为这不是提交过程的想法。我现在大约有315行代码(处理程序,创建场景,其他图形和文本)减去一些空白行。因此实际代码可能少于300行

我试图将图形设置为按钮的ImageView(它将不接受Image对象) 我一直在研究Button API,Region API,Shape,Background等。我认为使用这些构造函数之一将朝着正确的方向发展,但是我不确定如何连接它以及需要使用哪些方法。我的猜测是,您某种程度上需要使用Shape或BorderProperty来正确设置它,但是我不确定它是如何100%确定的。

这是这里的设置,包括使用不同构造函数的一些测试

    private Image slice0img = new Image("slice0.png");
    private Image slice0pkd = new Image("slice0Pick.png");
    private Image slice1img = new Image("slice1.png");
    private Image slice2img = new Image ("slice2.png");
    private Image slice3img = new Image("slice3.png");
    private Image slice4img = new Image ("slice4.png");
    private Image slice5img = new Image ("slice5.png");
    private Image slice6img = new Image ("slice6.png");
    private Image slice7img = new Image ("slice7.png");
    private Image slice2pkd = new Image ("slice2Pick.png");
    private Image pizza1img = new Image ("pizza1.png");

    private ImageView slice0imgV = new ImageView(slice0img);
    private ImageView slice1imgV = new ImageView(slice1img);
    private ImageView slice2imgV = new ImageView(slice2img);
    private ImageView slice3imgV = new ImageView(slice3img);
    private ImageView slice4imgV = new ImageView(slice4img);
    private ImageView slice5imgV = new ImageView(slice5img);
    private ImageView slice6imgV = new ImageView(slice6img);
    private ImageView slice7imgV = new ImageView(slice7img);
    private ImageView pizza1imgV = new ImageView(pizza1img);
    private ImageView pizza2imgV = new ImageView(pizza1img);
    private ImageView pizza3imgV = new ImageView(pizza1img);

    //private BorderStroke border0 = new BorderStroke(slice0imgV);

    private Region buttonshape = new Region();
    private BackgroundFill slice0shape = new BackgroundFill(slice0imgV);


    private Button slice0 = new Button("slice0", slice0imgV);
    private Button slice1 = new Button("", slice1imgV);
    private Button slice2 = new Button("", slice2imgV);
    private Button slice3 = new Button("", slice3imgV);
    private Button slice4 = new Button("", slice4imgV);
    private Button slice5 = new Button("", slice5imgV);
    private Button slice6 = new Button("", slice6imgV);
    private Button slice7 = new Button("", slice7imgV);

我将背景设置为空,以使其不覆盖其他图像按钮(按钮为比萨饼形状,每个切片均为按钮)

        slice0.setBackground(null);
        slice1.setBackground(null);
        slice2.setBackground(null);
        slice3.setBackground(null);
        slice4.setBackground(null);
        slice5.setBackground(null);
        slice6.setBackground(null);
        slice7.setBackground(null);

0 个答案:

没有答案