一、窗体的构建
1、新建项目,并新建一个包命名随意,建议有格式的好,在建好的包下面创建一个class,并选择JavaFXApplication;
2、先联想好窗体需要怎么构建,可用布局之一,使用borderpane作为主 pane,随后用VBox作为文本框的布局,Hbox作为按钮的布局。完成此设想后可以开始着手细节;
3、按钮的设置,有四个按钮,可以定义为成员变量方便使用。文本框也类似。
4、后面就设置好文本框和按钮的功能,代码如下:
1 taDisplay.setEditable(false);//设置显示的文本框是只读的,不可写入的 2 taDisplay.setWrapText(true);//自动换行 3 //按钮事件的设置 4 btnExit.setOnAction(event -> {System.exit(0);}); 5 btnSend.setOnAction(event -> { 6 String msg = tfSend.getText(); 7 taDisplay.appendText(msg + " "); 8 tfSend.clear(); 9 }); 10 11 // btnSend.requestFocus(); 12 tfSend.requestFocus();//聚焦一定是在发送框,因为输入信息后焦点就在发送框,而不是按钮或其他 13 tfSend.setOnKeyPressed(event -> { 14 15 if(event.isShiftDown() == true && event.getCode().equals(KeyCode.ENTER )){ 16 String msg = tfSend.getText(); 17 taDisplay.appendText("echo:" + msg + " "); 18 tfSend.clear(); 19 } 20 else if (event.getCode().equals(KeyCode.ENTER)) { 21 String msg = tfSend.getText(); 22 taDisplay.appendText(msg + " "); 23 tfSend.clear(); 24 } 25 });
二、文本的输入输出
1、新增一个文件操作类TextFileIO,负责文件操作的相关功能,至少实现append方法和load方法用于保存和读取文件;
2、在SimpleFX类中的合适位置将TextFileIO类实例化为textFileIO,在“保存”按钮的响应事件代码中添加相应功能。
3、文件里有参考代码,不赘述了。
三、注意事项
1、实现shiif+enter键发送消息,应用isSHIIFDOWN()方法;
2、new file的时候应该在窗体class里声明。
本次所有代码链接:https://wws.lanzous.com/idimLgjegyj