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