2012年6月14日 星期四

2012年5月29日 星期二

用NetBeans開JavaFX新專案

1.開啟NetBeans IDE

2.依序點選File → New Project

3.點選JavaFX → JavaFX Application → Next

4.輸入專案名稱:HelloProject

5.在專案名稱(HelloProject)上按下滑鼠右鍵 → 選Properties

6.在專案屬性視窗中點選Sources,確認Source/Binary Format為JDK7

7.一樣在專案屬性視窗中點選Libraries → Manage Platforms

8.在Java Platform Manager視窗中確認Default JavaFX Platform項目中有JavaFX頁籤,及JavaFX SDK Home、Runtime、JavaDoc皆有設定

9.按下ok

10.接著要開始執行HelloProject專案,依序點選Run → Run Main Project

11.執行成功後會出現一個Hello World!的視窗

12.按下Say 'Hello World'後,在NetBeans的Task頁籤視窗中便會出現Hello World!字串(按一下出現一次)

設定JavaFX 2.1的CLASSPATH

如果需要在命令提示字元(command-line)下compile及run JavaFX的程式 就需先設定CLASSPATH,讓compiler知道JavaFX的runtime library的正確位置。

set JAVAFX_HOME=C:\Program Files\Oracle\JavaFX 2.1 SDK

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04

set CLASSPATH=%JAVAFX_HOME%\rt\lib\jfxrt.jar

JavaFX預設的home directory(CLASSPATH)

C:\Program Files\Oracle\JavaFX 2.1 SDK

