在 JavaFX 中充当按钮的椭圆
Ellipse that acts like a button in JavaFX
我一直在尝试找到一种方法来构建两个彼此相邻的 Ellipse
对象,可以单击它们并通过单击其中一个转到其他屏幕。
我不知道从哪里开始。现在我只知道希望建立2个常规按钮。
我们如何创建它?
elipse.addEventFilter(MouseEvent.MOUSE_CLICKED, e -> {
//Add scene change here.
});
只需使用 Circle
作为按钮的形状。默认情况下,形状将缩放到 Button
大小,这会导致椭圆形 Button
s.
Button btn = new Button("Say 'Hello World'");
// circular shape scaled to Button dimensions = ellipse
btn.setShape(new Circle(1));
// increase distance from edges to text
btn.setPadding(new Insets(8));
你能做的就是有一个标签
Label label = new Label();
label.setId("button");
然后在标签中添加图像椭圆或任何您想要的内容。
Image image = new Image(getClass().getResourceAsStream("ellipse.png"));
label.setGraphic(new ImageView(image));
然后给标签添加鼠标点击事件
label1.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
// write code to change screen
} });
我一直在尝试找到一种方法来构建两个彼此相邻的 Ellipse
对象,可以单击它们并通过单击其中一个转到其他屏幕。
我不知道从哪里开始。现在我只知道希望建立2个常规按钮。
我们如何创建它?
elipse.addEventFilter(MouseEvent.MOUSE_CLICKED, e -> {
//Add scene change here.
});
只需使用 Circle
作为按钮的形状。默认情况下,形状将缩放到 Button
大小,这会导致椭圆形 Button
s.
Button btn = new Button("Say 'Hello World'");
// circular shape scaled to Button dimensions = ellipse
btn.setShape(new Circle(1));
// increase distance from edges to text
btn.setPadding(new Insets(8));
你能做的就是有一个标签
Label label = new Label();
label.setId("button");
然后在标签中添加图像椭圆或任何您想要的内容。
Image image = new Image(getClass().getResourceAsStream("ellipse.png"));
label.setGraphic(new ImageView(image));
然后给标签添加鼠标点击事件
label1.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
// write code to change screen
} });