# 360WeatherGUI **Repository Path**: TsMask/Weather360GUI ## Basic Information - **Project Name**: 360WeatherGUI - **Description**: 【JavaGUI】界面设计基于 360天气官网 原型,使用java 提供的GUI(awt/swing)包构建。 - **Primary Language**: Java - **License**: Unlicense - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2019-11-10 - **Last Updated**: 2022-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 360WeatherGUI #### 介绍 界面设计基于 [360天气官网](http://tq.360.cn/index.html) 原型,使用java 提供的GUI(awt/swing)包构建。 实现过程较为java基础,不是特别复杂。 先说一下我的感受,在选360天气作为GUI原型认为可以简单实现JavaGUI操作。学习过程开发类似Android开发,方法功能没怎么丰富,界面不符合现代设计美学。过程写过计算器,登录列表,表格数据。 布局常用: * 边框布局(BorderLayout) * 网格布局管理器(GridBagLayout ) * 流式布局管理器(FlowLayout) 那些控件功能基本一致。 项目导入编辑器eclipse。 #### 说明 ![](./resource/原型图/项目包文件说明.png) 项目内文件注释详细 ```java // 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(); } ``` ----- #### 原型图 ![](./resource/原型图/查看天气.png) ![](./resource/原型图/天气介绍.png) ![](./resource/原型图/许可协议.png) ----- #### 实现效果图 ![](./resource/原型图/查看天气-现.png) ![](./resource/原型图/天气介绍-现.png) ![](./resource/原型图/许可协议-现.png) ----- #### 参考文档 * [Java图形界面编程](https://www.jianshu.com/p/ac29b93d01aa) * [Java Swing教程:30分钟玩转Swing界面设计](http://c.biancheng.net/swing/)