(JavaFX 2.1 SDK's home directory)

2012年5月8日 星期二

將FreeTTS聲音存成wav檔


package tw.feisty.server.test;


import java.text.SimpleDateFormat;
import java.util.Date;

import com.sun.speech.freetts.Voice;
import com.sun.speech.freetts.VoiceManager;
import com.sun.speech.freetts.audio.SingleFileAudioPlayer;

public class TextToSpeech {

public static void convertTextToSpeech(Voice voice, String message) {

boolean status = true;

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmssSS");

String dateString = sdf.format(date);

//System.out.println(dateString);

//text為傳入的字串
String text = new String(message);

System.setProperty("com.sun.speech.freetts.voice.defaultAudioPlayer", "com.sun.speech.freetts.audio.SingleFileAudioPlayer");

byte[] fbytes = text.getBytes();

if(fbytes == null) {

System.out.println("no bytes");

//直接中斷程式
System.exit(1);
}

SingleFileAudioPlayer audioFile;
try {

//文字發聲起動
voice.speak(message);

audioFile = (SingleFileAudioPlayer) voice.getDefaultAudioPlayer();
System.out.println("產生" + text + "的發音檔");
audioFile.write(fbytes);
}
catch(Exception e) {

System.out.println(text + "轉檔失敗");
e.printStackTrace();

status = false;
}

voice.deallocate();

if(status == true) {
try {

System.out.println("檔案複製開始");
String copyCommand = "copy .\\freetts.wav .\\wave\\" + dateString + ".wav";
Runtime.getRuntime().exec("cmd.exe /c" + copyCommand);
System.out.println("檔案複製完成");
}
catch(Exception e) {

e.printStackTrace();

status = false;
}
}

System.out.println("status: " + status);
}

public static void main(String[] argv) {

String message = "i get up at six o'clock. i rub my eyes. i stretch out.";

VoiceManager vm = VoiceManager.getInstance();

Voice voice = vm.getVoice("kevin16");
if(voice != null) {

voice.allocate();
convertTextToSpeech(voice, message);
}
else {

//無法取得發聲引擎
System.out.println("voice is null");
}


}
}

使用FreeTTS時出現「System property "mbrola.base" is undefined. Will not use MBROLA voices.」


1.如下圖:
2.請刪除「mbrola.jar」

FreeTTS(語音合成引擎)所需jar檔

Struts2(Version 2.3.3)必備lib檔

2012年5月7日 星期一

ExtJS menu顯示二種

1.將menu直接顯示在元素上 menu.show(this);
2.顯示在滑鼠所在的x,y上 menu.showAt(e.getXY());

ExtJS將Element事件傳入click事件

ExtJS對某一個class綁定事件

Ext.select(".spellChecker").on("click", function () { alert("hi"); });

2012年4月27日 星期五

google瀏覽器,安裝檔

https://www.google.com/chrome/eula.html?standalone=1

2012年4月24日 星期二

javascript 取代換行為

tempString = tempString.replace(/\n/g, "
");

2012年4月23日 星期一

2012年4月18日 星期三

讓hibernate將java string轉成mysql longtext資料型態




1.在xxx.hbm.xml中加入type="text"即可

2012年4月16日 星期一

某國立大學徵教師的資格

1.開出這種條件的用意是?



那是不是要請該系所的碩博士班也停止招生(讀了沒用)?

跟一般企業一樣,
明明內部培養出來的人才對公司最符合使用需求,
卻一味地向外高薪禮聘不見得對公司有所幫助的人才,
否定自我價值。

2012年4月10日 星期二

windows server 2008 r2 自動遠端桌面連線到 localhost




1.開啟「命令提示字元」視窗,並輸入「cmdkey /generic:localhost /user:sql /pass:syssysysys」,其中sql是帳號,syssysysys是密碼


2.再輸入「mstsc /v:localhost」


3.自動遠端桌面連線開始作用中


4.遠端桌面連線結果畫面,過程不用輸入帳號及密碼


5.在工作管理員中我們可以看到此帳號(帳號名為sql)的識別碼為2


6.在命令提示字元中,可以使用「tsdiscon 2 /server:localhost /v」指令中斷此遠端桌面連線


7.執行完上述指今後,我們可以看到「遠端桌面工作階段已經結束」畫面


8.在工作管理員中,可以看到此帳號的狀態為「已中斷」


9.將以下內容存成startup.bat並放到windows啟動資料表中,讓windows開機後自動執行


10.結果如下

windows server 2008 r2 開機後自動登入




1.請依次點選「開始」→「執行」,並輸入「netplwiz」然後按下「確定」


2.接著出現的使用者帳戶視窗中,可看到預設的「必須輸入使用者名稱和密碼,才能使用這台電腦(E)」是勾選的


3.不要勾選「必須輸入使用者名稱和密碼,才能使用這台電腦(E)」然後按下確定


4.在自動登入視窗中輸入帳號及密碼後按下確定


5.重新開機後,windows server 2008 r2就會以剛輸入的帳號及密碼自動登入


6.在工作管理員中我們可以看到登入帳號的識別碼為1

2012年4月9日 星期一

Windows server 2008展開工作列上所有圖示




01.在windows server 2008的工作列上的圖示,空間考量預設為隱藏一些圖示


02.可按下箭頭後選擇自訂


03.在「通知區域圖示」視窗中的「永遠在工作列上顯示所有圖示和通知」項目中打勾,並按下確定


04.工作列上的圖示就全部展開了


05.若想改回來原設定,請在時間上按下右鍵,然後選「自訂通知圖示」


06.「通知區域圖示」視窗就會再次出現了,不勾選「永遠在工作列上顯示所有圖示和通知」即可改回原設定

IE9無法下載檔案




01.安裝完ie9後,想下載一些軟體


02.卻發現無法下載檔案


03.請到:工具→網際網路選項


04.選「進階」,看到安全性中的第一個「不要將加密的網頁存到磁碟」,預設被打勾了


05.為了下載檔案,不要勾選他,然後按下確定


06.再下載檔案即可

2012年3月29日 星期四

Ricoh 2238c 網路印表機很慢問題




在使用會計系統或word列印文件時,
常常需要等很久,
整個電腦停在那裡無法作任何事,
經過逐一檢視印表機設定項目後,
發現印表機所安裝的驅動程式與現有型號不同



更正後已可正常印列且無任何delay現象發生


另外,
建議取消windows xp中的自動搜尋網路資料夾和印表機