﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-lannerK-文章分类-程序手记</title><link>http://www.blogjava.net/lannerk/category/12344.html</link><description>JIMH-Java In My Heart</description><language>zh-cn</language><lastBuildDate>Sat, 31 Mar 2007 01:09:12 GMT</lastBuildDate><pubDate>Sat, 31 Mar 2007 01:09:12 GMT</pubDate><ttl>60</ttl><item><title>如果上帝是程序员</title><link>http://www.blogjava.net/lannerK/articles/107171.html</link><dc:creator>我的Java日记</dc:creator><author>我的Java日记</author><pubDate>Thu, 29 Mar 2007 04:16:00 GMT</pubDate><guid>http://www.blogjava.net/lannerK/articles/107171.html</guid><wfw:comment>http://www.blogjava.net/lannerK/comments/107171.html</wfw:comment><comments>http://www.blogjava.net/lannerK/articles/107171.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lannerK/comments/commentRss/107171.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lannerK/services/trackbacks/107171.html</trackback:ping><description><![CDATA[ 如果上帝是程序员，我们每个人不用说了，肯定是人的每个实例，但是上帝会把人定义为接口呢还是类？<br /><br />　　究竟我们是继承了人这个基类，还是实现了人的接口？人妖这个类怎么就能变过来了？双胞胎怎么生成的？连体婴儿呢？ <br /><br />　　我的看法是:<br /><br />　　人是类, 而不是接口, 有些东西人是天生就有的, 因此人应该是类。<br /><br />　　人妖属于保护继承, 隐藏了一些细节, 同时也覆盖了某些函数. 既然是protected继承,因此你不能直接将他/她当人看,但是他/她内部可能使用了一些using指令暴露出一些从人继承得到的方法及属性, 同时由于是继承,因此他/她也覆盖了几个虚拟函数来符合自己的需要。<br /><br />　　还有一种看法就是人妖分别从人类和妖类多重继承, 不过仍然必须是保护继承. 否则可以轻易的转型到人类指针,让你大吃一惊.总之,在人妖这个问题上看法比较多。<br /><br />　　双胞胎和其他人一样没有区别, 仅仅是产生的方式是一次两个, 因此也和普通人一样从基类人派生, 不过构造函数是私有的,你必须通过一个Factory来产生, 同时, 返回值不是单个人, 而是一个std::pair.<br /><br />　　多胞胎? 同样, 不过这个Factory可能返回一个vector了。<br /><br />　　连体婴儿属于比较高级用法, 采用virtual继承的方式, 因此共享同一个基类人。<br /><br />　　提醒一下就是, 到目前为止, 人基类在private中宣告但是没有定义拷贝构造函数和赋值函数, 因此是无法拷贝的。<br /><br />　　有人尝试通过外部的手法clone人, 目前以"C++"的技术, 还不能很好实现。<br /><img src ="http://www.blogjava.net/lannerK/aggbug/107171.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lannerK/" target="_blank">我的Java日记</a> 2007-03-29 12:16 <a href="http://www.blogjava.net/lannerK/articles/107171.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>跳过JXTa配置窗口的代码</title><link>http://www.blogjava.net/lannerK/articles/64521.html</link><dc:creator>我的Java日记</dc:creator><author>我的Java日记</author><pubDate>Sat, 19 Aug 2006 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/lannerK/articles/64521.html</guid><wfw:comment>http://www.blogjava.net/lannerK/comments/64521.html</wfw:comment><comments>http://www.blogjava.net/lannerK/articles/64521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lannerK/comments/commentRss/64521.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lannerK/services/trackbacks/64521.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#ff0000">  System.setProperty("net.jxta.tls.principal", "server");<br />            System.setProperty("net.jxta.tls.password", "password");<br />            System.setProperty("JXTA_HOME", System.getProperty("JXTA_HOME", "server"));<br />            File home = new File(System.getProperty("JXTA_HOME", "server"));<br />            if (!JxtaSocketExample.configured(home)) {<br />                JxtaSocketExample.createConfig(home, "JxtaServerSocketExample", true);<br />            }</font>
		</p>
