當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaFX 類 Hyperlink用法及代碼示例


超鏈接類是JavaFX的一部分。超鏈接是一個HTML類型的標簽,可以包含文本和圖形,或兩者都包含。它響應滾動和點擊。單擊/按下超鏈接時,isVisited()變為true。超鏈接的行為類似於按鈕。當按下並釋放超鏈接時,將發送一個ActionEvent。因此,您的應用程序可以基於此事件執行某些操作。

該類的構造函數:

  1. Hyperlink():創建沒有文本或圖形的超鏈接。
  2. Hyperlink(String t):創建帶有指定文本作為標簽的超鏈接。
  3. Hyperlink(String t, Node g):創建帶有指定文本和圖形作為標簽的超鏈接。

常用方法:


方法 說明
isVisited() 如果尚未訪問超鏈接,則返回true,否則返回false。
setVisited(boolean v) 設置訪問的屬性的值。
setOnAction(EventHandler v) 設置屬性onAction的值。
fire() 實現以調用ActionEvent(如果已定義)。

以下示例程序旨在說明Hyperlink類的用法:

  1. Java程序創建超鏈接並將其添加到階段中,還添加一個事件處理程序來處理事件:該程序創建一個由名稱超鏈接指示的超鏈接。超鏈接將在場景內創建,而場景又將在場景內托管。我們將創建一個標簽來顯示是否訪問了超鏈接。函數setTitle()用於為舞台提供標題。然後創建一個HBox,在其上調用addChildren()方法在場景內附加超鏈接和標簽。最後,調用show()方法以顯示最終結果。我們將創建一個事件處理程序來處理按鈕事件。事件處理程序將使用setOnAction()函數添加到超鏈接。
    // Java Program to create a hyperlink and add 
    // it to the stage also add an event handler 
    // to handle the events 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.control.*; 
    import javafx.scene.layout.*; 
    import javafx.stage.Stage; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
      
    public class hyperlink extends Application { 
      
        // launch the application 
        public void start(Stage stage) 
        { 
      
            // set title for the stage 
            stage.setTitle("creating hyperlinks"); 
      
            // create a hyperlink 
            Hyperlink hyperlink = new Hyperlink("hyperlink"); 
      
            // create a HBox 
            HBox hbox = new HBox(); 
      
            // create a label 
            Label label = new Label("hyperlink not visited"); 
      
            // action event 
            EventHandler<ActionEvent> event =  
            new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent e) 
                { 
                    label.setText("hyperlink visited "); 
                } 
            }; 
      
            // when hyperlink is pressed 
            hyperlink.setOnAction(event); 
      
            // add hyperlink 
            hbox.getChildren().add(hyperlink); 
            hbox.getChildren().add(label); 
      
            // create a scene 
            Scene scene = new Scene(hbox, 200, 200); 
      
            // set the scene 
            stage.setScene(scene); 
      
            stage.show(); 
        } 
      
        // Main Method 
        public static void main(String args[]) 
        { 
      
            // launch the application 
            launch(args); 
        } 
    }

    輸出:

  2. Java程序創建帶有文本和圖像的超鏈接,並向其中添加事件處理程序:該程序將創建一個超鏈接,該超鏈接由名稱超鏈接指示,並帶有圖像和文本。將使用導入圖像的文件輸入流將圖像包括在內。然後,我們將使用文件輸入流的對象創建圖像,然後使用圖像文件創建圖像視圖。超鏈接將在場景內創建,而場景又將在場景內托管。我們將創建一個標簽來顯示是否訪問了超鏈接。函數setTitle()用於為舞台提供標題。然後創建一個HBox,在其上調用addChildren()方法在場景內附加超鏈接和標簽。最後,調用show()方法以顯示最終結果。我們將創建一個事件處理程序來處理按鈕事件。事件處理程序將使用setOnAction()函數添加到超鏈接。
    // Java Program to create a hyperlink with  
    // both text and image on it and also add  
    // an event handler to it 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.control.*; 
    import javafx.scene.layout.*; 
    import javafx.stage.Stage; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import java.io.*; 
    import javafx.scene.image.*; 
      
    public class hyperlink_1 extends Application { 
      
        // launch the application 
        public void start(Stage stage) 
        { 
      
            try { 
      
                // set title for the stage 
                stage.setTitle("creating hyperlinks"); 
      
                // create a input stream 
                FileInputStream input = new FileInputStream("f:\\gfg.png"); 
      
                // create a image 
                Image image = new Image(input); 
      
                // create a image View 
                ImageView imageview = new ImageView(image); 
      
                // create a hyperlink 
                Hyperlink hyperlink = new Hyperlink("GeeksforGeeks", imageview); 
      
                // create a HBox 
                HBox hbox = new HBox(); 
      
                // create a label 
                Label label = new Label("hyperlink not visited"); 
      
                // action event 
                EventHandler<ActionEvent> event = 
                 new EventHandler<ActionEvent>() { 
      
                    public void handle(ActionEvent e) 
                    { 
                        label.setText("hyperlink visited "); 
                    } 
                }; 
      
                // when hyperlink is pressed 
                hyperlink.setOnAction(event); 
      
                // add hyperlink 
                hbox.getChildren().add(hyperlink); 
                hbox.getChildren().add(label); 
      
                // create a scene 
                Scene scene = new Scene(hbox, 200, 200); 
      
                // set the scene 
                stage.setScene(scene); 
      
                stage.show(); 
            } 
      
            catch (Exception e) { 
                System.err.println(e.getMessage()); 
            } 
        } 
      
        // Main Method 
        public static void main(String args[]) 
        { 
      
            // launch the application 
            launch(args); 
        } 
    }

    輸出:

  3. 注意:以上程序可能無法在在線IDE中運行。請使用離線編譯器。

    參考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Hyperlink.html



相關用法


注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | Hyperlink Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。