[RESOLVIDO].Jar baixado do site da Gluon, não abre!

1.Na minhaTela.fxml (Botao direito do mouse opcao Open)
2.Dentro do SceneBuilder clique no item que voce deseja e no lado direito selecione Code
3.na linha fx:id coloca um nome para essa variavel
4.Save <— nesse caso nao precisa ser Save As, isso porque ele vai salvar em cima do minhaTela.fxml que foi aberto
5. de volta no NetBeans
6. Na minhaTela.fxml (Botao direito do mouse opcao Make Controller)
7. Pronto, veja que dentro do MinhaTelaController.java aparecerá @FXML e logo abaixo o nome da variavel que você criou lá no SceneBuilder

1 curtida

Foi assim mesmo que eu fiz ontem! ( Umas 500 vezes…kkk)
Mas o erro continua!
Cheguei a pensar que poderia ser algum erro de vínculo entre o Scene e o NetBeans. Reparei o NetBeans, mas nada!
Alguma ideia?

Tenta criar outra tela fxml la no sceneBuilder coloca o nome nos componentes, fx:id, tem que clicar no componente que quer colocar o nome. depois lá no NetBeans usa Make Controller e veja se está gerando o @FXML.
Outra coisa, essa linha que está aparecendo com erro na MinhaTelaController.java apaga ela e usa o Make Controller novamente. E certifique que ao salvar lá no sceneBuilder se ele esta’ salvando corretamente no seu projeto dentro do netBeans.

Java para esse tipo de coisa é bem estável em todas as plataformas.

Ainda nada!!! Não sei o que há!
Fiz tudo novamente ( criei o programa do zero) e segui seus passos, mas a lista do erro é o mesmo.
O interessante é que quando faz o “Build eClean” não dá erro nenhum! ele compila normal!
Só na hora de executar é que dá o erro!
olha a lista (

< html> Exception in Application start method
java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Exception in Application start method
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
	at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: javafx.fxml.LoadException: 
/C:/Users/Clodoaldo/Documents/NetBeansProjects/FxMenezes/build/modules/meuModulo/meutest/com/minhaTela.fxml:12

	at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
	at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435)
	at meuModulo/meutest.com.MeuMain.start(MeuMain.java:18)
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
	at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
	at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
	... 1 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private javafx.scene.control.Label meutest.com.MinhaTelaController.lblMensagem accessible: module meuModulo does not "opens meutest.com" to module javafx.fxml
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:341)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:281)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:176)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:170)
	at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor.addAccessibleFields(FXMLLoader.java:3479)
	at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor$1.run(FXMLLoader.java:3444)
	at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor$1.run(FXMLLoader.java:3440)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:310)
	at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor.addAccessibleMembers(FXMLLoader.java:3439)
	at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor.getControllerFields(FXMLLoader.java:3378)
	at javafx.fxml/javafx.fxml.FXMLLoader.injectFields(FXMLLoader.java:1170)
	at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processValue(FXMLLoader.java:865)
	at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:759)
	at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
	... 12 more
Exception running application meutest.com.MeuMain
C:\Users\Clodoaldo\AppData\Local\NetBeans\Cache\11.0\executor-snippets\run.xml:111: The following error occurred while executing this line:
C:\Users\Clodoaldo\AppData\Local\NetBeans\Cache\11.0\executor-snippets\run.xml:40: Java returned: 1
BUILD FAILED (total time: 2 seconds)
</html>

Detalhe: Antes da erro no minhaTela.fxml de tamanho da fonte, aí coloquei um label e button padarão, sem mudar nada, só mudei o fx:id…aí aparece o erro!

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 MeuMain 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(); //MeuMakeController

         Scene scene = new Scene(parent); 
         stage.setScene(scene);
        stage.show(); 
     }
              
     public static void main(String[] args) {
        launch(args);
     }
 }

O Controller:

ackage meutest.com;

