⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframe.java

📁 用Java编写的天气预报软件
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                .addComponent(jLabel1)
                .addGap(16, 16, 16)
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bt_city)
                    .addComponent(tf_city, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(35, Short.MAX_VALUE))
        );

        lab_infor.setFont(new java.awt.Font("Dialog", 1, 13));
        lab_infor.setText("\u542f\u513f\u5929\u6c14 Qier Weather ");

        bt_about.setText("\u5173\u4e8e");
        bt_about.setToolTipText("\u5173\u4e8e\u4f5c\u8005 yuhui_bear");
        bt_about.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_aboutActionPerformed(evt);
            }
        });

        jLabel2.setFont(new java.awt.Font("宋体", 0, 10));
        jLabel2.setText("\u672c\u8f6f\u4ef6\u5b8c\u5168\u514d\u8d39\u5e76\u516c\u5e03\u6e90\u7801\uff0c\u8bf7\u653e\u5fc3\u4f7f\u7528\u3002");

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                        .addComponent(lab_infor, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 116, Short.MAX_VALUE)
                        .addComponent(bt_about))
                    .addComponent(jLabel2))
                .addContainerGap())
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bt_about)
                    .addComponent(lab_infor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel2)
                .addGap(10, 10, 10))
        );

        lab_ver.setText("0.0beta");

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(progress_net, javax.swing.GroupLayout.DEFAULT_SIZE, 367, Short.MAX_VALUE)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap(315, Short.MAX_VALUE)
                .addComponent(lab_ver)
                .addContainerGap())
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(74, Short.MAX_VALUE))
            .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(21, 21, 21)
                .addComponent(lab_ver)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(progress_net, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        jTabbedPane1.addTab("\u5728\u8fd9\u91cc\u8bbe\u5b9a\u57ce\u5e02", jPanel3);

        jTabbedPane1.getAccessibleContext().setAccessibleName("");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 372, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 276, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents
    private String initCity(){
        try{
            File f = new File(".\\" , "city.txt");
            RandomAccessFile raf = new RandomAccessFile(new File(".\\" , "city.txt") ,"r");
            return raf.readUTF();
        }catch (IOException ex) {
            return "成都";
        }
    }
    
    private void updateAction(){
        city = tf_city.getText().trim();
        if(cityP.matcher(city).matches()){
            jTabbedPane1.setEnabledAt(1,false);
            jTabbedPane1.setEnabledAt(0,false);
            bt_city.setEnabled(false);
            tf_city.setEditable(false);
            new Updater("updater" , weatherData , this ,tf_city.getText().trim() , progress_net ,jTabbedPane1); 
        }else{
                new AboutJD(this , "输入的内容不对吧", "请输入中文城市名字 :" ,"\t 大哥大姐 ,拜托!\n搞什么飞机嘛?我只认识中文." 
                        , new ImageIcon(mainFrame.class.getResource("angry.gif")));
        }    
    }
    private void tf_cityActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tf_cityActionPerformed
// TODO 将在此处添加您的处理代码:
        updateAction();
    }//GEN-LAST:event_tf_cityActionPerformed

    private void bt_aboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_aboutActionPerformed
