广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州分享JavaFX滑块实例_北大青鸟IT学校

作者:邓华发布时间:2021-05-18分类:Java技术浏览:772


导读:为了让大家更好地理解JavaFX滑块,惠州北大青鸟老师给大家分享JavaFX滑块的实例,希望对大家学习Java有帮助。

为了让大家更好地理解JavaFX滑块,惠州北大青鸟老师给大家分享JavaFX滑块的实例,希望对大家学习Java有帮助。

实例

balance, rate, volume Slider

/*
* Copyright (c) 2011, Pro JavaFX Authors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
*    this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
*    this list of conditions and the following disclaimer in the documentation
*    and/or other materials provided with the distribution.
* 3. Neither the name of JFXtras nor the names of its contributors may be used
*    to endorse or promote products derived from this software without
*    specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*  CodeMonkeyToDo.java - A more complex example of using the AudioClip class.
*
*///package projavafx.codemonkeytodo;import javafx.application.Application;import javafx.event.ActionEvent;import javafx.event.EventHandler;import javafx.geometry.HPos;import javafx.geometry.Insets;import javafx.geometry.Pos;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.control.Hyperlink;import javafx.scene.control.Label;import javafx.scene.control.Slider;import javafx.scene.layout.GridPane;import javafx.scene.layout.Priority;import javafx.scene.layout.VBox;import javafx.scene.media.AudioClip;import javafx.scene.web.WebView;import javafx.stage.Stage;/**
* @author Dean Iverson
*/public class Main extends Application {  private final AudioClip coffeeClip;  private final AudioClip jobClip;  private final AudioClip meetingClip;  private Slider volumeSlider;  private Slider rateSlider;  private Slider balanceSlider;  public static void main(String[] args) {
   Main.launch(args);
 }  
 public Main() {
   coffeeClip = new AudioClip(getClipResourceString("resources/coffee.mp3"));
   jobClip = new AudioClip(getClipResourceString("resources/job.mp3"));
   meetingClip = new AudioClip(getClipResourceString("resources/meeting.mp3"));
 }

 @Override  public void start(Stage primaryStage) {    final GridPane grid = new GridPane();
   grid.setPadding(new Insets(10));
   grid.setHgap(10);
   grid.setVgap(5);

   createControls(grid);
   createClipList(grid);    
   final Scene scene = new Scene(grid, 640, 380);
   scene.getStylesheets().add(getClass().getResource("media.css").toString());

   primaryStage.setTitle("AudioClip Example");
   primaryStage.setScene(scene);
   primaryStage.show();
 }  private void createControls(GridPane grid) {    final Label volumeLabel = new Label("Volume");    final Label rateLabel = new Label("Rate");    final Label balanceLabel = new Label("Balance");

   GridPane.setHalignment(volumeLabel, HPos.CENTER);
   GridPane.setHalignment(rateLabel, HPos.CENTER);
   GridPane.setHalignment(balanceLabel, HPos.CENTER);
   
   volumeSlider = new Slider(0.0, 1.0, 1.0);
   rateSlider = new Slider(0.25, 2.5, 1.0);
   balanceSlider = new Slider(-1.0, 1.0, 0.0);

   GridPane.setHgrow(volumeSlider, Priority.ALWAYS);
   GridPane.setHgrow(rateSlider, Priority.ALWAYS);
   GridPane.setHgrow(balanceSlider, Priority.ALWAYS);

   grid.add(volumeLabel, 0, 2);
   grid.add(volumeSlider, 0, 3);
   grid.add(rateLabel, 1, 2);
   grid.add(rateSlider, 1, 3);
   grid.add(balanceLabel, 2, 2);
   grid.add(balanceSlider, 2, 3);
 }  private void createClipList(GridPane grid) {    final VBox vbox = new VBox(30);
   vbox.setAlignment(Pos.TOP_CENTER);    final Label clipLabel = new Label("Code Monkey To-Do List:");
   clipLabel.setId("clipLabel");    
   final Button getUpButton = new Button("Get Up, Get Coffee");
   getUpButton.setPrefWidth(300);
   getUpButton.setOnAction(createPlayHandler(coffeeClip));    final Button goToJobButton = new Button("Go to Job");
   goToJobButton.setPrefWidth(300);
   goToJobButton.setOnAction(createPlayHandler(jobClip));    final Button meetingButton = new Button("Have Boring Meeting");
   meetingButton.setPrefWidth(300);
   meetingButton.setOnAction(createPlayHandler(meetingClip));    final Hyperlink link = new Hyperlink("About Code Monkey...");
   link.setOnAction(new EventHandler<ActionEvent>() {
     @Override      public void handle(ActionEvent event) {
       WebView wv = new WebView();
       wv.getEngine().load("http://www.jonathancoulton.com/2006/04/14/" +
                           "thing-a-week-29-code-monkey/");

       Scene scene = new Scene(wv, 720, 480);

       Stage stage = new Stage();
       stage.setTitle("Code Monkey");
       stage.setScene(scene);
       stage.show();
     }
   });

   vbox.getChildren().addAll(clipLabel, getUpButton, goToJobButton,
                             meetingButton, link);
   
   GridPane.setHalignment(vbox, HPos.CENTER);
   GridPane.setHgrow(vbox, Priority.ALWAYS);
   GridPane.setVgrow(vbox, Priority.ALWAYS);
   grid.add(vbox, 0, 0, GridPane.REMAINING, 1);
 }  private String getClipResourceString(String clipName) {    return getClass().getResource(clipName).toString();
 }  private EventHandler<ActionEvent> createPlayHandler(final AudioClip clip) {    return new EventHandler<ActionEvent>() {
     @Override      public void handle(ActionEvent event) {
       clip.play(volumeSlider.getValue(), balanceSlider.getValue(),
                 rateSlider.getValue(), 0, 0);
     }
   };
 }
}

想了解更多关于Java的知识,联系在线客服,或者来惠州北大青鸟新方舟校区了解一下。

Java.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表