JavaFX |超链接类
超链接类是 JavaFX 的一部分。超链接是一种 HTML 类型的标签,可以包含文本和图形或两者兼有。它响应翻转和点击。当单击/按下超链接时, isVisited()变为真。超链接的行为类似于按钮。当按下并释放超链接时,将发送一个ActionEvent 。因此,您的应用程序可以基于此事件执行某些操作。
类的构造函数:
- Hyperlink() :创建没有文本或图形的超链接。
- Hyperlink(String t) : 创建一个以指定文本为标签的超链接。
- Hyperlink(String t, Node g) : 创建一个以指定文本和图形为标签的超链接。
常用方法:
Method | Explanation |
---|---|
isVisited() | Returns true if the hyperlink is not yet visited else false. |
setVisited(boolean v) | Sets the value of the property visited. |
setOnAction(EventHandler v) | Sets the value of the property onAction. |
fire() | Implemented to invoke the ActionEvent if one is defined. |
下面的程序说明了 Hyperlink 类的使用:
- 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
event = new EventHandler () { 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); } } 输出:
- 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
event = new EventHandler () { 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); } } 输出:
注意:上述程序可能无法在在线 IDE 中运行。请使用离线编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Hyperlink.html