// TODO 将在此处添加您的处理代码:
        new AboutJD(this , "关于作者", null ,"  本软件完全免费,并且公开源代码供交流学习之用。\n欢迎到我的博客 hi.baidu.com/yuhui_bear 看看." 
                , new ImageIcon(mainFrame.class.getResource("author.gif")));
    }//GEN-LAST:event_bt_aboutActionPerformed

    private void bt_cityActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_cityActionPerformed
         updateAction();
    }//GEN-LAST:event_bt_cityActionPerformed
    
    public  void dataUpdate(){
      String imgUrl=null;
      if(weatherData.size() >1){
          lab_place.setText(weatherData.get("city"));
          lab_reportTime.setText(weatherData.get("reportTime"));
          lab_temperature.setText(weatherData.get("day0").replaceAll("\\s?[0-9]{0,2}月[0-9]{0,2}日","未来24小时"));
          imgUrl = weatherData.get("day0_image");
          imgUrl = imgUrl.replaceAll("img\\s?src=\\\"\\.\\.images" , " ");
          imgUrl = imgUrl.replaceAll("\\s?\"\\s?width=\"[0-9]{0,2}\"\\s?" , " ");
          
            try {
                lab_img1.setIcon(new ImageIcon(
                        new URL(imgPath + imgUrl.substring(0 ,imgUrl.length()/2).trim())));
                lab_img2.setIcon(new ImageIcon(
                        new URL(imgPath + imgUrl.substring(imgUrl.length()/2, imgUrl.length()).trim())));
            } catch (MalformedURLException ex) {
                ex.printStackTrace();
            }
          lab_future2.setText(weatherData.get("day1").trim().substring(0,7));
          lab_future3.setText(weatherData.get("day2").trim().substring(0,7));
          lab_future4.setText(weatherData.get("day3").trim().substring(0,7));
          lab_future5.setText(weatherData.get("day4").trim().substring(0,7));
          lab_future2_temperature.setText(weatherData.get("day1").trim().substring(8));
          lab_future3_temperature.setText(weatherData.get("day2").trim().substring(8));
          lab_future4_temperature.setText(weatherData.get("day3").trim().substring(8));
          lab_future5_temperature.setText(weatherData.get("day4").trim().substring(8));
          
          ArrayList<JLabel> fillList = new ArrayList<JLabel>();
          fillList.add(lab_future2_img1);
          fillList.add(lab_future2_img2);
          fillList.add(lab_future3_img1);
          fillList.add(lab_future3_img2);
          fillList.add(lab_future4_img1);
          fillList.add(lab_future4_img2);
          fillList.add(lab_future5_img1);
          fillList.add(lab_future5_img2);
          
          int iday = 0;
          for(int i =0;i<8;i+=2){
                iday++;
                imgUrl = weatherData.get("day" + iday +"_image");
                imgUrl = imgUrl.replaceAll("img\\s?src=\\\"\\.\\.images" , " ");
                imgUrl = imgUrl.replaceAll("\\s?\"\\s?width=\"[0-9]{0,2}\"\\s?" , " ");
                try {
                fillList.get(i).setIcon(new ImageIcon(
                        new URL(imgPath + imgUrl.substring(0 ,imgUrl.length()/2).trim())));
                fillList.get(i+1).setIcon(new ImageIcon(
                        new URL(imgPath + imgUrl.substring(imgUrl.length()/2, imgUrl.length()).trim())));
                } catch (MalformedURLException ex) {
                ex.printStackTrace();
                }
          }

          for(int i =0;i<20;i++){
                  ta_hint.append(weatherData.get("detail_"+i));                 
          }
          bt_city.setEnabled(true);              
          tf_city.setEditable(true);
      }
    }
    
    // 变量声明 - 不进行修改//GEN-BEGIN:variables
    private javax.swing.JButton bt_about;
    private javax.swing.JButton bt_city;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel1_weather;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel2_left_down;
    private javax.swing.JPanel jPanel2_left_up;
    private javax.swing.JPanel jPanel2_right_down;
    private javax.swing.JPanel jPanel2_right_up;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel4_img;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JLabel lab_future2;
    private javax.swing.JLabel lab_future2_img1;
    private javax.swing.JLabel lab_future2_img2;
    private javax.swing.JLabel lab_future2_temperature;
    private javax.swing.JLabel lab_future3;
    private javax.swing.JLabel lab_future3_img1;
    private javax.swing.JLabel lab_future3_img2;
    private javax.swing.JLabel lab_future3_temperature;
    private javax.swing.JLabel lab_future4;
    private javax.swing.JLabel lab_future4_img1;
    private javax.swing.JLabel lab_future4_img2;
    private javax.swing.JLabel lab_future4_temperature;
    private javax.swing.JLabel lab_future5;
    private javax.swing.JLabel lab_future5_img1;
    private javax.swing.JLabel lab_future5_img2;
    private javax.swing.JLabel lab_future5_temperature;
    private javax.swing.JLabel lab_img1;
    private javax.swing.JLabel lab_img2;
    private javax.swing.JLabel lab_infor;
    private javax.swing.JLabel lab_place;
    private javax.swing.JLabel lab_reportTime;
    private javax.swing.JLabel lab_temperature;
    private javax.swing.JLabel lab_ver;
    private javax.swing.JProgressBar progress_net;
    private javax.swing.JTextArea ta_hint;
    private javax.swing.JTextField tf_city;
    // 变量声明结束//GEN-END:variables
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -