ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

JAVAアプリで、HTMLを表示して、リンク先をブラウザで開く方法(その1:ソース)

2007-02-04 23:22:58 | JavaとWeb

 唐突ですが(自分へのメモなので)JAVAアプリで、HTMLを表示して、リンク先をブラウザで開く方法について、書きます。ただし、HTMLは、javascriptとか書かれると、対応できません。




■サンプル
こんなかんじです。

http://www.e-gov.go.jp/doc/scheme.htmlを開いています。
リンク先をクリックすると、ブラウザを開いて、表示します。
また、スクロールもできます。
終了ボタンで終わります。



■ソース
 2つの部分に分かれます。1つは、画面起動部分(Testクラス)で、こんなかんじ。
/**
 * 起動プログラム
 */
public class Test {

	public static void main(String[] args) {
		Gamen1	g	=	new Gamen1();
		g.initDisp();
	}
}


 もうひとつが、実際の画面部分(Gamen1クラス)です。
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;

/**
 * 表示画面
 */
public class Gamen1 {
	JFrame		ff;
	Container 	f;
	JButton		b1;
	JEditorPane t1;

	/*
	 * 	ブラウザのパス
	 */
	String Path = "C:¥¥Program Files¥¥Internet Explorer¥¥iexplore.exe";

	/*
	 * 	表示するURL
	 */
	String ShowURL="http://www.e-gov.go.jp/doc/scheme.html";

	/*
	 * 	表示
	 */
	public void initDisp()
	{
		
		//	フレームを作成する
		ff	=new JFrame("テスト");
		f = ff.getContentPane();
		ff.setSize(540,460);
		f.setLayout(null);
		
		//	アクションを作成する
		Gamen1_HandleEvent ge = new Gamen1_HandleEvent();

		//	ボタン作成		
		b1 = new JButton("終了");
		b1.setLocation(10,10);
		b1.setSize(90,30);
		b1.addActionListener(ge);
		f.add(b1);
		//	テキスト
		try
		{
			t1 = new JEditorPane(ShowURL);
			//	アンカーに飛ぶようにする
			t1.setEditable(false);
			t1.addHyperlinkListener(ge);

			//	スクロールをつける
			JScrollPane sc1 = new JScrollPane(t1);
			sc1.setLocation(10,50);
			sc1.setSize(520,400);
			f.add(sc1);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
			
		//	表示
		ff.setVisible(true);
	}

	/*
	 * 	イベントリスナー
	 */
	private class Gamen1_HandleEvent implements ActionListener,HyperlinkListener
	{
		/*
		 * 	ボタンが押されたときの処理
		 */
		public void actionPerformed(ActionEvent e)
		{

			Object o = e.getSource();

			if ( o.equals(b1)== true)
			{	//	終了
				ff.dispose();
			}
		}
		/*
		 * 	リンクがクリックされたときの処理
		 */
		public void hyperlinkUpdate(HyperlinkEvent e)
		{
			if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
 	                  {
		            try
			   {
        			      //ブラウザを起動し、必要な URL を渡す
            		      Runtime.getRuntime().exec(new String[ ] { Path,e.getURL().toString()});
        		             }
        		             catch (Exception ex)
        		             {
        			      ex.printStackTrace();
        		             }
			}
		}
	}
}

(上記< > ¥は本当は半角)

 詳しい内容については、長くなりそうなので、別の機会に書きます。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

マイクロソフトと惑星アイドルのコラボとはゴールデンメッセ劇場のことでした

2007-02-04 21:45:26 | Weblog

