- 博客(0)
- 资源 (14)
空空如也
Matlab和VC混合编程Com技术
Matlab和VC混合编程Com技术
利用VC做的一个界面,简单调用Matlab做的一个sin()图像。
提供一个VC和Matlab利用Com技术混合编程的一个简单测试,能成功运行,但是需要先运行_install文件(*\Matlab和VC 混合编程Com\complotsin\distrib)进行注册,相关方法可以网上查询。
2012-04-08
自己动手写搜索引擎 第8章 光盘实例
自己动手写搜索引擎 第8章 光盘实例
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
2012-02-18
自己动手写搜索引擎 第6章 光盘实例
自己动手写搜索引擎 第6章 光盘实例
/**
* 使用CnTokenizer的Analyzer示例类。
*
*/
//Analyzer类就是用来分析这些制作出的Token的
2012-02-18
自己动手写搜索引擎 第5章 光盘实例
自己动手写搜索引擎 第5章 光盘实例
private static ChineseConverter converter = new ChineseConverter("ChineseMap.txt");
private Dst charMap = new Dst(24);
public static ChineseConverter getInstance()
{
return converter;
}
private ChineseConverter(){
}
2012-02-18
自己动手写搜索引擎 第4章 光盘实例
自己动手写搜索引擎 第4章 光盘实例
/**
* Implementation of a Ternary Search Trie, a data structure for storing <code>String</code> objects
* that combines the compact size of a binary search tree with the speed of a digital search trie, and is
* therefore ideal for practical use in sorting and searching data.</p> <p>
*
* This data structure is faster than hashing for many typical search problems, and supports
* a broader range of useful problems and operations. Ternary searches are faster than
* hashing and more powerful, too.</p> <p>
*
* The theory of ternary search trees was described at a symposium in 1997 (see "Fast
* Algorithms for Sorting and Searching Strings," by J.L. Bentley and R. Sedgewick,
* Proceedings of the 8th Annual ACM-SIAM Symposium on Discrete Algorithms, January 1997).
* Algorithms in C, Third Edition, by Robert Sedgewick (Addison-Wesley, 1998) provides
* yet another view of ternary search trees.
*
* @author Bruno Martins
*
*/
2012-02-18
自己动手写搜索引擎 第3章 光盘实例
自己动手写搜索引擎 第3章 光盘实例
try {
lexer = new Lexer (new Page(uc.getInputStream(), "GB2312" ));//确定网页的编码是什么
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return ;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return ;
}
2012-02-18
自己动手写搜索引擎 第2章 光盘实例
自己动手写搜索引擎 第2章 光盘实例
try {
//配置环境
EnvironmentConfig envConfig = new EnvironmentConfig();
//设置配置事务
envConfig.setTransactional(true);
//如果不存在就创建环境
envConfig.setAllowCreate(true);
File file= new File("c:/as/");
file.mkdirs();
//创建数据库环
2012-02-18
自己动手写搜索引擎 第1章 光盘实例
自己动手写搜索引擎 第1章 光盘实例
/*
* Created on 2004-11-20
*
* index a dir file
*/
package demo;
/**
* @author luogang
*
*/
2012-02-18
通讯录管理系统 Java设计 源程序
/* 通讯录管理系统 Java设计 源程序 */
public class BackgroundPanel extends JPanel
/*
* 重写paintComponent方法
*/
public class DAO {
private static DAO dao=new DAO(); // 创建DAO对象
public DAO(){
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载数据库驱动类
}
catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "数据库驱动加载失败。");
}
}
/**
* 获得数据库连接的方法
* @return Connection
*/
public class Message
AddMessageFrame
DeleteMessageFrame
LoginFrame
MainFrame
QueryMessageFrame
UpdateMessageFrame
... ...
2012-02-18
通讯录管理系统文档 Java设计
社会的发展,人际关系变得越来越重要,快速查找到联系人的信息,节省查找时间.
系统登录窗体
公共实体类Message
公共数据访问对象类DAO
公共背景面板类BackgroundPanel
公共分类信息类SaveTypeState
主窗体模块
super();
setTitle("通讯录管理系统");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setBounds(100,60,800,600);
URL url = LoginFrame.class.getResource("/image/main.jpg"); // 获得图片的URL
Image image=new ImageIcon(url).getImage(); // 创建图像对象
BackgroundPanel gbPanel=new BackgroundPanel(image); // 创建背景面板
getContentPane().add(gbPanel); // 将背景面板添加到窗体容器中部
... ...
运行和发布应用程序
2012-02-18
网络五子棋游戏 Java课程设计 源程序
Java课程设计网络五子棋游戏源程序,能运行。
/**
* 登录面板
*
* @author Li Zhong Wei
*/
public class LoginPanel extends javax.swing.JPanel {
private Socket socket;
private UserBean user;
protected boolean linked;
/**
* 构造方法
*/
public LoginPanel() {
initComponents(); // 调用初始化界面的方法
}
public boolean isLinked() {
return linked;
}
public void setLinked(boolean linked) {
this.linked = linked;
}
void setLinkIp(String ip) {
ipTextField.setText(ip);
ipTextField.setEditable(false);
nameTextField.requestFocus();
}
/**
* 初始化登录界面的方法
*/
/**
*
* @author lzwJava
*/
public class MainFrame extends javax.swing.JFrame {
private Socket socket;
private ObjectOutputStream objout;
private UserBean towardsUser;// 对家
protected UserBean user;
Socket serverSocket;
public Socket getServerSocket() {
return serverSocket;
}
public Socket getSocket() {
return socket;
}
/**
* 向对家发送信息的方法
*
* @param message
* - 要发送的文本或其他类型的对象
*/
2012-02-18
网络五子棋游戏文档 Java 课程设计
网络五子棋只需要包含客户端和服务器端两个窗口,规模比较小,而本模块设计的是独立运行的客户端,不需要服务器。从功能上看,网络五子棋涉及两台主机间的通信,相互需要传递棋子信息、控制指令和文本信息,这需要定义一个应用协议来解释数据报,涉及网络开发的许多知识。
/**
实现登录界面的关键技术,使用了GlassPane面板,它位于窗体的最顶层,Swing默认该面板为隐藏模式。本模块继承JPanel类编写了登录面板,其中包含登录信息的文本框和“登录”按钮等信息,然后调用JFrame窗体的setGlassPane()方法将该面板设置为GlassPenel玻璃面板。程序关键代码如下。
loginPanel1 = new com.lzw.gobang.LoginPanel(); // 创建登录面板的实例对象
/**
* 主窗体的构造方法
*/
public MainFrame() {
initComponents(); // 初始化窗体界面
setGlassPane(loginPanel1); // 设置登录面板为玻璃面板
loginPanel1.setVisible(true); // 显示登录面板
... ...
/**
* 处理远程命令的方法
* @param messageObj - 命令代码
*/
private void oprationHandler(Object messageObj) {
int code = (Integer) messageObj; // 获取命令代码
String towards = frame.getTowardsUser().getName(); // 获取对家昵称
int option;
switch (code) {
case ChessPanel.OPRATION_REPENT: // 如果是悔棋请求
System.out.println("请求悔棋");
// 询问玩家是否同意对方悔棋
option = JOptionPane.showConfirmDialog(frame,
towards + "要悔棋,是否同意?", "求你了,我走错了,让我悔棋!!!",
JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);
// 在聊天面板添加悔棋信息
frame.appendMessage("对方请求悔棋.......");
if (option == JOptionPane.YES_OPTION) { // 如果同意悔棋
frame.send(ChessPanel.OPRATION_NODE_REPENT); // 发送同意悔棋的消息
frame.getChessPanel1().repentOperation(); // 执行本地的悔棋操作
frame.appendMessage("接受对方的悔棋请求。"); // 添加悔棋信息到聊天面板
frame.send(frame.getUser().getName() + "接受悔棋请求");
} else { // 如果不同意悔棋
// 添加不同意悔棋的信息到聊天面板
frame.send(frame.getUser().getName() + "拒绝悔棋请求");
frame.appendMessage("拒绝了对方的悔棋请求。");
}
break;
case ChessPanel.OPRATION_NODE_REPENT: // 如果是同意悔棋命令
System.out.println("同意悔棋命令");
frame.getChessPanel1().repentOperation(); // 执行本地的悔棋操作
frame.appendMessage("悔棋成功"); // 把悔棋成功信息添加到聊天面板
break;
case ChessPanel.OPRATION_NODE_DRAW: // 如果是同意和棋命令
System.out.println("同意和棋命令");
frame.getChessPanel1().getGobangPanel1().setDraw(true); // 设置和棋状态为true
frame.getChessPanel1().reInit(); // 初始化游戏状态变量
frame.appendMessage("此战平局。"); // 将和棋信息添加到聊天面板
break;
case ChessPanel.OPRATION_DRAW: // 如果是和棋请求
System.out.println("请求和棋");
// 询问玩家是否同意和棋
option = JOptionPane.showConfirmDialog(frame, towards
+ "请求和棋,是否同意?", "大哥,和棋吧!!!", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
frame.appendMessage("对方请求和棋......."); // 添加信息到聊天面板
if (option == JOptionPane.YES_OPTION) { // 如果同意和棋
frame.send(ChessPanel.OPRATION_NODE_DRAW); // 发送接受和棋的消息
frame.getChessPanel1().getGobangPanel1().setDraw(true); // 设置和棋状态为true
frame.getChessPanel1().reInit(); // 初始化游戏状态变量
frame.appendMessage("接受对方的和棋请求。"); // 添加信息到聊天面板
frame.send(frame.getUser().getName() + "接受和棋请求");
} else { // 如果不同意和棋
frame.send(frame.getUser().getName() + "拒绝和棋请求"); // 发送拒绝信息
frame.appendMessage("拒绝了对方的和棋请求。");
}
break;
case ChessPanel.OPRATION_GIVEUP: // 如果是对方认输的请求
System.out.println("对方认输");
// 询问玩家是否同意对方认输
option = JOptionPane.showConfirmDialog(frame, towards
+ "请求认输,是否同意?", "对方认输", JOptionPane.YES_NO_OPTION);
frame.appendMessage("对方请求认输.......");
if (option == JOptionPane.YES_OPTION) { // 如果同意对方认输
frame.send(ChessPanel.WIN); // 发送胜利消息
frame.getChessPanel1().getGobangPanel1().setWin(true); // 设置胜利状态为true
frame.getChessPanel1().reInit(); // 初始化游戏的状态变量
frame.appendMessage("接受对方的认输请求。");
} else {
frame.send(frame.getUser().getName() + "拒绝认输请求");
frame.appendMessage("拒绝了对方的认输请求。");
}
break;
case ChessPanel.OPRATION_START: // 如果是开始游戏的请求
System.out.println("请求开始");
if (frame.getChessPanel1().getGobangPanel1().isStart()) { // 如果自己已经开始游戏
frame.send((int) ChessPanel.OPRATION_ALL_START);// 发送全部开始命令
frame.getChessPanel1().setTowardsStart(true); // 设置对家游戏开始状态为true
}
break;
case ChessPanel.OPRATION_ALL_START: // 如果是回应开始请求
System.out.println("回应开始请求");
frame.getChessPanel1().setTowardsStart(true); // 设置对家为开始状态
break;
case ChessPanel.WIN: // 如果是胜利的命令代码
System.out.println("对方胜利");
// 设置对家胜利状态为true
frame.getChessPanel1().getGobangPanel1().setTowardsWin(true);
frame.getChessPanel1().reInit(); // 初始化游戏状态变量
break;
default:
System.out.println("未知操作代码:" + code);
}
}
2012-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人