360WeatherGUI
介绍
界面设计基于 360天气官网 原型,使用java 提供的GUI(awt/swing)包构建。
实现过程较为java基础,不是特别复杂。
先说一下我的感受,在选360天气作为GUI原型认为可以简单实现JavaGUI操作。学习过程开发类似Android开发,方法功能没怎么丰富,界面不符合现代设计美学。过程写过计算器,登录列表,表格数据。
布局常用:
- 边框布局(BorderLayout)
- 网格布局管理器(GridBagLayout )
- 流式布局管理器(FlowLayout)
那些控件功能基本一致。
项目导入编辑器eclipse。
项目Gitee地址
说明
项目内文件注释详细
// PermitJPanel.java
// 许可协议 - 跟主布局显示
/**
* 初始化面板
*/
private void init() {
JTextArea jTextArea = new JTextArea(26, 36);
// 禁止编辑
jTextArea.setEditable(false);
// 设置文本
jTextArea.setText(license());
// 自动换行
jTextArea.setLineWrap(true);
// 置顶位置
jTextArea.setCaretPosition(0);
// 文本字体色
jTextArea.setForeground(Color.BLACK);
// 字体样式
jTextArea.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 14));
// 背景色
jTextArea.setBackground(Color.WHITE);
// 将文本域放入滚动窗口
JScrollPane jScrollPane = new JScrollPane();
// 垂直滚动条自动出现
jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
jScrollPane.setViewportView(jTextArea);
this.add(jScrollPane);
}
/**
* 许可证文件读取
* @return String 字符串
*/
private String license() {
StringBuffer stringBuffer = new StringBuffer();
try {
// 打开输入流
FileInputStream fileInputStream = new FileInputStream("resource\\license.txt");
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
// 转成char加到StringBuffer对象中
while (inputStreamReader.ready()) {
stringBuffer.append((char) inputStreamReader.read());
}
// 关闭输入流
inputStreamReader.close();
fileInputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stringBuffer.toString();
}