Olá devs!
Como posso transformar uma Imagem em hyperlink no JavaFX? Fiz pelo SceneBuilder e queria colocar um link na imagem para o meu twitter!
Alguma ideia?
obrigada a todos! <3
Olá devs!
Como posso transformar uma Imagem em hyperlink no JavaFX? Fiz pelo SceneBuilder e queria colocar um link na imagem para o meu twitter!
Alguma ideia?
obrigada a todos! <3
Tentei colocar um método no “On Mouse Clicked” e fiz o método assim:
@FXML
private void linkToTwitter(){
Desktop desk = java.awt.Desktop.getDesktop();
try {
desk.browse(new java.net.URI("https://twitter.com/meuUser"));
} catch (Exception ex) {
ex.printStackTrace();
}
}
mas isso só faz a aplicação trava inteira e n fazer nd :C!
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Hyperlink;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Hyper extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say '"Clique");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
getHostServices().showDocument("https://openjfx.io");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
Se te interessar pode dar uma olhada no :
Hyperlink link = new Hyperlink("www.oracle.com");
Então, o problema tá aqui! Como é uma imagem, não tem um .setOnAction
:C nem na doc da ImageView tem algo assim (pelo menos n achei)
Com a ImageView voce pode usar um event
tipo imv.setOnMouseClicked();
ou ainda atribuir essa imageView dentro do Button usando btn.setGraphic( image_view );
De onde vem esse método?
public abstract class Application
Se voce usar a ide netbeans, somente ir dando um control B em cima da palavra e ele busca a origem.
Você esta programando sem IDE ?
Tô usando o IntelliJ
ImageView iv = new ImageView(getClass().getResource("arquivoDeImagem").toExternalForm());
Hyperlink lnk = new Hyperlink("Texto", iv);
lnk.setOnAction(evt -> {
try {
Desktop.getDesktop().browse(new URI("url"));
} catch (URISyntaxException | IOException ex) {
}
});
Utilizo desta forma. Espero ter ajudado.