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.
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 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.
Sem problemas, peço desculpa por não ter me expressado melhor
Pra quem ja conhece swing fica facil começa no javaFX , pois vai considera o mesmo como apenas uma atualização do swing.
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
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 , 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.
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.
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!