JavaFX [RESOLVIDO]

1. JavaFX [RESOLVIDO]

Dalison
dalison

(usa Slackware)

Enviado em 26/12/2021 - 15:23h

Eu criei uma AnchorPane, não mostra uma ImageView. Tentei colocar a ImageView dentro de uma BorderPane, mas não deu certo. Não quero usar arquivo fxml, gostei mais de digitar o código.


  


2. Re: JavaFX [RESOLVIDO]

Adriano Siqueira
adrisiq

(usa KDE Neon)

Enviado em 26/12/2021 - 17:17h

Poste seu código para gente poder ver o que está errado.


3. Re: JavaFX

Dalison
dalison

(usa Slackware)

Enviado em 29/12/2021 - 17:09h

Desculpa a demora. Tinha deixado isso pra depois e acabei esquecendo que tinha colocado esse tópico no fórum.

public class App extends Application {

public Button btnRegistrar;
public Button btnRecuperar;
public Button btnEntrar;
public Label txtTitulo;
public TextField txtLogin;
//public TextField txtTeste;
public TextField txtSenha;
public ImageView imagem;

public BorderPane mBorder;

private static Scene cenaLogin;

@Override
public void start(Stage stage){
AnchorPane root = new AnchorPane();

Font fonteTxt = new Font(25.0);
Font fonteBtn = new Font(18.0);

File file = new File("prefeitura.png");
Image image = new Image(file.toURI().toString());

//txtTeste = new TextField();

btnRegistrar = new Button("Registrar");
btnRegistrar.setLayoutY(220.0);
btnRegistrar.setLayoutX(95.0);

btnRecuperar = new Button("Ruperar senha");
btnRecuperar.setLayoutY(220.0);
btnRecuperar.setLayoutX(255.0);

btnEntrar = new Button("Entrar");
btnEntrar.setLayoutY(260.0);
btnEntrar.setLayoutX(95.0);
btnEntrar.setFont(fonteBtn);
btnEntrar.setPrefHeight(35.0);
btnEntrar.setPrefWidth(270.0);
btnEntrar.setStyle("-fx-background-color: gray");

txtTitulo = new Label("GMundi");
txtTitulo.setFont(fonteTxt);
txtTitulo.setLayoutX(180.0);
txtTitulo.setLayoutY(80.0);

txtLogin = new TextField();
txtLogin.setLayoutX(95);
txtLogin.setLayoutY(140);
txtLogin.setPrefWidth(270);

txtSenha = new TextField();
txtSenha.setLayoutX(95);
txtSenha.setLayoutY(180);
txtSenha.setPrefWidth(270);

imagem = new ImageView();
imagem.setImage(image);

mBorder = new BorderPane();
mBorder.setCenter(imagem);
mBorder.setPrefHeight(200);
mBorder.setPrefHeight(400);

root.getChildren().addAll(
btnRegistrar,
txtTitulo,
txtLogin,
txtSenha,
btnRecuperar,
btnEntrar,
mBorder
);
ControllerApp.getClickBotaoRegistrar(btnRegistrar);

Scene cena = new Scene(root, 450, 630);

stage.setScene(cena);
stage.setResizable(false);
stage.show();
}

public static void main(String[] args) {
launch();
}

}




4. Re: JavaFX [RESOLVIDO]

Adriano Siqueira
adrisiq

(usa KDE Neon)

Enviado em 29/12/2021 - 20:38h

Acho o problema é como você carregou o arquivo de imagem.

Tente fazer assim:
Image image = new Image(getClass().getResource("prefeitura.jpg").toExternalForm()); 



5. Re: JavaFX [RESOLVIDO]

Dalison
dalison

(usa Slackware)

Enviado em 30/12/2021 - 16:52h


Vou tentar


6. Re: JavaFX [RESOLVIDO]

Dalison
dalison

(usa Slackware)

Enviado em 30/12/2021 - 20:16h

Movi para a pasta resources, coloquei:
getClass().getResource("prefeitura.png").toString(); 

e deu tudo certo.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts