62,614
社区成员
发帖
与我相关
我的任务
分享
import javafx.application.Application;
package Pack1;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.control.DatePicker;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.DatePicker;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.geometry.Pos;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import java.util.Calendar;
import java.util.Scanner;
import javafx.util.StringConverter;
import java.util.Locale;
import java.util.Date;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import javafx.event.ActionEvent;//修改1
import javafx.event.EventHandler;
public class ExperimentMyProjedt extends Application{
private DatePicker datePicker;
private final String pattern = "yyyy-MM-dd";
private String title[][] = new String[100][100];
private String content[][] = new String[100][100];
private DatePicker[] date = new DatePicker[100];
private TextField tftitle = new TextField();
private TextField tfcontent = new TextField();
private Button btaddopration = new Button("添加任务");
private Button btremoveopration = new Button("删除任务");
private Button btshowopration = new Button("显示任务");
@Override
public void start(Stage primaryStage){
//静态页面
BorderPane pane = new BorderPane();
pane.setRight(null);
pane.setTop(new CustomPane("任务管理系统"));
pane.setLeft(getVBox());
pane.setCenter(initUI());
ActionEvent e;
//动态页面
//修改2
btaddopration.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event) {
addOpration();
System.out.println("add");
}
});
btremoveopration.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event) {
removeOpration();
System.out.println("remove");
}
});
btshowopration.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event) {
showOpration();
System.out.println("show");
}
});
//GUI显示
Scene scene = new Scene(pane,450,400);
primaryStage.setScene(scene);
primaryStage.setTitle("任务管理系统");
primaryStage.show();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Locale.setDefault(Locale.US);
Application.launch(args);
}
private VBox getVBox(){
VBox vBox = new VBox();
vBox.setPadding(new Insets(15,5,5,5));
vBox.getChildren().add(new Label("我的选项"));
Button[] MyOprations ={btaddopration,btremoveopration,btshowopration};
for(Button MyOpration : MyOprations){
VBox.setMargin(MyOpration, new Insets(10,0,0,15));
vBox.getChildren().add(MyOpration);
}
return vBox;
}
protected VBox initUI() {
VBox vbox = new VBox(20);
vbox.setStyle("-fx-padding: 10;");
datePicker = new DatePicker();
StringConverter converter = new StringConverter<LocalDate>() {
DateTimeFormatter dateFormatter =
DateTimeFormatter.ofPattern(pattern);
@Override
public String toString(LocalDate date) {
if (date != null) {
return dateFormatter.format(date);
} else {
return "";
}
}
@Override
public LocalDate fromString(String string) {
if (string != null && !string.isEmpty()) {
return LocalDate.parse(string, dateFormatter);
} else {
return null;
}
}
};
datePicker.setConverter(converter);
datePicker.setPromptText(pattern.toLowerCase());
datePicker.setValue(LocalDate.now());
GridPane gridPane = new GridPane();
gridPane.setHgap(10);
gridPane.setVgap(10);
Label checkInlabel = new Label("任务日期");
gridPane.add(checkInlabel, 0, 0);
GridPane.setHalignment(checkInlabel, HPos.LEFT);
gridPane.add(datePicker, 0, 1);
gridPane.add(new Label("任务标题"),0,2);
gridPane.add(tftitle,0,3);
gridPane.add(new Label("任务内容"),0,4);
gridPane.add(tfcontent, 0, 5);
vbox.getChildren().add(gridPane);
datePicker.requestFocus();
return vbox;
}
//addOPration 方法
private void addOpration(){
int i,j=0;
DatePicker[] testdate = new DatePicker[10];
testdate[0] = datePicker;
for(i=0; i<=date.length; i++){
if(testdate[0] == date[i]){
title[i][(title[i].length) + 1] = tftitle.getText();
content[i][(content[i].length) + 1] = tfcontent.getText();
j=j+1;
tftitle.setText("");
tfcontent.setText("");
break;
}
else{
continue;
}
}
if(j==1){
}
else{
title[i+1][0] = "tftitle";
content[i+1][0] = "tfcontent";
}
}
private void removeOpration(){
int i,j=0;
DatePicker[] testdate = new DatePicker[10];
testdate[0] = datePicker;
for(i=0; i<=date.length; i++){
if(testdate[0] == date[i]){
title[i][(title[i].length)] = "";
content[i][(content[i].length)] = "";
j=j+1;
break;
}
else{
continue;
}
}
}
private void showOpration(){
int i,j=0;
DatePicker[] testdate = new DatePicker[10];
testdate[0] = datePicker;
for(i=0; i<=date.length; i++){
if(testdate[0] == date[i]){
tftitle.setText(title[i][(title[i].length)]);
tfcontent.setText(content[i][(content[i].length)]);
j=j+1;
break;
}
else{
continue;
}
}
}
}
class CustomPane extends StackPane{
public CustomPane(String title){
getChildren().add(new Label(title));
setStyle("-fx-border-color:red");
}
}