 前に黄金の舌という番組で、その番組に出ている惑星アイドルと、マイクロソフトが、コラボするっていう話、結局、結論がわかったので、かいておきます。

1.マイクロソフトLiveメッセンジャーの宣伝?サイト
  ゴールデンメッセ劇場 http://goldenmesse.jp/
 に、第三惑星アイドルのコーナーができる
 (1段目の右端、2月上旬公開予定になっている)

2.アイドルニュースによると(以下斜体はそのアイドルニュースから引用)


New□ ルドイア☆星惑三第×WindowsLiveMessenger コラボレート企画
セッメブイラ@ルドイア☆星惑三第~生メッセする?~
惑星アイドルと生メッセ(注:チャット)ができるイベントが実現!大変です。

ルドイア☆星惑三第×Windows Live Messenger
コラボレート企画「セッメブイラ@ルドイア☆星惑三第~生メッセする?~」勝手に開催決定。応募受付期間に、汐留日テレタワー日テレ屋にてアイドルグッズを購入の方に応募チラシを配布します。
★応募受付期間:2月4日(日)~12日(月)
★イベント開催期間:2月13日(火)20時~21時
詳細は応募チラシをご覧ください。
当確発表告知は2月13日(火)に、ゴールデンメッセ劇場にて発表いたします。

------------------------------------------------------------

New□2月5日(月)汐留日テレ屋にてアイドルイベント開催決定!
アイドルグッズ購入者には、アイドル本人が直接応募券をお渡しします!
★開催場所:日テレ屋(汐留日テレタワーB1F) ※汐留へのアクセス
★開催日時:2月5日(月) 16時~


ってなことらしい。(2についてはテレビでもいっていた)
うーん、地味なコラボだ(^^;)

って、それはさておき、その「ゴールデンメッセ劇場」って、なんなんだろう
とおもったら、こんなニュースを発見
Windows Liveメッセは一味違う!? 「ゴールデンメッセ劇場」
http://headlines.yahoo.co.jp/hl?a=20070126-00000001-rbb-ent

それによると(以下斜体は上記ニュースより引用)

マイクロソフトでは、Windows Liveメッセンジャーを使ったコミュニケーションの楽しさを伝えるために、エンターテイメントキャンペーン「ゴールデンメッセ劇場」を開始した。


ほー、そんなのがいつのまにか、あったのですね。




「ルドイア★星惑三第」にピンと来るような人は、ぜひすべてのムービーをチェックしよう。


。。全部チェックしなきゃ(^^;)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ウィキペディアの内容をXHTMLで表示するWebサービス

2007-02-04 18:58:59 | Weblog

Sunが、Mash up Mash up Award 2ndっていうマッシュアップのコンテストをまたやっているみたいなんだけど、そこで公開している、イースト株式会社の辞書Webサービスが、いい!
 日本語Wikipediaの内容が、XML形式で受け取れるのだ!

詳細は、こちら http://www.btonic.com/ws/index.html
なんだけど、今回はREST版
辞書検索サービス(REST版)
http://www.btonic.com/ws/index.html

をつかってみましょう。



■辞書検索サービスの使い方

では、実際にJAVAっていうことばをしらめてみるとする。
2アクションになります。
1.「検索メソッド」でJAVAという言葉を検索します
2.そのなかで見たいやつのIDを「内容取得メソッド」にセットして、結果を受け取ります

以下、具体的な方法です




■1.「検索メソッド」でJAVAという言葉を検索します

検索のURLは、こんなかんじ
http://btonic.est.co.jp/NetDic/NetDicV09.asmx/SearchDicItemLite?Dic=辞書名&Word=検索単語&Scope=HEADWORD&Match=STARTWITH&Merge=AND&Prof=XHTML&PageSize=20&PageIndex=0
ってことで、ここで辞書はwpedia(ウィキペディア)、
検索単語はJAVAを入れます(ちなみに、日本語の時にはUTF-8を16進にして、2桁ごとに%を入れるかんじにするみたいよ)。

なので、JAVAをウィキペディアで見る場合は
http://btonic.est.co.jp/NetDic/NetDicV09.asmx/SearchDicItemLite?Dic=wpedia&Word=JAVA&Scope=HEADWORD&Match=STARTWITH&Merge=AND&Prof=XHTML&PageSize=20&PageIndex=0
っていうかんじになる。

そうすると、こんな感じで出てくる

<?xml version="1.0" encoding="utf-8" ?>
<SearchDicItemResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://btonic.est.co.jp/NetDic/NetDicV09">
<ErrorMessage />
<TotalHitCount>34</TotalHitCount>
<ItemCount>20</ItemCount>
<TitleList>
<DicItemTitle>
<ItemID>1279</ItemID>
<LocID />
<Title>
<span class="NetDicTitle" xmlns="">Java言語</span>
</Title>
</DicItemTitle>
<DicItemTitle>
<ItemID>1576</ItemID>
<LocID />
<Title>
<span class="NetDicTitle" xmlns="">JAVA言語</span>
</Title>
</DicItemTitle>
<DicItemTitle>
<ItemID>1648</ItemID>
<LocID />
<Title>
<span class="NetDicTitle" xmlns="">Javaアプレット</span>
</Title>
</DicItemTitle>

(上記<>は、本当は半角、このあとにも続くけど、以下省略)

で、Java言語をみると、ItemIDが1279って書いてあるので、その1279で、今度は内容検索することになる。




■2.そのなかで見たいやつのIDを「内容取得メソッド」にセットして、結果を受け取ります


http://btonic.est.co.jp/NetDic/NetDicV09.asmx/GetDicItemLite?Dic=辞書&Item=ItemID&Loc=&Prof=XHTML

なので、辞書にwpedia(ウィキペディア)、ItemIDに上記の1279を入れればみれます。

具体的には

http://btonic.est.co.jp/NetDic/NetDicV09.asmx/GetDicItemLite?Dic=wpedia&Item=1279&Loc=&Prof=XHTML


そーすると、いろいろ書いてあるのが、XHTMLの形式で取得できる。




おお、ただ、これは、マッシュアップアワード用なので、一般に今後も使えるのかどうかは不明(でも、この会社、商用で同じインターフェースで出しているみたい。)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World程度のデータベース(その5:概念スキーマ(3)正規化) 。

2007-02-04 13:36:17 | Weblog

 情報処理とは何から、データベースの基本的な話(情報処理試験のデータベーススペシャリスト程度の話まで)を書く、土日のシリーズ「Hello World程度のデータベース」です。

 前回は、第4回ということで、「エンティティ」についてでした。

 データは、
   あるモノや事柄(出来事)、概念に関して、
   ある側面からみた結果を、
     数値、記号(文字による文章や画像なども含む)であらわしたもの
 とし、この「あるモノや事柄(出来事)、概念」がエンティティとしました。

 ところで、DBでは、データは1箇所にまとめないといけないのですが、実際には、同じデータは、いろんなところで使われているので、エンティティごとに1箇所にまとめないといけない、その作業をするのが正規化で、これから、それについて書きますということでした。

 で、今日は正規化についてです。



■正規化の方法

 このように、データを1箇所にだけ現れるようにする手法が正規化で、正規化のレベルとして、第一正規形から第五正規形まであります。
 が、ふつう、正規化の目的は、DBを作って矛盾なくすることですので、(このレベルの正規化のことをボイスコッド正規形(BCNF)といいます)そこまででいいとすると、第三正規形までになります。

で、そのやり方なのですが、以下のようになります。
第一正規形:繰り返しをなくす
第二正規形:エンティティごとにまとめ、主キーを決め、
   主キーが変わると、他の属性地の値がきまるようにする
    →これを主キーに対して完全関数従属といいます
第三正規形:主キー以外で、ある値が決まると、他の値が決まってしまうところがあれば
   そいつを分離する
    →これによってできる状態を推移的関数従属性がないといいます。

ちなみに、
第四正規形:多値従属性がない状態にする
第五正規形:結合従属性が満足されている
       →分解したテーブルが、結合して元に戻る(情報が欠落しない)までに
        分解されている


 なので、実際の作業としては、上記の第一正規形から、第三正規形までを行います。




■で、なぜいきなり繰り返し。。。

 ということなのですが、ここで。。。
 うん?今までの話の流れからして、第二正規形はわかるんだけど、第一正規形、繰り返しをなくすって、なに??っていうことになってしまうと思います。

 で、このシリーズの次回は、この繰り返しの問題について触れたあとで、第一正規形について説明します。





  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする