我的第一个JAVA桌面应用『邮件客户端』04 - 完成制作我们的软件!
如果您对文章有提议, 建议或者任何想表达的, 欢迎在下方评论区留言! 不断交流才是进步的捷径!
上一章我们了解了JavaMail, 并写出了自己的发送邮件方法类EmailUtil. 这一章, 我们将会完成我们的发送邮件客户端的软件!
清空之前练习所使用的controller以及我们的界面
让我们从绘制界面开始:
我们至少需要给使用者留出以下几个文本框以及按钮
1. 登录账户
2. 登录密码
3. 收件人邮箱
4. 发件人昵称
5. 收件人昵称
6. 邮件主题
7. 邮件内容
但是光有文本框是不够的, 我们还得在文本框前面弄上名字:
在左边找到Label, 拖到右边, 我们把这个组件放在文本框前面用于区分
于是我先把他们的命名弄完了(五个Label):
再加上五个文本框: (发现原先的布局有点窄, 自行调整了一下:)
密码框想弄成密文? 很简单, 左边的Password Field是你的首选
我们来着重弄一下邮件主题以及邮件内容:
邮件主题和内容是一封邮件的核心, 我们需要着重来弄这两部分, 所以邮件主题需要大一点;
接下来就是我们的邮件内容框了, 感觉无论多大框都不太适合, 但是---我们有一个超级神奇的组件---HTML Editor
没错, 拖出来就是这个东西, 有没有很熟悉? 它有个可视化的HTML编辑器, 方便我们发送带格式的各种邮件!
对布局进行微调, 调整后的样子:
当然 右下角需要一个"发送"按钮
现在让我们运行项目, 填写信息试一下, 看看效果;
一切正常, 除了点击按钮没反应以外.
我们紧接着为每个组件绑定fx:id
我为每个文本框, 输入框起的fx:id:
1. 登录账户 account
2. 登录密码 pwd
3. 收件人邮箱 receiverAccount
4. 发件人昵称 receiverNickname
5. 收件人昵称 senderNickname
6. 邮件主题 title
7. 邮件内容 content
绑定后, 我们把每个组件注入到controller内:
public class Controller { @FXML private TextField account; @FXML private TextField pwd; @FXML private TextField receiverAccount; @FXML private TextField receiverNickname; @FXML private TextField senderNickname; @FXML private TextField title; @FXML private HTMLEditor content; }
接下来, 我们为发送按钮绑定一个方法, 叫sendEmail:
同样的, 我们在controller内添加方法sendEmail
public void sendEmail(){ }
方法体内, 我们需要把上一章我们写的发送邮件方法给引入进来, 传参, 自然是上面的每个组件的内容啦!
public void sendEmail(){ EmailUtil.sendEmail(account.getText(),pwd.getText(),senderNickname.getText(), receiverAccount.getText(), receiverNickname.getText(), title.getText(), content.getHtmlText()); }
保存, 运行
我们把表格填写完整, 发送!
如果上面的步骤正确, 并且账号密码没有问题, 你将会收到激动人心的一封邮件!
大功告成! 你完成了你的第一个邮件桌面应用!
当然, 邮件的更多功能我们没有实现, 比如收件, 发送附件, 查看已发送的邮件等等. 这些功能都非常简单, 请放宽您的思维, 为我们的桌面应用添砖加瓦吧!
完成的桌面应用我已经上传到码云上了, 点击查看
非常荣幸能看到您完成这短短的几篇教程, 如果您有什么问题, 欢迎随时在下方评论区友好发言, 讨论, 提问, 提议!
第一个java桌面应用, javafx, 邮件客户端, java开发邮件客户端