忍者ブログ
  • 2024.03
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 2024.05
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/04/26 18:09 】 |
Swingまとめ
http://www.javadrive.jp/tutorial/ini/index2.html

Swingを使ったプログラムでは、ウィンドウが必要。
土台となるウィンドウとしては、JFrame、JDialog、JAppletの3種類がある。

JContainer(他のコンポーネントを含むことができるコンポーネント)
+-- JFrame
+-- JDialog
+-- JApplet
この3つを特に「トップレベルコンテナ」と呼ぶ。

コンテナに追加するにはAddメソッドを使う


public class XXX extends JApplet{
public void init() {
JPanel panel = new JPanel();
this.add(panel);

JButton button = new Button("push me");
panel.add(button);
}
}

これで、土台のアプレットにパネルを配置し、パネル上にボタンを配置することができる。

配置の際は、レイアウトマネージャを使うことで、「コンポーネントを横に並べていく」「縦に並べていく」などの指定ができる。
とりあえず不要な時は、

setLayout(null);

としておく。
しておかないとむしろおかしくなる。

レイアウトを使うと簡単にコンポーネントを並べることができ、ピクセル指定をしなくて済むので積極的に使っていきたい。
以下のページに詳しい説明がある。
http://www.javadrive.jp/tutorial/

PR
【2012/01/16 23:15 】 | Java | 有り難いご意見(0) | トラックバック()
twitter機能をJavaで作る(続)
前回の記事はここ
twitterAPIを使うには(途中)


◎前回の流れ

twitterAPIの公式ページ
http://dev.twitter.com/doc

日本語で参考になるWikiのページ
http://usy.jp/twitter/index.php?Twitter%20API#y369b038


認証をしないで使うことのできるAPIを使った
String requestUrl = "http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=myname";
URL accessURL = new URL(requestUrl);
URLConnection con = accessURL.openConnection();


で、次にOAuth認証をしようとして頓挫。

これが前回までの経緯。


その辺を突破して、つぶやき投稿するところまでできたのでここに記す。

【2011/07/08 01:43 】 | Java | 有り難いご意見(0) | トラックバック()
イメージをバイト列に変換してまた戻す
Imageをネットワークを通して転送したい。
BufferedImageか、Imageか、IconImageか、どれでも良いんだけど、
転送するときはbyte[]型で転送するから、どれかのオブジェクトをbyte[]に変換できるメソッドがあったら良かったんだけど、どれもできないみたい
(イメージの生データくらい、getData()とかgetBytes()みたいなので取れれば良いのに・・・)

【2011/06/13 02:36 】 | Java | 有り難いご意見(0) | トラックバック()
Javaでスクリーンショットを撮る方法
screenshotをJava Appletで撮影したい。

先に結論を言っちゃうと、AWTのRobotクラスというのを使うのが楽。



【2011/06/12 23:26 】 | Java | 有り難いご意見(0) | トラックバック()
Swingスライダー追加
スライダーを追加する方法。


import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

class MyClass implements ChangeListener{
JSlider slider;

public void init(){
slider = new Slider(SwingConstants.HORIZONTAL, 1, 20, 3); //orientation, min, max, defaultValue
slider.addChangeListener(this);
}

@Override
public void stateChanged(ChangeEvent e){
if (e.getSource() == slider){
//....
}
}
};



簡単だね!

【2011/05/24 01:14 】 | Java | 有り難いご意見(0) | トラックバック()
swingでお絵描きソフトを作る
参考ページ
http://d.hatena.ne.jp/pyridoxin/20071231/1199065420


実際に保存する内容は、これになるらしい
private BufferedImage canvas;


マウスの動きに応じて線描
マウスイベントを受け取るには


import java.awt.event.MouseEvent;
import javax.swing.event.MouseInputListener;


class *** extends JPanel implements MouseMotionListener{ //リスナー実装

//リスナー登録
***(){
addMouseMotionListener(this);
addMouseListener(this);
}

//イベントのオーバーライド
@Override
public void mouseEntered(MouseEvent e) {} //範囲にマウスが入った
public void mouseExited(MouseEvent e) {} //範囲からマウスが出た
public void mouseMoved(MouseEvent e) {} //範囲内でマウスが動いた
public void mouseDragged(MouseEvent e){} //範囲内で、クリックしたままマウスが動いた
public void mousePressed(MouseEvent e) {} //マウスボタンを押した瞬間
public void mouseReleased(MouseEvent e) {} //マウスボタンを離した瞬間
public void mouseClicked(MouseEvent e) {} //マウスボタンをクリックした瞬間

}

