Prezados, sou iniciante total em java e estou tentando instalar o SceneBuilder da Gluon.
Baixei o arquivo scenebuilder-kit-11.0.0.jar, porem ele não roda ao clicar duas vezes.
tentei no prompt, através de ajuda de um post daqui, mas mostra a seguinte mensagem:
" no main manifest attribute, in C:\Users\Clodoaldo\Documents\NetBeansProjects\scenebuilder-kit-11.0.0.jar "
Detalhe: instalei o jdk 12 e o Netbeans 11.
Estou seguindo o “curso em video”
alguem pode ajudar um iniciante perdido?!?!?
abraços
Não é o kit que você tem que baixar para rodar.
Na versão 11 a gluon retirou o executavel Jar, então você precisa baixar de acordo com seu sistema operacional.
j-menezes, valeu!!! Eu baixei e instalei antes a versão para windows 64b, aí como estou “mais que perdido” em javafx e scenebuilder no netbeans baixei esse kit imaginando que pudesse me ajudar e tinha documentação…aí aumentaram meus problemas…rs
Vc acha que para um iniciante é melhor eu esquecer esse kit?
O que tem nele?
Voce desenha a tela dentro do SceneBuilder, mas claro que poderá fazer a tela por codigo sem o SceneBuilder.
Uma vez desenhada a tela no SceneBuilder, dentro do programa javaFX você chama essa tela desenhada atraves da extensão fxml.E pronto.
j-menezes, agora entendi um pouco e parece facil de fazer, mas não pra mim ainda, que
nem teria ideía de como chamar essa tela!
pelo que vi no curso em video, do java para iniciantes, se eu criasse uma aplicação fx, o netbeans mesmo criaria a pasta controller e fxml, mas com essa versão que tenho não faz isso!
Estou usando o netbeans 11 e jdk12
E’ realmente bem simples, basta seguir a receitinha.
(no netbeans 11 e jdk 12 voce deve criar um projeto modular)
1.New Project
1.1 Java with Ant
1.1.1 Java Modular Project
Obs : ( No Projeto com o botao direito do mouse ) Properties / Libraries / Compile / Module Path [+] (Add jar / folder) <-- uma forma apenas
exemplo veja se tudo esta dentro desse diretorio javafx-sdk-12.0.1/lib
javafx.base.jar // essa
javafx.controls.jar // supondo que usara essa
javafx.fxml.jar // supondo que usara essa
javafx.graphics.jar // supondo que usara essa
javafx.media.jar
javafx.swing.jar
javafx-swt.jar
javafx.web.jar
Dentro do Projeto
2 New Module ( Com o botao direito do mouse )
2.1 vou dar uma nome para teste meuModulo
2.2 procure por module-info.java // meuModulo – classes – default package module-info.java
2.3 dentro dele coloca
module meuModulo {
requires javafx.controls;
requires javafx.fxml;
requires javafx.graphics;
exports meutest.com; // sao os packages do seu modulo que serão visiveis
opens meutest.com to javafx.fxml; // se for alterar propriedades dos componentes
}
3.Quando voce cria um modulo no netbeans 11, ele não esta aparecendo a opçao
New File --> Empty FXML
então nesse caso você simplesmente abre o SceneBuilder e cria o seu FXML e Save As dentro da pasta do projeto meutest com de maneira que no netbeans apareça
–> meutest.com
-----> minhaTela.fxml // escolha o nome que quiser
4.agora chegamos no ponto que você queria saber, porem trabalhar com modulos no java 11 e superior é um pouco deferente, e tem muitas vantagens.
(Agora toda vez que for mudar a tela usa botao direito do mouse --> Open ou edit para alterar alguma coisa na mão dentro do FXML)
A opção Make Controller // botao direito do mouse, criará um arquivo java para controlar essa tela em questão e liga-la com seus programas.
Resta apenas saber como chamar esse controller
package meutest.com;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class TelaFXML extends Application {
@Override
public void start(Stage stage) throws Exception {
stage.setTitle("Test FXML");
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("minhaTela.fxml"));
Parent parent = (Parent)fxmlLoader.load();
// O nome do programa Tela1Controller, foi Make Controller do netbeans quem deu e criou o programa
MinhaTelaController telacontroller = fxmlLoader.getController();
Scene scene = new Scene(parent);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
esse erro vai sumir assim que voce dar o make controller e ele irá criar um programa java ou mesmo voce criar ou colocar qualquer programa java no package.
Putz!!! Criei um arquivo do tipo Java Class, e coloquei o nome do pacote "meutest.com e o erro sumiu mesmo!!!
Perdi a manhã toda tentando corrigir!!! (bicho é bicho…kkkk)
Mas agora não entendi como fazer esse “Make Controller”.
Bom !!! para usar o make Controller, clica com o botao direito do mouse sobre o minhaTela.fxml
E para criar um main ai dentro do package meutest.com, novamente com o botao direito em cima dele e new Java Class, entao basta colar o exemplo que postei.
Agora SIMM!!!
Finalmente apareceu a tela, pelo netbeans!!!
Muuuito obrigado pela paciencia!!!
Sempre devo colar esse seu exemplo na main ??? O controller fica vazio só com o package e public class???
Mas e para editar a tela e fazer as modificaçoes???
Não , não, Eu apenas enviei um exemplo de como se faz.
Em relação ao Controller estar vazio, a medida que voce for populando suas telas dar um nome para os componentes, criar eventos tudo dentro do sceneBuilder, voce usará novamente o make Controller aparecerá tudo dentro do programa MinhaTelaController.
Para modificar a tela vale o que eu expliquei logo lá no inicio; botao direito do mouse sobre minhaTela.fxml e Open. Depois de alterar Salva e no netbeans chama de novo make controller.
j-menezes, desculpe te encher mais uma vez, porém, Montando o seu exemplo só tentei colocar um label e um botão, seguindo um video do descompila, que fica tudo igualzinho mas olha o erro que dá: