天王蓋地虎~糗百電腦桌面客戶端(精簡版)

***********************************************************************************類1************************************************************************************************

import java.awt.BorderLayout;

import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.net.MalformedURLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;


@SuppressWarnings("serial")
public class QbGUI extends JFrame {
/**
* @author iSunday
* 業餘之作,僅供學習交流之用,否則對此產生的法律後果一切由使用者承擔
* 聯繫作者 2279058193
*/
private JPanel jPanel = new JPanel();//主容器,裝副容器
private JPanel title = new JPanel();//副容器,裝按鈕
private JPanel choose = new JPanel();//副容器,裝按鈕
public static JTextArea textArea = new JTextArea();//文字域
private Font font = new Font("宋體", Font.PLAIN, 18);
private JScrollPane scroll = new JScrollPane(textArea);//副容器
//按鈕
private JButton next = new JButton("下一頁");
private JButton jingHua = new JButton("八小時精華");
private JButton jinRi = new JButton("今日");
private JButton zuiXin = new JButton("最新");



private int frameWidth;
private int frameHeight;


public QbGUI() {
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();//獲取當前用戶的屏幕尺寸


int screenHeight = screenSize.height;
int screenWidth = screenSize.width;
frameWidth = (int) (screenWidth / 1.7);
frameHeight = (int) (screenHeight / 1.4);
setSize(frameWidth, frameHeight);// 設置框架大小
setLocation((screenWidth - frameWidth) / 2,
(screenHeight - frameHeight) / 2);// 設置框架位置
setTitle("糗事百科1.0");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textArea.setFont(font);


jPanel.setLayout(new BorderLayout());


// 添加監聽器
try {
jingHua.addActionListener(new NetWork(
"http://wap3.qiushibaike.com/8hr"));


jinRi.addActionListener(new NetWork(
"http://wap3.qiushibaike.com/hot"));
zuiXin.addActionListener(new NetWork(
"http://wap3.qiushibaike.com/late"));
next.addActionListener(new NetWork(""));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


// 在主容器中添加按鈕及文本框
title.add(jingHua);
title.add(jinRi);
title.add(zuiXin);
jPanel.add(title, BorderLayout.NORTH);
jPanel.add(scroll, BorderLayout.CENTER);
choose.add(next);
jPanel.add(choose, BorderLayout.SOUTH);


getContentPane().add(jPanel);


setVisible(true);// 將框架設置可見
}





public static void main(String[] args) {
new QbGUI();
}

}


*************************************************************************************類2*****************************************************************************************




import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;


public class NetWork implements ActionListener {
/**
* @author iSunday
* 業餘之作,僅供學習交流之用,否則對此產生的法律後果一切由使用者承擔
* 聯繫作者 2279058193
*/
private URL url;//即將瀏覽的地址
private static URL currentUrl;//當前瀏覽的第一級地址
private int page = 2;
private boolean isPage;//保存是否爲按鈕判斷結果


public NetWork(String stringUrl) throws MalformedURLException {
//判斷是否爲翻頁按鈕
if (!stringUrl.isEmpty()) {
url = new URL(stringUrl);
}
else{
isPage = true;
}
}


public void actionPerformed(ActionEvent e) {
StringBuffer content = new StringBuffer();
try {
if (isPage && currentUrl != null) {
url = new URL(currentUrl + "/page/" + page);
}
if (isPage && currentUrl == null) {
url = new URL("http://wap3.qiushibaike.com/8hr");
}
BufferedReader br = new BufferedReader(new InputStreamReader(
url.openStream(), "UTF-8"));//連接網絡,獲取流信息
String line;
int index = 1;
//對流信息進行分析,處理
while ((line = br.readLine()) != null) {
//抓取笑話內容
if (line.lastIndexOf("<br/>") != -1
&& line.indexOf("</a>") == -1 && line.length() > 39) {
line = line.replaceAll("<br/>", "");
StringBuffer line2 = new StringBuffer(line);
//對過長的內容進行分行處理
for (int i = 0; i < line.length() / 48; i++) {
line2.insert((i + 1) * 48, "\n");
}
content.append("  " + index + ". " + line2 + "\n");
index++;
}
}
//記錄當前訪問類型的主要地址
if (url.toString().indexOf("page") != -1) {
int index1 = url.toString().lastIndexOf("/page");
url = new URL(url.toString().substring(0, index1));
}
currentUrl = url;
page++;
} catch (Exception e1) {
// TODO Auto-generated catch block
// e1.printStackTrace();
}
//更新文本框信息
QbGUI.textArea.setText(content.toString());
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章