第1讲 Java图形窗口程序设计
教学与实践目的: 回顾、熟悉和掌握Java图形界面的设计及标准输入输出方法,为后续编程任务奠定基础。
说明: 在Java体系中,最常用的图形界面设计库主要是Swing和JavaFX,本课程使用JavaFX,采用手写代码方式创建窗体界面,建议的jdk版本为jdk8(因为jdk8已经内置javaFX库,后续版本被剥离,需要额外下载jar包),https://oc.gdufs.edu.cn教学资源站点可下载JDK8。
代码
//我太懒了,懒得把文档全部放上来,直接上代码吧
SimpleFX
package chapter01;
import javafx.stage.FileChooser;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;
/**
* Description:
* Author: Zyxi
* Date: 2021/9/06
*/
public class TextFileIO
{
private PrintWriter pw;
private Scanner sc;
public TextFileIO()
{ }
public void append(String msg)
{
//内容添加到文件中,文件通过对话框确定
FileChooser fileChooser = new FileChooser();
File file = fileChooser.showSaveDialog(null);
//用户放弃操作则返回
if(file == null) return;
try
{
//追加模式utf-8的编码模式写到文件中
pw= new PrintWriter(new OutputStreamWriter(new FileOutputStream(file,true),"utf-8"));
pw.println(msg);
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
pw.close();
}
}
public String load()
{
FileChooser fileChooser = new FileChooser();
File file = fileChooser.showSaveDialog(null);
//用户放弃操作则返回
if(file == null) return null;
StringBuilder sb = new StringBuilder();
try
{
//读写编码保持一致
sc = new Scanner(file,"utf-8");
while(sc.hasNext())
{
//补上行读取的行末尾回车
sb.append(sc.nextLine()+"\n");
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
sc.close();
}
return sb.toString();
}
}
TextFlieIO
package chapter01;
import javafx.stage.FileChooser;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;
/**
* Description:
* Author: Zyxi
* Date: 2021/9/06
*/
public class TextFileIO
{
private PrintWriter pw;
private Scanner sc;
public TextFileIO()
{ }
public void append(String msg)
{
//内容添加到文件中,文件通过对话框确定
FileChooser fileChooser = new FileChooser();
File file = fileChooser.showSaveDialog(null);
//用户放弃操作则返回
if(file == null) return;
try
{
//追加模式utf-8的编码模式写到文件中
pw= new PrintWriter(new OutputStreamWriter(new FileOutputStream(file,true),"utf-8"));
pw.println(msg);
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
pw.close();
}
}
public String load()
{
FileChooser fileChooser = new FileChooser();
File file = fileChooser.showSaveDialog(null);
//用户放弃操作则返回
if(file == null) return null;
StringBuilder sb = new StringBuilder();
try
{
//读写编码保持一致
sc = new Scanner(file,"utf-8");
while(sc.hasNext())
{
//补上行读取的行末尾回车
sb.append(sc.nextLine()+"\n");
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
sc.close();
}
return sb.toString();
}
}