简体   繁体   English

java.awt.TextField无法转换为javafx.scene.node

[英]java.awt.TextField cannot be converted to javafx.scene.node

I get the error "incompatible types java.awt.TextField cannot be converted to javafx.scene.node" while I have imported the "javafx.scene.control.Label" which is what everyone on the inte.net tells to do.我在导入“javafx.scene.control.Label”时收到错误“不兼容类型 java.awt.TextField 无法转换为 javafx.scene.node”,这是 inte.net 上的每个人都告诉我要做的。

import javafx.scene.control.Label;
import javafx.geometry.Insets;
import java.awt.*;
import java.applet.*;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.layout.GridPane;
import javafx.geometry.Pos;
import javafx.scene.text.Text;
import javafx.scene.control.PasswordField;
import javafx.scene.layout.HBox;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Font;




public class HelloWorlds extends Application {
@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("JavaFX Welcome");

    GridPane grid = new GridPane();
    grid.setAlignment(Pos.CENTER);
    grid.setHgap(10);
    grid.setVgap(10);
    grid.setPadding(new Insets(25, 25, 25, 25));

    Text scenetitle = new Text("Welcome");
    scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
    grid.add(scenetitle, 0, 0, 2, 1);

    Label userName = new Label("User Name:");
    grid.add(userName, 0, 1);

    TextField userTextField = new TextField();
    grid.add(userTextField, 1, 1);

    Label pw = new Label("Password:");
    grid.add(pw, 0, 2);

    PasswordField pwBox = new PasswordField();
    grid.add(pwBox, 1, 2);

    Button btn = new Button("Sign in");
    HBox hbBtn = new HBox(10);
    hbBtn.setAlignment(Pos.BOTTOM_RIGHT);
    hbBtn.getChildren().add(btn);
    grid.add(hbBtn, 1, 4);

    final Text actiontarget = new Text();
    grid.add(actiontarget, 1, 6);

    Scene scene = new Scene(grid, 300, 275);
    primaryStage.setScene(scene);

    primaryStage.show();
}
}

Here is the code, its on grid.add(userTextField, 1, 1);这是代码,它在grid.add(userTextField, 1, 1); this line that I get the error.我得到错误的这一行。 Can anyone see what the issue is, and shortly explain it to me?任何人都可以看到问题是什么,并尽快向我解释吗? :) :)

Import from javafx.TextField .javafx.TextField导入。

Currently TextField is imported from awt .目前TextField是从awt导入的。

Or in other words:或者换句话说:

Remove import java.awt.*;删除import java.awt.*; . .

Add import javafx.scene.control.TextField;添加import javafx.scene.control.TextField; . .

你最好用

import javafx.scene.control.Button;

you need to import javafx.scene.control.Button;你需要导入javafx.scene.control.Button; and this needed to fix your problem这需要解决你的问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM