美文网首页
JavaFX按钮添加图标的方法

JavaFX按钮添加图标的方法

作者: 陶然然_niit | 来源:发表于2018-11-19 15:51 被阅读0次
  • 布局文件 jianshu.xml
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns="http://javafx.com/javafx/8.0.121" 
            xmlns:fx="http://javafx.com/fxml/1"
            fx:controller="com.soft1841.sample5.JianShuController">
    <Button fx:id="testBtn"  text="测试按钮"
            AnchorPane.leftAnchor="200" 
            AnchorPane.topAnchor="100" />
</AnchorPane>
  • 样式表文件jianshu.css
#testBtn{
    -fx-text-fill:#FFFFFF;
    -fx-background-color: rgb(202,48,43);
    -fx-border-color: rgb(202,48,43);
    -fx-border-radius: 20;
    -fx-background-radius: 20;
    -fx-pref-width: 100px;
    -fx-pref-height: 35px;
    -fx-padding: 6 6 6 6;
}
  • 主程序 JianShuApp.java
package com.soft1841.sample5;

import com.soft1841.sample4.SingerApp;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Stage;

import java.net.URL;

public class JianShuApp  extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        URL location = getClass().getResource("jianshu.fxml");
        FXMLLoader fxmlLoader = new FXMLLoader(location);
        Parent root = fxmlLoader.load();
        Scene scene = new Scene(root, 800, 600);
        scene.getStylesheets().add(JianShuApp.class.getResource("jianshu.css").toExternalForm());
        primaryStage.setTitle("简书");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}


  • 控制器文件 JianShuController.java
package com.soft1841.sample5;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import java.net.URL;
import java.util.ResourceBundle;

public class JianShuController implements Initializable {
    @FXML
    private Button testBtn;
    
    @Override
    public void initialize(URL location, ResourceBundle resources) {
        Image btnImg = new Image("/img/heart.png");
        ImageView imageView = new ImageView(btnImg);
        //给按钮设置图标
        testBtn.setGraphic(imageView);
    }
}

  • 运行效果


    效果图

相关文章

网友评论

      本文标题:JavaFX按钮添加图标的方法

      本文链接:https://www.haomeiwen.com/subject/cqlafqtx.html