【2011/05/21 14:13 】 | Java | 有り難いご意見(0) | トラックバック()
JavaでHTTPリクエストの方法
単純にリクエストするだけなら、
URLConnection
を使うのがらくちん。

//リクエストURL作成
String requestUrl = "http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=myname";
URL accessURL = new URL(requestUrl);

//接続
URLConnection con = accessURL.openConnection();

で、openConnectionから戻ってきたときは、すでにサーバからの返答がconに入っている。
con.getInputStreamをhtmlないしXMLで解釈すればよい。
openConnectionというメソッドを使っているが、closeConnectionというメソッドがあるわけではない。


basic認証とかするなら、
URLHttpConnection
を使う。

//URL,その他セット
URL url = new URL("http://www.debian.org/");
HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();
urlconn.setRequestMethod("GET");
urlconn.setInstanceFollowRedirects(false);
urlconn.setRequestProperty("Accept-Language", "ja;q=0.7,en;q=0.3");

//接続
Urlconn.connect();

//接続解除
urlconn.disconnect();

ちなみに、中身を表示するなら
connectとdisconnectの間で

Map headers = urlconn.getHeaderFields();
Iterator it = headers.keySet().iterator();
System.out.println("レスポンスヘッダ:");
while (it.hasNext()){
String key= (String)it.next();
System.out.println(" " + key + ": " + headers.get(key));
}

System.out.println("レスポンスコード[" + urlconn.getResponseCode() + "] " +
"レスポンスメッセージ[" + urlconn.getResponseMessage() + "]");
System.out.println("\n---- ボディ ----");

BufferedReader reader =
new BufferedReader(new InputStreamReader(urlconn.getInputStream()));

while (true){
String line = reader.readLine();
if ( line == null ){
break;
}
System.out.println(line);
}

reader.close();

とする。

参考ページ
http://x68000.q-e-d.net/~68user/net/java-http-url-connection-2.html




【2011/05/15 17:23 】 | Java | 有り難いご意見(0) | トラックバック()
JavaでWebAPIを使う
JavaでWebAPIを使う方法について。


「java webapi」みたいな検索で、最初に見つけたページがこれ
http://www.my-notebook.net/memo/yahoo-webapi-using-java.html

おおまかな流れは、
StringクラスのWebAPIのリクエストURLから、URLクラスのインスタンスを作り、
リクエストした結果をDocumentクラスに格納する
ということらしい。

このDocumentクラスというのは、XMLまたはHTMLドキュメントを表すクラス。
http://java.sun.com/javase/ja/6/docs/ja/api/org/w3c/dom/Document.html

SAXBuilder().buildというのが、入力ストリームから受け取ったバイト列をXMLドキュメントに変換するメソッド。
http://www.jdom.org/docs/apidocs/org/jdom/input/SAXBuilder.html#build(java.io.InputStream)

【2011/04/30 01:13 】 | Java | 有り難いご意見(0) | トラックバック()
arraycopy
byte[]型変数を繋げたいと思った。


static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) ;

src - ソース配列
srcPos - ソース配列の開始位置
dest - 転送先配列
destPos - 転送先データ内の開始位置
length - コピーされる配列要素の数


を使う。



void myCopy(byte[] src){
byte[] dst = new byte[64];
System.arraycopy(src, 0, dst, 0, Math.min(src.length(), 64));
}


転送元と転送先はちがう型でもいいらしい。(変換できる型である必要はある)

参考HPの記述を見ると、
一時配列を使っているので、srcとdstが重なっていても大丈夫そうだ。

参考

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/System.html



【2011/04/20 03:40 】 | Java | 有り難いご意見(0) | トラックバック()
Swing ファイルチューザ
ファイルチューザの使い方。

これのこと。
filechooser

【2011/04/20 03:02 】 | Java | 有り難いご意見(0) | トラックバック()
| ホーム | 次ページ>>