Time of Update: 2018-12-05
Java提供了兩類主要的異常:runtime exception和checked exception。checked 異常也就是我們經常遇到的IO異常,以及SQL異常都是這種異常。對於這種異常,JAVA編譯器強制要求我們必需對出現的這些異常進行catch。所以,面對這種異常不管我們是否願意,只能自己去寫一大堆catch塊去處理可能的異常。 但是另外一種異常:runtime
Time of Update: 2018-12-05
方法有很多,但是我選了一個比較方便的方法:使用工具名稱:jd2chm.exe使用方法非常簡單明了:1.看到Enter the Javadoc directory path:提示,只需要輸入要轉換的javadoc的目錄即可;2.Enter the project name (the CHM file name):提示,輸入得到的chm的檔案名稱;3.Enter the project title (the CHM window title):提示,輸入chm的標題;4.Lanuage=0x804
Time of Update: 2018-12-05
java.lang.reflect包Constructor、Field、Method的父類是AccessibleObject;說明:反射主要用於開發架構,即製作架構;一、獲得Class對象Class<?> c = Class.forName("classname"); 拋出ClassNotFoundException二、獲得實現介面Class<?> inters[] = c.getInterfaces();for(int i=0;i<inters.length;
Time of Update: 2018-12-05
一、核心的運算式因為需要動態顯示小時的指標、分鐘的指標、秒的指標的位置,所以確認三個指標的角度非常重要; X:三個指標相交的原點的X座標;Y:三個指標相交的原點的Y座標;HOUR_LENGTH、MINUTE_LENGTH、SECOND_LENGTH表示時針、分針、秒針的長度;hour、minute、second表示現在是幾時、幾分、幾秒; hourLine.x2 = X+HOUR_LENGTH*Math.cos(hour*(Math.PI/6)-Math.PI/2);hourLine.y2 =
Time of Update: 2018-12-05
國內Java論壇:www.chinajavaworld.com-論壇人很多,高手也多,不過好像都在潛水www.cn-java.com-也很不錯,文章很好,但是就是商業性濃了點。www.chinaitlab.com-非常有系統性,而且推出的java遠程教育是中國最全面的scjp遠程教育。www.huihoo.com-灰狐動力,有個jfox,而且很多關於企業級應用的東西www.matrix.org.cn-Matrix技術,不少java文章和資源,論壇牛人多,人氣略差。www.javastudy.or
Time of Update: 2018-12-05
public class TestEnum { /*最普通的枚舉*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚舉也可以象一般的類一樣添加方法和屬性,你可以為它添加靜態和非靜態屬性或方法,這一切都象你在一般的類中做的那樣. */ public enum Season { // 枚舉列表必須寫在最前面,否則編譯出錯 winter, spring,
Time of Update: 2018-12-05
偶爾,我們可以給使用者添加一些快速鍵,不管現在焦點在哪裡。有個做法就是,任何組建上註冊你的監聽器,但顯然,這不是一個好做法java的toolkit可以直接添加一個監聽器,一下就是樣本Toolkit toolkit = Toolkit.getDefaultToolkit();toolkit.addAWTEventListener(capListener, AWTEvent.KEY_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK|
Time of Update: 2018-12-05
前序: 在一個項目中為了使用方便,我們需要完成這樣一個功能,既是按一下滑鼠一個swing按鈕時,彈出A對話方塊,雙擊同一個按鈕時彈出B對話方塊。第一個實現: 首先想到的是:MouseEvent.getClickCount()==1 或是 ==2來區分,開始想的易如反掌,只有到開始測試時才發現,這樣根本就不會有效果。在單擊時,一切正常,A對話方塊如願的顯示了。可是在雙擊時,B對話方塊顯示了,同時A對話方塊也厚顏無恥的出現了,我們並沒有邀請他啊。:)不該來的也來了。凝思中:
Time of Update: 2018-12-05
繪製簡單映像 // draw Line2D.Doubleg2.draw(new Line2D.Double(x, y+rectHeight-1, x + rectWidth, y));// draw Rectangle2D.Doubleg2.setStroke(stroke);g2.draw(new Rectangle2D.Double(x, y, rectWidth,
Time of Update: 2018-12-05
1、實用技巧Web篇(4)的Java實現 public static int getBytesLength(String s, String encode) { if (s == null) { return 0; } byte[] bytes; if (encode == null) { bytes = s.getBytes(); } else {
Time of Update: 2018-12-05
不 為了將很多component放到一個帶捲軸的視窗裡,折騰了一天,有點無聊,不過動手能力但願應該也在處理這種繁瑣的細節問題中增強了:) ScrollPane中只能放入一個組件,它的setLayout()方法也是虛設,一用就出錯。如果要讓很多組件(component)放到帶捲軸視窗中就只能將這些組件先放到一個Panel中,再把Panel嵌入ScrollPane,這裡又有一個問題,如果Panel的Layout設為null那麼捲軸將不會有用。我就是因為panel.setLayout(
Time of Update: 2018-12-05
文章目錄 ContextProblemForcesSolutionConsequences from http://java.sun.com/blueprints/patterns/MVC-detailed.htmlJava BluePrintsModel-View-ControllerContextApplication presents content to users in numerous pages containing
Time of Update: 2018-12-05
JAVA由於採用unicode編碼,因此i18n(即internation,國際化)比較方便。下面實現一個能根據作業系統的預設地區選擇顯示字元的button,來說明java怎樣方便地實現本地化。 基本思路是將button上要顯示的字元與一個本地化資訊的專用資源包聯絡起來。資源套件的建立使用java.util.ResourceBundle類。資源套件一般利用靜態getBundle()方法得到。getBundle()方法的函式宣告如下: public
Time of Update: 2018-12-05
API對設計流程的影響 Seibel:你設計軟體的流程是什麼樣的?開啟Emacs就開始寫代碼,然後改來改去直到程式寫好?還是坐到沙發上拿著一打紙先列個提綱? Bloch:很多年前,我在OOPSLA(譯者註:物件導向編程、系統、語言和應用國際研討會。)上作了一個演講,題目是“如何設計一個好的API,以及這為什麼很重要”。網上可以找到這個演講的幾個版本。它很好地解釋了我的設計流程。 最重要的是瞭解你到底要設計什麼,也就是你要解決的是什麼問題。需求分析的重要性怎麼強調也不過分。有人認為:“噢,需
Time of Update: 2018-12-05
一、Javadoc介紹Javadoc其實平常我們都會見到,JAVASE的API文檔就是一個javadoc,很明顯,Javadoc的目的是為了能夠讓外部客戶理解我們的代碼並使用我們對外的介面。記住:編寫Javadoc的時候只需要對外的介面即可,不需要內部的介面也編寫Javadoc注釋;二、Javadoc注釋一般我們的注釋形式是:(1) //(2) /* */而Javadoc注釋的形式是:/** * * @return */注意:必須以/**開頭;三、Eclipse產生Javadoc文檔1
Time of Update: 2018-12-05
我們可以使用EditPlus把javac和Java命令整合進來,從而直接在EditPlus編輯器中編譯運行java程式。步驟如下: 1. 單擊EditPlus主菜單的“工具”,單擊“工具”菜單中的“配置使用者工具”項目; 2. 單擊對話方塊中“群組名稱”來設定工具組的名稱,例如輸入“編譯和運行Java”,單擊確定; 3. 選擇對話方塊中的“添加工具”按鈕,並選擇“添加工具”按鈕,然後 選擇“程式”選項,並按照輸入相關參數; 4.
Time of Update: 2018-12-05
C++是否為內嵌函式由自己決定,Java由編譯器決定。Java不支援直接聲明為內嵌函式的,如果想讓他內聯,則是由編譯器說了算,你只能夠向編譯器提出請求。final除了不能被override外,還可能實現內聯。如果函數為private,則也可能是內聯的。總的來說,一般的函數都不會被當做內嵌函式,只有聲明了final後,編譯器才會考慮是不是要把你的函數變成內嵌函式。
Time of Update: 2018-12-05
接Java反射研究(1)九、調用特定方法Method m = c1.getMethod("funcname",Class<?>...c); //funcname表示調用方法的名稱,c表示參數的Class對象例如:Method m = c1.getMethod("fun",String.class,int.class); 表示調用fun(String,int);函數Object obj = m.invoke(c1.newInstance(),"xiazdong",20);
Time of Update: 2018-12-05
對於初學者來說,常遇到的一個問題就是添加包語句後源檔案不能編譯成功;一般來說有兩種處理此種情況的方法,;這裡我們假定package org.xiazdong;Hello.javapackage org.xiazdong;public class Hello{public static void main(String args[]){System.out.println("Hello
Time of Update: 2018-12-05
編譯java工程出現錯誤:Java compiler level does not match the version of the installed Java project facet是版本不一致的問題,查看java path沒有問題,一樣的jre。不解。Google 搜尋問題一:問:項目表徵圖報錯,Problems 試圖有一條錯誤顯示“Java compiler level does not match the version of the installed Java