以下为测试代码,实现测试输入是否合法及是否为闰年(四年一闰,百年不闰,四百年再闰):
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class Sfw_test extends Application{
AnchorPane root = new AnchorPane();
Scene scene = new Scene(root, 550, 400);
public static void main(String[] args) {
Application.launch(args);
}
public void start(Stage stage){
stage.setTitle("Leapyear Testing");
Text textTitle = new Text();
textTitle.setText("LEAPYEAR TEST");
textTitle.setFont(Font.font ("BLACK", 57));
AnchorPane.setTopAnchor(textTitle, 10.0);
AnchorPane.setLeftAnchor(textTitle, 10.0);
Text text = new Text();
text.setText("Enter the year for testing:");
text.setFont(Font.font ("BLACK", 20));
AnchorPane.setTopAnchor(text, 90.0);
AnchorPane.setLeftAnchor(text, 10.0);
final TextField textField = new TextField ();
textField.setPrefWidth(150);
textField.getText();
AnchorPane.setTopAnchor(textField, 90.0);
AnchorPane.setLeftAnchor(textField, 330.0);
final Label label1 = new Label("This area is use for show the result…");
label1.setFont(Font.font ("BLACK", 16));
AnchorPane.setTopAnchor(label1, 200.0);
AnchorPane.setLeftAnchor(label1, 10.0);
Button submit = new Button();
submit.setText(" Submit ");
AnchorPane.setTopAnchor(submit, 130.0);
AnchorPane.setLeftAnchor(submit, 330.0);
Button clear = new Button();
clear.setText(" Clear ");
AnchorPane.setTopAnchor(clear, 130.0);
AnchorPane.setLeftAnchor(clear, 420.0);
submit.setOnAction(new EventHandler() {
@Override
public void handle(ActionEvent e) {
String year = textField.getText().toString();
boolean inputlegal = false;
int Isleapyear = 2;
for (int i=0; i
if (year.indexOf(year.charAt(i)) == -1) {
inputlegal = false;
}
}
if (Double.valueOf(year)%4!=0) {
Isleapyear = 0;
}
else if(Double.valueOf(year)%100==0 && Double.valueOf(year)%400==0){
Isleapyear = 1;
}
else{
Isleapyear = 0;
}
if(Isleapyear == 0){
label1.setText(textField.getText() + " is not a leap year");
}
else if(Isleapyear == 1){
label1.setText(textField.getText() + " is a leap year");
}
}
});
clear.setOnAction(new EventHandler() {
@Override
public void handle(ActionEvent e) {
textField.clear();
label1.setText("This area is use for show the result…");
}
});
root.getChildren().addAll(textTitle,text,textField,submit,clear,label1);
stage.setResizable(false);
stage.setScene(scene);
stage.show();
}
}
代码运行测试截图如下: