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

📄 mainframe.java

📁 用Java编写的天气预报软件
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/*
 * mainFrame.java
 * Download by http://www.codefans.net
 * Created on 2007年9月1日, 上午10:03
 */

package weather;
import java.io.IOException;
import javax.swing.*;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;
import java.net.*;
import java.util.*;
import java.util.regex.*;
import java.awt.*;
/**
 *
 * @author  yuhui_bear
 */
public class mainFrame extends javax.swing.JFrame {
    private ImageIcon icon1;
    private Map<String,String> weatherData;
    private Updater update;
    private String imgPath;
    private String city;
    private Timer autoUpdatet;
    private Pattern cityP;
//    private boolean first = true;
    /** Creates new form mainFrame */
    public mainFrame() {
        cityP = Pattern.compile("[^\\d\\w\\p{Punct}]{2,10}");
        try
            {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            SwingUtilities.updateComponentTreeUI(this);
            }catch(Exception e)
            {
            e.printStackTrace();
            }
        initComponents();
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        this.setLocation( (int)(screenSize.width / 3) ,(int)(screenSize.height / 3));
        progress_net.setIndeterminate(true);
        //for component

        ArrayList icon = new ArrayList();
        try {
            icon.add(new ImageIcon(new URL("http://weather.tq121.com.cn/images/sun.gif")).getImage());
        } catch (MalformedURLException ex) {
            ex.printStackTrace();
        }
        this.setIconImages(icon);        
        this.setResizable(false);
        this.setVisible(true);
        
        imgPath = "http://weather.tq121.com.cn/images/";
        weatherData = new HashMap<String,String>();
        tf_city.setText(initCity());      
        
        autoUpdatet = new Timer(weatherData , this , tf_city , progress_net ,jTabbedPane1);                       
    }
    
