<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一條老狗

               老狗拉破車
    posts - 12, comments - 11, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    2010年9月24日

    今天由XNA3.0升級到4.0,竟然報(bào)錯:

    No suitable graphics card supported. Could not find a Direct3D device that supports the XNA Framework HiDef Profile.

    原來是因?yàn)槲业娘@卡不支持DirectX 10,在工程屬性中把Hidef修改為Reach即可。

    http://msdn.microsoft.com/en-us/library/ff604995.aspx

    posted @ 2010-09-24 21:07 一條老狗 閱讀(4036) | 評論 (2)編輯 收藏

    2007年10月24日

    JIRA插件開發(fā)的工作本早已結(jié)束。
    但近日有個朋友來問,如何在IssueNavigator顯示時(shí),顯示用戶的帳號名(username),而不是其FullName。

    當(dāng)時(shí)我為他提供了兩種思路:

    思路1。寫一個自定義字段插件,這個插件就是按用戶名來顯示報(bào)告者及被分派者。
    然后再自定義問題導(dǎo)航欄,把你的自定義字段添加進(jìn)去即可。

    思路2。繼承并覆蓋問題導(dǎo)航功能的Action,直接修改其顯示的數(shù)據(jù)。

    這個問題挺有意思,今日閑來無事,對第二種思路寫了點(diǎn)代碼來實(shí)現(xiàn)一下。

    首先我們繼承IssueNavigator類:

    public class IssueNavigator extends com.atlassian.jira.web.action.issue.IssueNavigator {

        
    private boolean convertedResults = false;
        
    public SearchResults getSearchResults() throws SearchException {
            SearchResults results 
    = super.getSearchResults();
            
    if (!convertedResults && results != null{
                convertedResults 
    = true;

                List issueList 
    = results.getIssues();
                
    for (int i = 0; i < issueList.size(); i++{
                    com.atlassian.jira.issue.DocumentIssueImpl issue 
    =
                            (com.atlassian.jira.issue.DocumentIssueImpl)issueList.get(i);

                    Document document 
    = null;
                    
    try {
                        Field f 
    = issue.getClass().getDeclaredField("document");
                        f.setAccessible(
    true);
                        document 
    = (Document)f.get(issue);
                        f.setAccessible(
    false);
                    }
     catch (NoSuchFieldException e) {
                        e.printStackTrace();
                    }
     catch (IllegalAccessException e) {
                        e.printStackTrace();
                    }


                    DocumentIssueImpl newIssue 
    = new DocumentIssueImpl(
                            document,
                            ComponentManager.getInstance().getConstantsManager(),
                            ComponentManager.getInstance().getFieldManager(),
                            ComponentManager.getInstance().getIssueManager(),
                            ComponentManager.getInstance().getIssueFactory(),
                            ComponentManager.getInstance().getAttachmentManager(),
                            ComponentManager.getInstance().getProjectFactory()
                    );

                    issueList.set(i, newIssue); 
                }

            }


            
    return results;
        }


    }

    然后覆蓋其 getSearchResults() 方法,將issueList中的對象換為我們的新對象(DocumentIssueImpl)。
    注意: 這里面為了取回document對象,使有了反射。或許有其它辦法,這里只做一個測試,不考慮其它問題。

    為此,我們需要再繼承一個類 DocumentIssueImpl:
    public class DocumentIssueImpl extends com.atlassian.jira.issue.DocumentIssueImpl {

        
    private User resetUserFullName(User user) {
            user.setFullName(user.getName());
            
    return user;
        }


        
    public User getAssignee()
        
    {
            
    return resetUserFullName(super.getAssignee());
        }


        
    public User getReporter()
        
    {
            
    return resetUserFullName(super.getReporter());
        }

    }

    然后我們覆蓋其 getAssignee() getReporter() 方法,把username賦值給fullname
    這樣當(dāng)調(diào)用 getFullName 時(shí)返回的就是 username了。

    然后插件配置文件中覆蓋IssueNavigation Action

    <action name="xxx.IssueNavigator" alias="IssueNavigator">
        
    <view name="success">/secure/views/navigator/navigator.jsp</view>
        
    <view name="error">/secure/views/navigator/navigator.jsp</view>
    </action>

    完成!

    posted @ 2007-10-24 11:40 一條老狗 閱讀(2151) | 評論 (0)編輯 收藏

    2007年8月9日

    如果一個單元格的類型不是文本,而是數(shù)字該如何清空它呢?

    public void setCellValue(double value)

    此函數(shù)并不能清受NULL,該如何把這個單元格變成空白呢?
    方法很簡單:

    cell.setCellType(HSSFCell.CELL_TYPE_BLANK);

    把它的類型改為 HSSFCell.CELL_TYPE_BLANK 即可。

    posted @ 2007-08-09 10:35 一條老狗 閱讀(2785) | 評論 (0)編輯 收藏

    2007年7月27日

    以下是官方的一個例子:

        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet s 
    = wb.createSheet();
        HSSFRow r 
    = null;
        HSSFCell c 
    = null;
        HSSFCellStyle cs 
    = wb.createCellStyle();
        HSSFFont f 
    = wb.createFont();
        HSSFFont f2 
    = wb.createFont();

        cs 
    = wb.createCellStyle();

        cs.setFont( f2 );
        
    //Word Wrap MUST be turned on
        cs.setWrapText( true );

        r 
    = s.createRow( (short2 );
        r.setHeight( (
    short0x349 );
        c 
    = r.createCell( (short2 );
        c.setCellType( HSSFCell.CELL_TYPE_STRING );
        c.setCellValue( 
    "Use \n with word wrap on to create a new line" );
        c.setCellStyle( cs );
        s.setColumnWidth( (
    short2, (short) ( ( 50 * 8 ) / ( (double1 / 20 ) ) );

        FileOutputStream fileOut 
    = new FileOutputStream( "workbook.xls" );
        wb.write( fileOut );
        fileOut.close();

     

    這里它是使用 r.setHeight((short)0x349) 寫死了行高的,如何根據(jù)實(shí)際內(nèi)容自動計(jì)算出其行高呢?
    我們可以不設(shè)置其行高,此時(shí)Excel能夠正確顯示出來,但看上去太擠,不好看。
    我是希望在文字需要占的實(shí)際行高基礎(chǔ)上再加上一些空白,這樣才好看。
    但此時(shí)調(diào)用 r.getHeight() 取不到值。

    我想這個需求可能是實(shí)現(xiàn)不了了。

     

    posted @ 2007-07-27 14:22 一條老狗 閱讀(4101) | 評論 (2)編輯 收藏

    1、桃源話很奇特,尾音很高,比如“局”,便發(fā)音成了“豬”。

      先到縣委宣傳部,聯(lián)系到人事局采訪。宣傳部的人打電話替我預(yù)約,用免提。

      宣傳部:“喂,你人是豬嗎?(人事局)”

      對方:“不是,你搞錯了。我不是人是豬(人事局),我娘是豬(糧食局)。”

      我拼命忍住笑,肚子都疼了。

      第二天參加一個縣政府的匯報(bào)會。會前點(diǎn)名。

      主持人:“哪些單位到了?”

      于是參會者一個個地自報(bào)家門:

      “我是公閹豬(公安局)。”

      “我叫肉豬(教育局)。”

      “我有點(diǎn)豬(郵電局)。”

      “我是典型豬(電信局)。”

    2、話說湖南一個口音很重的縣長到村里作報(bào)告: 

      “兔子們,蝦米們,豬尾巴!不要醬瓜,咸菜太貴啦!!”
      (翻譯:同志們,鄉(xiāng)民們,注意吧!不要講話,現(xiàn)在開會啦!!) 

      縣長講完后,主持人說:“咸菜請香腸醬瓜!”
      (翻譯:現(xiàn)在請鄉(xiāng)長講話!) 

      鄉(xiāng)長說:“兔子們,今天的飯狗吃了,大家都是大王八!”
      (翻譯:同志們,今天的飯夠吃了,大家都使大碗吧!) 

      “不要醬瓜,我撿個狗屎給你們舔舔。。。”
      (翻譯:不要講話,我講個故事給你們聽聽。。。)

    posted @ 2007-07-27 09:45 一條老狗 閱讀(380) | 評論 (0)編輯 收藏

    2007年7月13日

    POI的基本操作,請參看 http://blog.java-cn.com/user1/6749/archives/2005/18347.html

    sheet有現(xiàn)成的方法實(shí)現(xiàn)clone

    但如何克隆一行,一列呢?找了找好像沒有現(xiàn)成的方法可用。

    只有一列一列的復(fù)制其屬性,一些基本屬性倒是可以復(fù)制,如對齊、字體、邊框、背景色、CellType等

    但如何復(fù)制Cell的"條件格式"呢???困惑中。。。

    posted @ 2007-07-13 17:19 一條老狗 閱讀(1487) | 評論 (0)編輯 收藏

    2007年7月12日

    大家都知道,JIRA是一個優(yōu)秀的問題跟蹤系統(tǒng)。
    但它不一定就能完全滿足你的需要,比如導(dǎo)入Excel方式提交的BUG。
    值得慶幸的是,JIRA提供了強(qiáng)大的插件開發(fā)功能,現(xiàn)說一說我的一點(diǎn)小經(jīng)驗(yàn)。

    準(zhǔn)備: JIRA3.9,  JIRA SDK,  IDEA / Eclipse, 熟悉Java(廢話),  熟悉WebWork
    資料: http://confluence.atlassian.com/display/JIRA/JIRA+Development+Hub
    官方資料可能無法全部找到你想要的,這時(shí)你可以下載一些其它第三方插件來分析其源碼。


    最重要的一點(diǎn),那就是反編譯JIRA代碼,直接查看之。
    比如,你想查看 /secure/IssueNavigator.jspa 的代碼
    打開 WEB-INF/classes/actions.xml 查找 IssueNavigator ,如下:   

    <action name="issue.IssueNavigator" alias="IssueNavigator">   
        
    <view name="success">/secure/views/navigator/navigator.jsp</view>   
        
    <view name="error">/secure/views/navigator/navigator.jsp</view>   
    </action>   

    表示其對應(yīng)的類是  com.atlassian.jira.web.action.issue.IssueNavigator 反編譯之即可。


    以下說一說一些常用的方法:
    JIRA提供各種 xxxManager 提口來實(shí)現(xiàn)各種操作
    你可以通過 ComponentManager.getInstance().getXxx() 來得到其實(shí)例
    也可以通過 ComponentManager.getComponentInstanceOfType(xxx.class) 來得到,非常方便。

    比如:

    JiraAuthenticationContext authenticationContext = ComponentManager.getInstance().getJiraAuthenticationContext();    
       
    ProjectComponentManager pcm 
    = (ProjectComponentManager)ComponentManager.getComponentInstanceOfType(ProjectComponentManager.class);   

    例子:

    public static User getCurrentUser() {        
        JiraAuthenticationContext authenticationContext 
    = ComponentManager.getInstance().getJiraAuthenticationContext();        
        
    return authenticationContext == null ? null : authenticationContext.getUser();        
    }
            
           
    public static Project getProject(long pid) {        
        
    return ComponentManager.getInstance().getProjectManager().getProjectObj(pid);        
    }
         
       
    public static MutableIssue getIssueById(Long id) {    
        
    try {    
            IssueManager issueManager 
    = ComponentManager.getInstance().getIssueManager();    
            
    return issueManager.getIssueObject(id);    
        }
     catch (Exception e) {    
            
    return null;    
        }
        
    }
        

    把郵件加入JIRA隊(duì)列:


    Email mail = new Email(toaddr);    
        
    MailQueueItem item 
    = new SingleMailQueueItem(mail);    
    ManagerFactory.getMailQueue().addItem(item);    

    另外你可以覆蓋JIRA的Action,比如覆蓋CreateSubTaskIssueDetails
    讓其在創(chuàng)建子任務(wù)時(shí)自動導(dǎo)入父任務(wù)的一些數(shù)據(jù)(如"所屬模塊")。


    <action name="jira.plugin.rstoolkit.webui.action.CreateSubTaskIssueDetails" alias="CreateSubTaskIssueDetails">   
        
    <view name="error">/secure/views/createsubtaskissue-details.jsp</view>   
        
    <view name="input">/secure/views/createsubtaskissue-details.jsp</view>   
        
    <view name="init">/rstoolkit/initsubtaskdetails.jsp</view>   
    </action>   

    實(shí)在不想打字,其它的一些就不一一列舉了。

    posted @ 2007-07-12 09:45 一條老狗 閱讀(6421) | 評論 (4)編輯 收藏

    這是一個用Java Swing寫的日語詞典,主要是為了在Linux下使用。

    Linux下使用: # ./csjpdict.sh
    Windows下: csjpdict.exe  (Windows下推薦你使用原版"隨想日語")

    當(dāng)然前提是你已經(jīng)配置好Java運(yùn)行環(huán)境JRE。

    特別說明: 日語詞庫來源于“隨想日語晶典2004”,版權(quán)歸其原作者所有。



    下載: csjpdict.part1.rar  csjpdict.part2.rar

    posted @ 2007-07-12 09:37 一條老狗 閱讀(1318) | 評論 (1)編輯 收藏

    IPMsg 是一款局域網(wǎng)內(nèi)即時(shí)通信軟件(中文名飛鴿傳書)
    此版本為從日文版2.0.6修改而來。(VC6編譯)


    使用RTF格式解決在日文Windows下發(fā)送接受中文消息問題。
    不過由于使用RTF,所以發(fā)送消息給其它版本的IPMsg時(shí)(比如Linux下的),對方將無法顯示。
    此時(shí)可以把RTF復(fù)選框去掉,不發(fā)送RTF格式。

    注: 你需要在日文Windows上運(yùn)行,不然界面是亂碼。
    (你也可以在中文Windows下用AppLocal切換到日文編碼下運(yùn)行)


     

    下載 IPMsgRS-Setup.rar

    posted @ 2007-07-12 09:28 一條老狗 閱讀(1299) | 評論 (1)編輯 收藏

    主站蜘蛛池模板: 亚洲精品午夜在线观看| 国产福利视精品永久免费| 亚洲看片无码在线视频 | 亚洲啪啪免费视频| 亚洲精品午夜无码电影网| 国产免费啪嗒啪嗒视频看看| 久久99九九国产免费看小说| 免费在线观看一级片| caoporm碰最新免费公开视频| 亚洲精品无码久久久久YW| 亚洲无圣光一区二区| 亚洲成av人在线视| 国产专区一va亚洲v天堂| 日韩毛片免费在线观看| 无码国产精品一区二区免费I6| 99精品一区二区免费视频| 国内永久免费crm系统z在线| 一级做a爱片特黄在线观看免费看| 国产成人高清亚洲一区久久| 亚洲精品国产精品| 亚洲中文字幕久久精品无码VA| 亚洲a∨无码男人的天堂| 亚洲成AV人综合在线观看| 亚洲黄色在线电影| 亚洲高清视频在线播放| 亚洲三级电影网站| 亚洲人成网站影音先锋播放| 无码乱人伦一区二区亚洲| 亚洲国产成人高清在线观看 | 久久av免费天堂小草播放| 一级做a爰黑人又硬又粗免费看51社区国产精品视| 最新亚洲卡一卡二卡三新区| 亚洲一区二区三区四区视频 | 日韩免费无砖专区2020狼| 成人毛片免费网站| 午夜免费福利在线| 国产在线a不卡免费视频| 亚洲AV中文无码乱人伦在线视色 | 国产精品1024在线永久免费 | 亚洲人成网站在线播放vr| 国产精品亚洲A∨天堂不卡|