天王盖地虎~糗百电脑桌面客户端(精简版)

***********************************************************************************类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());
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值