美文网首页
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