Button 按钮赢了';不工作javafx
我完全是个编程新手。我一直在尝试创建一个简单的程序,从用户那里获取两个值(从0到10的两个等级),并返回它们之间的平均值。我已经用Swing和JOptionPane完成了,但是用javafx我什么都没有得到。代码在这里Button 按钮赢了';不工作javafx,button,javafx,textfield,Button,Javafx,Textfield,我完全是个编程新手。我一直在尝试创建一个简单的程序,从用户那里获取两个值(从0到10的两个等级),并返回它们之间的平均值。我已经用Swing和JOptionPane完成了,但是用javafx我什么都没有得到。代码在这里 package fxcalcmedia; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.S
package fxcalcmedia;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class FXCalcMedia extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root =
FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
stage.setTitle("CALCULADORA DE MÉDIA");
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
所以。。。窗口出现,我插入成绩,但当我点击按钮获得平均成绩时,什么也没有发生。我尝试了很多东西,我搜索了很多。。。我希望有人能帮忙。再次感谢。您需要在FXML文件中包含
fx:id=”“
的每个节点上放置@FXML
注释。fxmloader
必须创建正确的实例并将它们注入控制器
另一个问题是fxml文件中的组件类型。在fxml中使用TextField
<TextField fx:id="txtNota1" layoutX="90.0" layoutY="28.0"
prefHeight="25.0" prefWidth="78.0" />
<TextField fx:id="txtNota2" layoutX="90.0" layoutY="71.0"
prefHeight="25.0" prefWidth="78.0" />
<TextField fx:id="txtMedia" layoutX="90.0" layoutY="114.0"
onAction="#clicouBotao" prefHeight="25.0" prefWidth="78.0" />
解决方案:
@FXML
private Label lblMedia;
@FXML
private Button btnCalc;
@FXML
private TextField txtMedia;
@FXML
private TextField txtNota1;
@FXML
private TextField txtNota2;
您需要在FXML文件中具有fx:id=”“
的每个节点上放置@FXML
注释。fxmloader
必须创建正确的实例并将它们注入控制器
另一个问题是fxml文件中的组件类型。在fxml中使用TextField
<TextField fx:id="txtNota1" layoutX="90.0" layoutY="28.0"
prefHeight="25.0" prefWidth="78.0" />
<TextField fx:id="txtNota2" layoutX="90.0" layoutY="71.0"
prefHeight="25.0" prefWidth="78.0" />
<TextField fx:id="txtMedia" layoutX="90.0" layoutY="114.0"
onAction="#clicouBotao" prefHeight="25.0" prefWidth="78.0" />
解决方案:
@FXML
private Label lblMedia;
@FXML
private Button btnCalc;
@FXML
private TextField txtMedia;
@FXML
private TextField txtNota1;
@FXML
private TextField txtNota2;
作为@MBec答案的扩展。为javaFX创建GUI的一个非常好的工具是。它为您提供了拖放功能,还为每个fxml文件的控制器类提供了模板。作为@MBec答案的扩展。为javaFX创建GUI的一个非常好的工具是。它为您提供了拖放功能,还为每个fxml文件的控制器类提供了模板