<img src ="http://www.blogjava.net/lannerK/aggbug/64521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lannerK/" target="_blank">我的Java日记</a> 2006-08-19 15:13 <a href="http://www.blogjava.net/lannerK/articles/64521.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从我学java以来平时做程序记下的一些常用的东西</title><link>http://www.blogjava.net/lannerK/articles/53874.html</link><dc:creator>我的Java日记</dc:creator><author>我的Java日记</author><pubDate>Mon, 19 Jun 2006 18:04:00 GMT</pubDate><guid>http://www.blogjava.net/lannerK/articles/53874.html</guid><wfw:comment>http://www.blogjava.net/lannerK/comments/53874.html</wfw:comment><comments>http://www.blogjava.net/lannerK/articles/53874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lannerK/comments/commentRss/53874.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lannerK/services/trackbacks/53874.html</trackback:ping><description><![CDATA[
		<p>   this.setResizable(false);<br />    this.setSize(new Dimension(380,300));<br />*****************<br />Frame2 a=new Frame2();<br />    a.setVisible(true);<br />this.setVisible(false);<br />  }</p>
		<p>********************<br />////设置居中（注意，要在设置窗体大小下面设置该句）<br /> this.setLocationRelativeTo(null);<br />********************<br /> String[] kecheng = {"Java","英语","数学"};<br />  JComboBox jComboBox3 = new JComboBox(kecheng);  <br />JComboBox jComboBox2 = new JComboBox();<br />**********************<br />int t=Integer.valueOf( k).intValue();   /////数值转化<br />this.year=String.valueOf(ca1.get(Calendar.YEAR));   /////字符转化                            <br />*********************<br />ResultSet rest=stmt.executeQuery("select 字段from表")// 显示下一条<br />rest.next();<br />*********************<br />'\n' 回车换行<br />**********************<br />//获取日期差，返回相差天数。</p>
		<p>//日期格式：2005-01-01<br />//Author : Meanson Wang<br />/ <br />static long getCompareDate(String startDate,String endDate) throws ParseException {<br />     SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd");<br />  <br />   Date date1=formatter.parse(startDate);    <br />   <br />  Date date2=formatter.parse(endDate);<br />     <br />long l = date2.getTime() - date1.getTime();<br />     long d = l/(24*60*60*1000);<br />     return d;<br /> } <br />**************************<br />String DATA_FORMAT="yyyy-MM-dd";<br />java.text.SimpleDateForma sdf=new java.text.SimpleDateForma(DATA_FORMAT);<br />Calendar c1=Calendar.getInstance();<br />c1.set<br />*********************<br />获得当前系统时间<br />import java.util.*;<br />在类里定义一个对象<br />Calendar ca1=Calendar.getInstance();<br />在void jbInit() throws Exception {里定义<br /> this.year=String.valueOf(ca1.get(Calendar.YEAR));<br />     this.month=String.valueOf(ca1.get(Calendar.MONTH));<br />      this.day=String.valueOf(ca1.get(Calendar.DATE));<br />/////<br />jTextArea1.setText("日期:"+this.year+"年"+this.month+"月"+this.day +"日");<br />////<br />**************************<br />/////////设置焦点<br />    jTextField1.grabFocus();<br />    /////////设置焦点<br />****************************<br />  ///////////按键设置焦点<br />    this.getRootPane().setDefaultButton(jButton1);<br />    ///////////按键设置焦点<br />****************************<br /> /////////////////////转换字符为ASC2码<br />   String str=new String("a");<br />    char cha; <br />    cha=str.charAt(0); <br />    System.out.print((int)cha);<br /> /////////////////////转换字符为ASC2码<br />******************************<br />rr.equals(ss.toString())<br />********************************</p>
		<p>////////设置启动程序时哪个面板先跳出来<br /> jTabbedPane1.setSelectedComponent(jPanel1);<br />******************************<br />///////////////////////////绑定键盘按钮(例如绑定F2)<br />JButton myButton=new JButton("Button1");<br />myButton.getInputMap().put(KeyStroke.getKeyStroke("F2"),"doSomething");<br />myButton.getActionMap().put("doSomething",btnAction);<br />*********************************<br />////////////////////////////////////////////<br />ActionListener a=new ActionListener(){<br />public void actionPerformed(ActionEvent ae){<br />System.out.println("keyPress sure");<br />}<br />};<br />//////////////////////////////////////////<br />getRootPane().registerKeyboardAction(a,KeyStroke.getKeyStroke(),);<br />****************************************得到从0.0到1.0的随机数<br />double t=Math.random();<br /> System.out.println(t);<br />////////double t=Math.random()*1000/2;</p>
		<p>
				<br />*************************************************<br />////////////////////////////////////////////////获取一个Vector类对象数组的长度(容量)<br />Vector vv = new Vector();<br />......<br />int t=vv.size();<br />////////////////////////////////////////////////可以用此方法去得到列表框的长度(容量)<br />***************************************************<br />    ///////////////////////////////////////时间器的使用<br />  ActionListener a8=new ActionListener(){<br />  public void actionPerformed(ActionEvent ae){<br />   //////在这里写要执行的片断<br />  }<br />  };<br />   Timer t1=new Timer(10,a8);<br />   t1.start();</p>
		<p>******************************************<br /> year=String.valueOf(ca1.get(Calendar.YEAR));<br />             month=String.valueOf(ca1.get(Calendar.MONTH));<br />            week=String.valueOf(ca1.get(Calendar.DAY_OF_WEEK));<br />              hou=String.valueOf(ca1.get(Calendar.HOUR_OF_DAY));<br />             min=String.valueOf(ca1.get(Calendar.MINUTE));<br />            sec=String.valueOf(ca1.get(Calendar.SECOND));<br />****************************************<br />double y=Math.pow(double x,a);//////公式代表X的a次方等于y<br />****************************************<br />180/pi=1弧度;<br />1度=pi/180弧度;<br />*****************************************<br />jSlider1_stateChanged////////滑动条改变方法<br />******************************************<br />%USERPROFILE%\My Documents  /////我的文档通用地址,"%USERPROFILE%"为用户信息<br />%USERPROFILE%\「开始」菜单    /////在开始菜单添加文件夹的地址</p>
		<p>******************************************获得当前系统用户信息,"user.name"为其中一个键值<br />String t="user.name";<br /> System.out.println(System.getProperty(t));//参见帮助文档的java.lang.System</p>
		<p>**************************************************////判断两个密码框输入是否一致<br />if(jPasswordField1.getText().intern()!=jPasswordField2.getText().intern())<br />*************************************************************************************<br /> ////////fn是数组，判断数组中某元素是第几项，file.getName()是元素<br /> for(int tb=0;tb&lt;fn.length;tb++){<br /> if(fn[tb].equals(file.getName())){i=tb;}<br /> }<br />  ////////fn未数组，判断数组中某元素是第几项<br />**************************************************************************<br />  //窗体最小化  <br />this.setState(1);<br />**************************************************************************<br />/////////////如何利用FileWriter在文本中换行？<br />\r\n<br />*************************************************************************<br />///////////////如何调用本地的dll？<br />  jni<br />***********************************************************************<br />///用java实现打开一个文件夹选择对话框<br /> JFileChooser   parseDir   =   new   JFileChooser();<br /> parseDir.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);<br /> parseDir.showOpenDialog(this);<br /> String pas=parseDir.getSelectedFile().getPath();//获取选择的文件夹路径<br />**********************************************************************<br />  this.pack();//调用此函数可以重新规划窗体<br />******************************************************************<br />this.setCursor(Cursor.SE_RESIZE_CURSOR);//改变鼠标指针<br />**************************************************************<br />修改替换一段文字的某个字<br />    StringBuffer str=new StringBuffer("dsfsdfsdbdfbfdbdfbdfbdfbdfbfdb");<br />    String str1 = str.toString();<br />    char bChar='b';<br />    int i;<br />    i=str1.indexOf(bChar);<br />    <br />    while(i&gt;=0){<br />     str.setCharAt(i,'哈');//把b改为哈字<br />     i=str1.indexOf(bChar,i+1);<br />    }<br />    System.out.println(str);<br />********************************************************************<br />替换一段文字中的某些字符串算法<br />    /**读取数据库内容的换行符"/n"把它们替换成Html可识别的换行符的算法*/<br />     StringBuffer str=new StringBuffer(nr);<br />     String str1="\n";<br />     int numStr=str.indexOf(str1);<br />     while(numStr&gt;=0)<br />    {<br />    str.replace(numStr,numStr+1,"&lt;br&gt;") ;//在"/n"的位置中插入"&lt;br&gt;"<br />    numStr=str.indexOf(str1);<br />    }<br />   System.out.println(str);<br />******************************************************************<br />删除一段文字中的某个字<br />    StringBuffer str=new StringBuffer("打碎打碎大师傅大师傅毒素大师傅大师傅似懂非懂锁骨");<br />    String bChar="大";//定义要删除的字符<br />    int i;//定义一个循环变量<br />    i=str.indexOf(bChar);<br />    while(i&gt;=0){//当i小于0时代表已经没有该字符串了<br />    str.deleteCharAt(i);<br />    i=str.indexOf(bChar);<br />    }<br />    System.out.println(str);//显示最终结果<br />*****************************************************************<br /> //验证字符串里是否包含某个字符<br />    StringBuffer str=new StringBuffer(jTextField1.getText());<br />    String str1="@";<br />    if (str.indexOf(str1) == -1)<br />    {      <br />JOptionPane.showMessageDialog(this,"邮箱地址无效！","确定！",JOptionPane.INFORMATION_MESSAGE);<br />  }</p>
		<p>*****************************************************************<br />//////////调用帮助文档<br />   try{<br />    String sss="C:\\WINDOWS\\hh.exe";//系统的chm文件浏览器路径<br />         Runtime rt = Runtime.getRuntime();<br />           String p=sss+" "+"F:\\编程资料<a href="file://\\Java">\\Java</a>文件夹<a href="file://\\java">\\java</a>书<a href="file://\\java">\\java</a>帮助文档<a href="file://\\5.0\\api.chm">\\5.0\\api.chm</a>";<br />           rt.exec(p);}<br />         catch(Exception ee){}<br />******************************************************************<br />////////一次性创建多个按钮<br />   JButton[] b=new JButton[21];<br />          for(i=1;i&lt;21;i++)<br />          {<br />     b[i]=new Button();<br />           b[i].setFont(new Font("仿宋",0,16));<br />          }<br />////////////// 创建100个标签 (写在构造函数里面)<br />    for(i=1;i&lt;=100;i++)<br />{  String t=String.valueOf(i);<br />  JLabel t2=new  JLabel(t); <br /> contentPane.add(t2, null);<br />}</p>
		<p>//////////////////////创建100个标签组<br />JLabel[] b2=new JLabel[100];</p>
		<p>for(i=0;i&lt;=100;i++){<br /> try{<br />b2[i] = new JLabel(String.valueOf(i));<br />b2[i].setBorder(BorderFactory.createEtchedBorder());     <br />jPanel1.add(b2[i], null);}<br />catch(Exception r){System.out.println(r);}<br />}<br />***************************************************************<br />Frame窗体去掉边框<br />setUndecorated(true);<br />****************************************************************<br />Timer是一个线程用来调度在后台线程中运行的计划任务的使用工具。任务可能计划只运行一次，或者以一定的时间间隔重复运行。<br />下面是一个定时的小程序：</p>
		<p>    /**//**<br />     * 弹出菜单显示3秒钟后自动隐藏<br />     * <br />     */<br />    private void timerToHidden() {<br />        Timer timer = new Timer();</p>
		<p>        timer.schedule(new TimerTask() {<br />            public void run() {<br />                msgWindow.setVisible(false);<br />            }<br />        }, 3000);<br />    }<br />**********************************************************<br />Toolkit.getDefaultToolkit().beep();//发出系统BeBe声<br />*********************************************************<br />&lt;meta http-equiv="refresh" content="3; url=http://kang.mccse.com"&gt; //每3秒刷新一次<br />*********************************************************<br />在jsp页中导入多个类<br />&lt;%@ page  import ="java.awt.event.*,java.awt.*,javax.swing.*" contentType="text/html; charset=GB2312" %&gt;<br />************************************************************<br />(new java.util.Date()).toLocaleString();//现在时间<br />************************************************************<br />String userPass,agaPass;<br />...<br />if(userPass.matches(agaPass)==false){...} //可用matches(String)来比较两个字符串变量是否相等<br />*************************************************************<br />http://服务器IP：8080             // 局域网访问服务器<br /><a href="http://192.168.1.5:8080/WebModule1/jsp1.jsp">http://192.168.1.5:8080/WebModule1/jsp1.jsp</a><br />*********************************************************<br />request.getServerName()  //获取服务器IP地址<br />****************************************************<br />&lt;%response.setContentType("text/html; charset=gb2312" );<br />  request.getCharacterEncoding("GB2312");<br />%&gt;  可在网页对话框中输入中文存储到数据库里<br />**********************************************************************<br />&lt;script language="javascript"&gt;window.alert('欢迎！')&lt;/script&gt;//网页对话框</p>
		<p>&amp;nbsp; //空格<br />*********************************************************************<br />SQLServer中通用的主机名为:127.0.0.1<br />**************************************************************<br />用一下的句子代替forword可以重定向到某页面,并且url可以改变<br />response.sendRedirect("cliuyan.jsp");<br />**************************************************************<br />html中使用QQ留言的代码<br />&lt;a target="blank" href="<a href="http://wpa.qq.com/msgrd?V=1&amp;Uin=214392346&amp;Site">http://wpa.qq.com/msgrd?V=1&amp;Uin=214392346&amp;Site</a>=远走高飞 47=yes"&gt;<br />&lt;img alt="点击这里给我发消息" src="<a href="http://wpa.qq.com/pa?p=1:214392346:7">http://wpa.qq.com/pa?p=1:214392346:7</a>" border="0"&gt;&lt;/a&gt;<br />****************************************************************<br />想与某人的QQ聊天<br />&lt;a target="blank" href="<a href="http://wpa.qq.com/msgrd?V=1&amp;Uin">http://wpa.qq.com/msgrd?V=1&amp;Uin</a>=某人的Q号"&gt;<br />&lt;img alt="点击这里给我发消息" src="<a href="http://wpa.qq.com/pa?p=1:214392346:7">http://wpa.qq.com/pa?p=1:214392346:7</a>" border="0"&gt;&lt;/a&gt;</p>
<img src ="http://www.blogjava.net/lannerK/aggbug/53874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lannerK/" target="_blank">我的Java日记</a> 2006-06-20 02:04 <a href="http://www.blogjava.net/lannerK/articles/53874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>