JavaFX Descontinuado?

Ouvir dizer que a Oracle está desistindo do JavaFX é verdade? Logo agora que eu estava pegando o jeito. Ferramenta excelente, eu nem sei mais o que é Swing.

Se está desistindo oficialmente não sei, mas é uma tecnologia fora de cogitação no mercado. Só dentro do mundo Java ela é elogiada.

1 curtida

Não vi nenhum anúncio oficial de intenção não, @Wsscontador. O que aconteceu foi uma evolução do JavaFX para JavaFX Scene Builder 2.0.

Dá uma olhada nesse link.

Pelo oq eu sabia, não sei se mudou, mas desistiram foi do Swing, a partir do java 9 Swing sai fora! ai só JavaFX na Vida!

Que bom! Eu não aguento mais Swing.
E o Netbeans, vai vim com o Scene Builder embutido, como plugin? OU vamos ter que conviver com os dois separadamente por um bom tempo?

De jeito nenhum o swing vai ser descontinuado, ele pode até ser substituido pelo javafx numa futuras versões, mais o swing é usado em milhares de aplicativos e de uma hora para outra a oracle anucia que vai tirar o swing da jogada, mais nem se eles estiverem loucos.

Descontinuado eles querem dizer não haver mais evoluções.

Desculpa, acho q a forma q eu escrevi não ficou bem entendida, o Swing vai ficar para trás a partir do java 9 (Isso era oq dizia na época, por isso falei q não sei se mudou). e o objetivo da Oracle era que o javaFX se torna-se especificação, e substitui-se o Swing inteiramente no java 9! e também, eu nao disse q as aplicações feita em Swing ia parar de roda de uma hora pra outra, só pq foi descotinuado ou substituido, o @javaflex resumiu oq eu queria dizer!

Realmente na minha opinião o Swing ficou para trás mais trabalhoso de trabalhar, eu imigrei uma aplicação Swing para javaFX, fiquei foi besta na primeira vez, do tanto de código q diminuiu, é as facilidades que o javaFX oferecia e ainda ser mais bonito, e ter a customização em CSS, ate agr eu não sei se vão embutir pq a ideia da Oracle era essa aqui na epoca:

Mas ate agr não foi embutido :frowning: o jeito é conviver ainda com os dois separados.

É eu acho que interpretei errado, mas não pensem que eu estou do lado do swing, eu torço muito pelo javafx e espero que nas proximas versões o netbeans e o scene builder se integrem ai vai ser muito facil criar apps.

1 curtida

Sem problemas, peço desculpa por não ter me expressado melhor :slight_smile:

Pra quem ja conhece swing fica facil começa no javaFX , pois vai considera o mesmo como apenas uma atualização do swing.

2 curtidas

A comunidade do JavaFX é muito ativa, a cada dia surgem novas bibliotecas e recursos para facilitar e melhorar nossas aplicações, onde trabalho já tenho projetos em JavaFX, mas os ERP maiores são em Swing. A tendência é a migração já que as possibilidades com JavaFX são muito maiores.
sempre consulto esse site para saber das novidades da comunidade: FX Experience

1 curtida

Então espera a versão 9 que vc vai chorar. E tenho informação de dentro da oracle. Mude pra java fx ou morra com o swing.

Ainda existe mercado para sistemas desktop? Há anos ouço que tudo seria web e blábláblá…

Na empresa onde trabalho o carro chefe são sistemas Desktop, porém a maioria desenvolvida em Delphi, somente eu Java :smile:, a empresa trabalha com automação comercial ECF, ERP… etc. Não fazemos pra web por que a agilidade é muito maior em um sistema de vendas para desktop.

1 curtida

Na minha empresa eu trabalho com JavaFx, sistemas desktops para automação comercial. Sou pesquisador desta nova solução que acho fantastica, graficamente e codificamente.

Vejam o framework que estamos desenvolvendor:
https://github.com/Heverton/DialogFX

Obs.: Esta é aprimeira vesão.

1 curtida

Onde eu trabalhava também ficaram nesse dilema com automação comercial mas hoje já desenvolvem pra Web.

O Java 9 vai continuar com Swing, basta baixar o último beta pra conferir
https://jdk9.java.net/download/
O que acontece é que agora que o Java será modular, se a pessoa não for usar Swing não precisa instalar o módulo, deixando o carregamento um pouco menos comilão de memória. E o Java FX está ficando muito bom.

Pode me dar uma ajuda no FX?

Estou tentando fazer uma tela inicial de login de uma aplicação. Como faço para pegar o nome é a password. Abaixo o trecho do código que tento fazer isso.

package controller;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import db.OracleConnection;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.TextField;
import javafx.scene.text.Text;

public class ToolsController {

@FXML private Text actiontarget;
@FXML private TextField userNamefield;
@FXML private TextField passwordField;

@FXML protected void handleSubmitButtonAction(ActionEvent event) {
        
        //actiontarget.setText("Sign in button pressed");
    
        userNamefield.getText();
        passwordField.getText();
        
        Connection connection = new OracleConnection().getConnection();
        String sql = "select username, password from users where name = ? and password = ?";
        
        try {
            PreparedStatement stmt = connection.prepareStatement(sql);
            ResultSet rs = stmt.executeQuery();
            
            
            while (rs.next()) {
                                    
                String username = rs.getString("nome");
                String password = rs.getString("password");
                
                if(userNamefield.getText().equals(username) && passwordField.getText().equals(password)) {
                    
                    System.out.println("Usuario Conectado");
                    
                }
                
                //System.out.println(username + " :: " + password);
                rs.close();
                stmt.close();
                            
            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

    
}



@FXML private void handleAction(ActionEvent event) {
        
        userNamefield.getText();
        passwordField.getText();
        
        
        
    
}

}

Eu acho que o problema ai não é com o Java FX e sim com o JDBC.
Você esqueceu de setar os parâmetros da string SQL, no objeto stmt.
Poderia ser assim:

String sql = "select username, password from users where name = ? and password = ?";

    try {
        PreparedStatement stmt = connection.prepareStatement(sql);

stmt.setString(1,username);
stmt.setString(2,password);
ResultSet rs = stmt.executeQuery();

Outra coisa é isso aqui:

@FXML protected void handleSubmitButtonAction(ActionEvent event) {
        
        //actiontarget.setText("Sign in button pressed");
    
        userNamefield.getText();
        passwordField.getText();

voce esta chamando o método getText() do objeto userNamefield e passwordField que retorna uma String para ninguém.

Deveria ser algo assim:

String user = userNameField.getText();
String pass = passwordField.getText();

Depois voce faria isso:

while (rs.next()) {
                                    
                String username = rs.getString("nome");
                String password = rs.getString("password");
                
                if(user.equals(username) && pass.equals(password)) {
                    
                    System.out.println("Usuario Conectado");
                    
                }

É o que eu estou lhe adiantando.
Espero ter auxiliado!