    public void online(){
        autoUpdatet.start();
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        lab_temperature = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        ta_hint = new javax.swing.JTextArea();
        jPanel1_weather = new javax.swing.JPanel();
        lab_place = new javax.swing.JLabel();
        lab_reportTime = new javax.swing.JLabel();
        jPanel4_img = new javax.swing.JPanel();
        lab_img1 = new javax.swing.JLabel();
        lab_img2 = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jPanel2_left_up = new javax.swing.JPanel();
        lab_future2 = new javax.swing.JLabel();
        lab_future2_img2 = new javax.swing.JLabel();
        lab_future2_img1 = new javax.swing.JLabel();
        lab_future2_temperature = new javax.swing.JLabel();
        jPanel2_right_up = new javax.swing.JPanel();
        lab_future3 = new javax.swing.JLabel();
        lab_future3_temperature = new javax.swing.JLabel();
        lab_future3_img1 = new javax.swing.JLabel();
        lab_future3_img2 = new javax.swing.JLabel();
        jPanel2_left_down = new javax.swing.JPanel();
        lab_future4_img2 = new javax.swing.JLabel();
        lab_future4_img1 = new javax.swing.JLabel();
        lab_future4 = new javax.swing.JLabel();
        lab_future4_temperature = new javax.swing.JLabel();
        jPanel2_right_down = new javax.swing.JPanel();
        lab_future5_img2 = new javax.swing.JLabel();
        lab_future5_img1 = new javax.swing.JLabel();
        lab_future5 = new javax.swing.JLabel();
        lab_future5_temperature = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        jPanel5 = new javax.swing.JPanel();
        bt_city = new javax.swing.JButton();
        tf_city = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jPanel4 = new javax.swing.JPanel();
        lab_infor = new javax.swing.JLabel();
        bt_about = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        lab_ver = new javax.swing.JLabel();
        progress_net = new javax.swing.JProgressBar();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("\u53ea\u544a\u8bc9\u4f60\u6709\u5173\u5929\u6c14\u7684...");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setForeground(java.awt.Color.white);
        setResizable(false);
        lab_temperature.setFont(new java.awt.Font("Dialog", 0, 14));
        lab_temperature.setText("...");

        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        ta_hint.setColumns(21);
        ta_hint.setEditable(false);
        ta_hint.setLineWrap(true);
        ta_hint.setRows(5);
        ta_hint.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder()));
        ta_hint.setDisabledTextColor(new java.awt.Color(0, 0, 0));
        jScrollPane1.setViewportView(ta_hint);

        lab_place.setFont(new java.awt.Font("Dialog", 1, 18));
        lab_place.setText("...");

        lab_reportTime.setText("...");

        javax.swing.GroupLayout jPanel1_weatherLayout = new javax.swing.GroupLayout(jPanel1_weather);
        jPanel1_weather.setLayout(jPanel1_weatherLayout);
        jPanel1_weatherLayout.setHorizontalGroup(
            jPanel1_weatherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1_weatherLayout.createSequentialGroup()
                .addGroup(jPanel1_weatherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lab_reportTime)
                    .addGroup(jPanel1_weatherLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(lab_place, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(25, Short.MAX_VALUE))
        );
        jPanel1_weatherLayout.setVerticalGroup(
            jPanel1_weatherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1_weatherLayout.createSequentialGroup()
                .addComponent(lab_reportTime)
                .addGap(18, 18, 18)
                .addComponent(lab_place)
                .addContainerGap(22, Short.MAX_VALUE))
        );

        lab_img1.setIcon(new javax.swing.JLabel() {
            public javax.swing.Icon getIcon() {
                try {
                    return new javax.swing.ImageIcon(
                        new java.net.URL("http://weather.tq121.com.cn/images/a1.gif")
                    );
                } catch (java.net.MalformedURLException e) {
                }
                return null;
            }
        }.getIcon());
        lab_img1.setToolTipText("\u672a\u676512~24\u5c0f\u65f6");
        lab_img1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        lab_img1.setMaximumSize(new java.awt.Dimension(70, 65));
        lab_img1.setMinimumSize(new java.awt.Dimension(70, 65));
        lab_img1.setPreferredSize(new java.awt.Dimension(70, 65));

        lab_img2.setIcon(new javax.swing.JLabel() {
            public javax.swing.Icon getIcon() {
                try {
                    return new javax.swing.ImageIcon(
                        new java.net.URL("http://weather.tq121.com.cn/images/a1.gif")
                    );
                } catch (java.net.MalformedURLException e) {
                }
                return null;
            }
        }.getIcon());
        lab_img2.setToolTipText("\u672a\u676512\u5c0f\u65f6");
        lab_img2.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        lab_img2.setMaximumSize(new java.awt.Dimension(70, 65));
        lab_img2.setMinimumSize(new java.awt.Dimension(70, 65));
        lab_img2.setPreferredSize(new java.awt.Dimension(70, 65));

        javax.swing.GroupLayout jPanel4_imgLayout = new javax.swing.GroupLayout(jPanel4_img);
        jPanel4_img.setLayout(jPanel4_imgLayout);
        jPanel4_imgLayout.setHorizontalGroup(
            jPanel4_imgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4_imgLayout.createSequentialGroup()
                .addComponent(lab_img2, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lab_img1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel4_imgLayout.setVerticalGroup(
            jPanel4_imgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4_imgLayout.createSequentialGroup()
                .addGroup(jPanel4_imgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lab_img1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(lab_img2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(jPanel1_weather, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel4_img, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(36, Short.MAX_VALUE))
            .addComponent(lab_temperature, javax.swing.GroupLayout.DEFAULT_SIZE, 367, Short.MAX_VALUE)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 367, Short.MAX_VALUE)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jPanel4_img, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPanel1_weather, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lab_temperature)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE))
        );
        jTabbedPane1.addTab("\u4eca\u5929\u7684\u5929\u6c14", jPanel1);

⌨️ 快捷键说明

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