import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;

public class MinhaTelaController implements Initializable {

@FXML
private Label lblMensagem;

// private Button btnClique; // <==== ISTO CAUSA O PROBLEMA
@FXML
private Button btnBotao;

@Override
public void initialize(URL url, ResourceBundle rb) {
 }    

private void clicouBotao(ActionEvent event) {
    lblMensagem.setText("OLá Mundo");
 
}

}

e o FXML

> >
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <?import javafx.scene.control.Button?>
> <?import javafx.scene.control.Label?>
> <?import javafx.scene.layout.AnchorPane?>
> <?import javafx.scene.layout.VBox?>
> 
> <VBox prefHeight="400.0" prefWidth="640.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="meutest.com.MinhaTelaController">
>   <children>
>     <AnchorPane maxHeight="-1.0" maxWidth="-1.0" prefHeight="-1.0" prefWidth="-1.0" VBox.vgrow="ALWAYS">
>          <children>
>             <Label fx:id="lblMensagem" layoutX="285.0" layoutY="79.0" text="Label" />
>             <Button fx:id="btnBotao" layoutX="273.0" layoutY="194.0" mnemonicParsing="false" text="Button" />
>          </children>
>     </AnchorPane>
>   </children>
> </VBox>

Veja se nesse endereco /C:/Users/Clodoaldo/Documents/NetBeansProjects/FxMenezes/build/modules/meuModulo/meutest/com contem mesmo o arquivo minhaTela.fxml

Se estiver lá coloca essa linha no modulo-info.java

opens meutest.com to javafx.fxml;

O caminho é este mesmo, só não está em ingles!!
Inclui a linha que vc disse, mas ainda não roda!!! :frowning:

Mais estranho ainda :
 Segui o passo a passo deste video: 
https://www.youtube.com/watch?v=Bk42DbVBzXM
E funcionou normal, mesmo quando coloco os fx:id dos componentes
Só que ele não é modular , como o seu! tem muita diferença?

Sim, tem diferença. O modular voce tem uma jvm do tamanho necessario e somente tem as classes que necessita.Alem das permissões de visibilidade de alguns módulos que o torna ainda mais seguro.
Isso resulta em menor uso de memoria e por consequência fica mais rapido.
A nivel de exemplo, tenho aqui uma jvm de mais de 200 mega normal e quando gero modular caiu pra 35 mega. Bom ne’ !!!

1 curtida

Tô te enviando o exemplo em questão pra você confrontar com o seu e ver o que pode estar diferente.
basta descompactar dentro do diretorio do diretorio /C:/Users/Clodoaldo/Documents/NetBeansProjects/

Depois abra ele no NetBeans projeto TesteSimples

Somente ajusta a Properties, colocando a sua jdk e tambem ajusta o caminho das bibliotecas
do javaFX.

Compilar com Clean and Build

modularFXSimples.zip (29,3,KB)

1 curtida

Então vou inisistir em aprender o seu! ( modular…) kkk

Obrigado, vou fazer e te falo!

na certa deve ser bobeira de aprendiz!

j-menezes, não sei que magica vc fez aí no programa, mas agora funcionou TUDO!!! kkkk

comparei linha a linha os programas, e a maior diferença que vi foi no module info, que no seu tinha mais linhas que no meu. Copei tudo e passou a funcionar o meu também!!
Inclusive sumiu aquele erro de tamanho de fonte que dava no .fxml.

A unica coisa que não rodou foi o .jar , nem o meu nem o seu, mas isso fica pra depois!
Vou fazer um programa do zero pra ver se foi magica sua…kkkk
brincadeiras a parte, muito obrigado pela paciencia!!!

1 curtida

Se deu tudo certo fico feliz e peço a você que marque que esse topico está resolvido.
Caso tenha novas duvidas, por gentileza abra outro topico.

Bons Codigos

1 curtida

valeu !!! Obrigado!