要求:
设计一个记事万年历(如图3所示),可显示当前月份的日历、当前时间和记事本窗口。
(1)日历可以根据窗口提供的文本框中输入的年份和月份显示不同年月的日历信息;
(做完才发现没有实现第一个功能!(◎_◎;),算了就这样吧,感觉windows自带的日历就不能指定日期,只能一点点的翻。)
( 向完美主义屈服。。我还是添加了个触发器(゚o゚;;)
(2)时钟是动态的,即根据系统时间实时跟新显示信息。
效果图:
在日志区域输入内容并点击保存日志:
可以在workspace中当前文件夹Practice下看到保存的这个日志文件:因为使用相对路径保存的日志文件的
删除该txt
读取6月15日的日志,因为日志已经被删除了,所以读取的话会报错:
直接上代码吧,代码中有注释(代码稍稍有点长,请耐心看完(。ì _ í。))
package Shiyan6;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Line;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.util.Duration;
public class Shiyan6_2 extends Application
{
public BorderPane wholePane=new BorderPane();
Calendar currentDate=new GregorianCalendar();
//以此刻的年月日初始化右侧文本标题
RightOftheWholePane log=new RightOftheWholePane(currentDate.get(Calendar.YEAR),currentDate.get(Calendar.MONTH)+1,currentDate.get(Calendar.DAY_OF_MONTH));
//以当前的年月设置左侧的部分
BorderPane left=setLeftOftheWholePane(currentDate.get(Calendar.YEAR),c