互联网程序基础--第1讲 Java图形窗口程序设计

第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();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值