[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 08/21 19:06 / Filesize : 235 KB / Number-of Response : 960
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★★Java質問・相談スレッド133★★



1 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 01:02:31 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド133★★
ttp://pc12.2ch.net/test/read.cgi/tech/1251630161/
次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/

858 名前:デフォルトの名無しさん [2009/11/18(水) 01:27:56 ]
識別子に表情以上の物を求めるのが素人
識別子に_だけでプログラムするのが変態
識別子にg,o,t,oしか使わないでコーディングするのも変態

859 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:58:04 ]
識別子に$とか付けるのは宗教

860 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:35:54 ]
>>845が「新規でHibernateはありえない」って言ってるけど、なんで?
JPAやiBatisと比べてどの辺がありえないの?

861 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:47:43 ]
標準技術じゃないわりに複雑だからだろ。
JPAとの対比で語ってるからNativeAPIやらHQLでの話なんだろうけど。

862 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:50:27 ]
>>848
Javaとか初心者とか言って質問する前に、変数と関数というプログラムの基礎概念を勉強してこい

863 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:25:58 ]
JWebPaneっていつから使えるようになるんだろう

864 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:50:16 ]
JPAは当然ながらORM標準であることが利点。
ORMの業務適用要件は2.0の悲観的ロックサポートで満たしたと言ってよい。

iBatisはSQLをガリガリかけて、かつマッピングも楽ちんだから、
Java屋ではない外様がORMのメリットをすぐに享受できるところが良い。

本格的なORMは真の習得に三ヶ月かかると言われてるから、
標準 or 即効性の保守要件にHibernateは引っかからない。

865 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 01:41:20 ]
JSFを勉強し始めて半年ぐらいの若造です。
■.jspの記述

<h:dataTable var="list" value="#{bean.dataModel}">
<h:column>
<h:inputText value="#{list.text}"/>
</h:column>
 ・・・
</h:dataTable>

みたいなテーブルを表示して入力部を設け、ボタンを押したら値をテーブルの型式で取得したいのです。
bean.dataModelはListDataModelを返します。

beanのスコープはrequestです。
どのように値を取得するのが賢いのか教えて下さい。



866 名前:デフォルトの名無しさん [2009/11/19(木) 09:59:11 ]
JAXBでのバインディングって、setとget以外のメソッドが混ざっている
JavaBeans形式以外のオブジェクトでは出来ないのでしょうか?




867 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 12:36:47 ]
getter と聞くと、手がドリルの青い合体ロボットを想像してしまう僕は異常でしょうか?

868 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 16:24:49 ]
配列([])の中身を調べる文字知りませんか?

例えばstring[1]だとしたら1と読み取ってくれるやつです

869 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 16:26:27 ]
ねぇよ

870 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 18:12:31 ]
文字ってなんだよ

>string[1]だとしたら1
も曖昧で分からん。

871 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 18:59:39 ]
>>866
@XmlTransientでOK

@XmlAccessorType(XmlAccessType.FIELD)なら
マーシャリングしたくないフィールド(メンバ変数)を
transientにしとけばOK

872 名前:デフォルトの名無しさん [2009/11/19(木) 19:08:06 ]
というか、JAVAで配列使うな

873 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:01:30 ]
>>872
なんで?

874 名前:デフォルトの名無しさん [2009/11/19(木) 20:11:04 ]
List使った方がいろいろ操作出来る

875 名前:806 mailto:sage [2009/11/19(木) 20:13:27 ]
806のことも思い出してあげてください

>>873
javaには優秀なコレクションフレームワークが標準で装備されているので、配列ではなくそっち使おうぜ。
>>872はそういいたいのだと思う。
配列で十分だと思ったら、何でもかんでもコレクション使うことは推奨しない。


876 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:14:14 ]
配列は使うな云々って本があったなぁ



877 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:15:11 ]
配列を使うメリットはあまりない

878 名前:806 mailto:sage [2009/11/19(木) 20:19:30 ]
配列を使うメリットは、高速かつメモリ消費が最小であること。

ローカルなメソッドの内部処理に用いる場合は、配列もありだと俺は思う。

おさらいだけど
配列:速度良 メモリ小 操作ミス多
コレクション:速度どうかな メモリ最小とはいかない 操作簡単安全

879 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:27:45 ]
速度とかメモリとかにこだわる層はわざわざそういうこと言われなくてもわかってるはずだから、
とりあえず「ArrayList使っとけ」でおk

880 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:32:08 ]
質問です。
HttpURLConnectionを使ってhttp通信を行います。
yahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ましたが、
問題のサイトに接続したところjava.io.FileNotFoundExceptionで弾かれてしまいました。
該当URLはブラウザでアクセスしたところ問題なく表示出来ます。
(パスワードやログインを要求するようなサイトではありません)
恐らくサーバー側で何かを見ているのではないかと思うのですが、
サーバーがチェックしてそうな項目を教えては頂けないでしょうか。

現在設定しているRequestPropertyは
Host、User-Agent、Accept、Accept-Language、
Accept-Encoding、Accept-Charset、Keep-Alive、Connection
で、値はブラウザで該当URLの確認ができた時と同じ値をセットしています。

881 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:33:56 ]
LinkedListのメリットがよく分からない。
リストの半ばの挿入削除が速いって理屈は分かるが、
その場所に辿り付くまでは結局イテレートしてるわけで。

882 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:36:40 ]
404 や 503 じゃないのならプログラム上のミスで、相手サーバーじゃないんだろうな。

883 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:42:19 ]
>>880
お前モペ吉か?

884 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:45:43 ]
>>881
メリットはあんたが言ってる通りじゃねーかw

885 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:46:44 ]
ポインタ辿るだけだしなぁ。System.arraycopyで後ろ詰めるよりは速い。
でもgetFirstなどからして、stackとかqueueに特化した使い道が一番。

886 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:58:49 ]
LinkedListは参照の数珠繋ぎだから、要素の最初から最後まで順番にアクセスするなら
ArrayListよりも速いはず。逆に、要素の〜番目みたいなアクセスは破滅的に遅いと思う。
ランダムアクセスしない&削除と挿入が頻繁、ならむしろLinkeListの方が良いと思います。

ところで質問なのですが、
Javaで参照カウンタみたいな仕組みを実現したいのですが、なにか良い方法はないでしょうか。



887 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:01:58 ]
さっきから「メモリ効率」「速いだろう」「思います」とかばっかりだけど、それじゃいつまでも上達しないだろうな。

888 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:03:54 ]
>>886
staticな変数を持って、
コンストラクタ内でインクリメント
ファイナライズ内でデクリメント

いい方法ではないが、これしか思いつかなかった。

889 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:04:08 ]
>>882
404や503にはならないのですが
そのサイトではRequestPropertyを全て外すと403になります
またyahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ました

890 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:04:17 ]
>>886
でも実際試してみると ArrayList は LinkedList より結構速い

891 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:08:10 ]
>>887
メモリ効率は上達にはかかせないだろ。

892 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:08:21 ]
ArrayDequeueやConcurrentLinkedQueueがあるから尚更使い道が少なくなってきた。

893 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:12:27 ]
うお。なんだ。
Java1.4時代に迷い込んじまったw

894 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:14:09 ]
メ…メモリ効率だってよっwww

895 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:14:38 ]
Dequeueは6から、Queueは5からなんだが。

896 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:23:08 ]
>>894
おかしいと思う理由を書けよw
荒らしか?



897 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:28:54 ]
メモリ効率とか無駄のないアルゴリズムを考えられない奴っているんだよ。
コーディングする楽しみなんてないんだろうな。

898 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:33:20 ]
てかオブジェクト指向ってそういうもんだから構わんよ。
パフォーマンスの80%はソースコードの20%に依存するって奴だ。
裏を返せばソースコードの80%は保守性のが大事ってこと。

899 名前:886 mailto:sage [2009/11/19(木) 21:43:11 ]
>>888
レスありがとうございます。
その方法だと、そのクラスのインスタンスがいくつ存在するか、
ということがわかりますね。参照カウンタと近い気がするので参考にさせていただきます。

900 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:50:44 ]
メモリ効率を考えてコード書いて
数ヵ月後に、俺なんでこんなややこしいコード書いてんだ?
もっとeasyでいいやんって書き直している途中で
そういうコード書いてた理由を思い出す

revert

901 名前:デフォルトの名無しさん [2009/11/19(木) 21:54:04 ]
>>896
荒らすな鼻糞

902 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:02:42 ]
複雑なモデルを複雑なコードで実装してるうちは素人

903 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:48:25 ]
早く仕上げてボトルネックをテストしようぜ

904 名前:806 mailto:sage [2009/11/19(木) 22:51:41 ]
>>886 何するのかわからないけど、ウィークリファレンス(弱参照)とかの機能もあるんだぜ。

俺の質問って場違いなの?()涙

905 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:55:29 ]
JLayerMEでも使ったら>MP3

906 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:56:02 ]
俺も興味あるな。Javaで参照カウンタが必要ってどんな処理?



907 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:30:01 ]
>>904
弱参照と参照カウンタは関係ないだろ。

908 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:31:52 ]
おまえらって普通のプログラミングはちょっとはわかってるっぽいけどdrawLineとかdrawOvalはわかるか?

909 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:34:23 ]
>>908
知らないなら知らないって言えよw

910 名前:886 mailto:sage [2009/11/20(金) 00:06:24 ]
>>906
長い上に上手く説明できませんが、
あるサイトを参考に、IDなどを通じてグローバルに参照できるオブジェクト群を管理するクラスを作ろうとしています。
このクラスは、外部からの要求に応じてオブジェクトを生成し譲渡するのですが、その生成したオブジェクトは自身のフィールドに保持します。
そして次に同じ要求があった場合は、新たに生成せずに保持していた同じオブジェクトを渡します。
一つのオブジェクトを不特定多数の外部で共有するためです。
問題は、保持しているオブジェクトが管理クラス以外のどこからも参照されなくなった時は、それを削除せねばなりません。
そのタイミングを知るために参照カウンタが必要なのです。

>>904
弱参照は使ったことないのですが、上記のような場合でもGCしてくれるものなのでしょうか。
Reference関連は勉強不足で何もわかりません。その辺も調べてみます。

911 名前:デフォルトの名無しさん [2009/11/20(金) 00:15:02 ]
ある書籍のwait/notifyのメカニズムの問題で
正解が下記のようになってるんですが、
consumerメソッドでwaitの下の
isFlag=falseがどうしても理解できません。
ここでfalseを代入してしまうと
上のproduceでisFlag=trueでnotifyを呼びだし
waitを呼び起こしてもすぐにまたfalseになり
いつまで経ってもwhileから抜け出せないと思うんですが・・・
私の見解が間違っているんでしょうか?

class MySync{
boolean isFlag = false;
public synchronized void produce(){
isFlag = true;
notify();
}
public synchronized void consumer(){
while(!isFlag){
try{
wait();
isFlag = false;
}catch(Exception e){}
}
}
}


912 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:19:13 ]
>>910
昔、そういうの使ったことあるよ。

FacesContext.getCurrentInstace().getExternalContext()

の下にあるメソッドだったと思う。任意のクラスに対する、別クラスからのバインディングを取り扱う道具があるはず。

913 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:20:05 ]
>>910
なるほど・・・
シングルトンを強制しつつも、参照されなくなったらGCに回収させるのですね。

914 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:22:24 ]
なるほど。要はキャッシュの仕組みが作りたいわけね。

その用途ならソフト参照がいいかもね。
実際のところ弱参照は相応のライフサイクルが期待される
オブジェクトのキャッシュ方法としては適していない場合が多い。

www.ibm.com/developerworks/jp/java/library/j-refs/index.html
あたりを読んでみるとわかりやすいよ。

915 名前:デフォルトの名無しさん [2009/11/20(金) 00:25:57 ]
ウィークもいいけど、参照カウンタなんかCOMっぽくていいかもw
ほっといた方がよさそうだww

916 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 02:35:06 ]
いちいちaddRefとかもういやだお



917 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 02:41:51 ]
>>916
もしc/c++でもjvmでも、gcとかautoリソース解法とかの概念を使えるならそれをデストラクタに入れとくといいよw

918 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 06:37:05 ]
項目と値があるTableをjavaで扱う時、
CollectionInterfaceか配列どのような方法を使うのがいいのでしょうか?

Tableからの情報を使って、別のTableの中から同じ文字列を持つものを検索したいと考えています。
ArrayListの二次元配列で作っていたのですが、
うまくピンポイントの情報が取得できません。
Array.get(int )はObjectのため、ArrayListのように指定しての取得ができないように思われます。

まだまだ勉強不足で見当違いの事を書いているのかもしれませんが、
それも含めてご指摘ご意見頂ければと思います。

よろしくお願いします。

919 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:37:57 ]
>>918
HashMap を使わない理由は?

920 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:45:52 ]
なにこのデジャブ

921 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 11:47:18 ]
>>911
お前が正しい
そんな本は窓から投げ捨てろ

922 名前:デフォルトの名無しさん [2009/11/20(金) 14:09:16 ]
なんか、Javaの技術で面白ものってないですか?

面白いサイトとか本とか教えてくれるとありがたいっす。
今、経理やってるんだけど、2年くらいJavaやってました。

久しぶりにJavaやりたくなったんです。

よろしく><;

923 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 14:10:24 ]
iTextとかおすすめ
PDF作れる
WebならApache

924 名前:922 mailto:sage [2009/11/20(金) 14:21:01 ]
>>923
ありがとう。もう両方やったんです><;

J2EEの青い分厚い本でも今からかってこよっと・・あれなら、新しいEJBとか載ってそうだ。

925 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 17:10:57 ]
Web系ならWicketとか

926 名前:886 mailto:sage [2009/11/20(金) 20:01:26 ]
>>914
リンク先参考になりました。
有難うございます。

>>922
JOGLかProcessingはいかがでしょうか。
ゲームやプログラミングアートに興味があれば是非。



927 名前:デフォルトの名無しさん [2009/11/20(金) 20:06:54 ]
Javaの長所と短所を教えてください。

928 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:20:50 ]
長所:Write Once, Run Anyware.
短所:リッチクライアント周りでは↑が嘘になる

929 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:21:37 ]
Anywhere.だた。恥ずかし−

930 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:33:18 ]
長所
 ともかく色々なプラットフォームで動く
 マニアックでない素直なOO言語
 強い型付け
短所
 玉虫色器用貧乏GUI、SWTなんてネイティブ移植しなけりゃ動かないし
 強い型付け


931 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:39:31 ]
Map<String, ? extends MyInterface> map = new HashMap<String, ? extends MyInterface>();
これには閉口する。

var map = new HashMap<String, ? extends MyInterface>();
ってならんかな。提案レベルならすでにJSRにあるんだとは思うが。

932 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:40:55 ]
そんなあなたに、はいScala

933 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:47:47 ]
>>931
逆はjdk7からできるようになる予定だよ。

Map<String, ? extends MyInterface> map = new HashMap<>();

934 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:51:21 ]
>>933
なるほど。IDEとの連携を考えてもそっちのが柔軟か。

935 名前:806 mailto:sage [2009/11/20(金) 22:06:28 ]
>>905
ソースさっくりみたけど DLLたたいてるね。
携帯でMP3って意外と敷居高いな・・・

936 名前:デフォルトの名無しさん [2009/11/20(金) 22:12:47 ]
最新のJAVA2EEをインストールして暫くしたらパソコン起動するたびにコマンドプロンプトが起動しSUNのフォルダのdomain01内にログを作り出します。
サーバー?なのか不明なんですが、これ止めるには何処をどうしたら良いでしょうか。
よろしくお願いします。



937 名前:806 mailto:sage [2009/11/20(金) 22:13:08 ]
>>886
RMIとか使ってプロセス間通信でもしてるわけじゃないのかな?
単独の仮想マシン上で動いてる場合、参照されなくなったらGC対象になるのはご承知だろうし。

弱参照しているばあい、他の参照がないとGC対象になるってだけなので、今回の件には使うところはないかも。
ちょっと違うことを想定してしまったので、わすれてOK(弱参照


938 名前:806 mailto:sage [2009/11/20(金) 22:26:26 ]
長所と短所の話は 俺の好きな話題だったので・・・

長所
メモリ開放処理が自動なので簡単である。
そのためソースコードはCなどと比べると、とてもシンプルになり可読性がよい。
java専用高性能エディタが存在するため、生産性は高い(キリ
標準のライブラリがこれでもかってくらいそろってる。

短所
メモリ開放処理は自動だが、オブジェクトの開放契機などに注意を払わなくなるため。
イージーミスでメモリリークが発生する。
javaSE javaEE と javaMEは別物過ぎる、携帯電話などの端末でもSEで書いたものが動くことを期待する。



939 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 22:52:32 ]
JLayerMEがDLL叩く?
そんなもん叩いてないがMMAPIのフルセットが実装されてないとJLayerMEは動かないからMIDPベースでは無理。


940 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 22:55:54 ]
>>938
>>短所
>>メモリ開放処理は自動だが、オブジェクトの開放契機などに注意を払わなくなるため。
>>イージーミスでメモリリークが発生する。
あんまり見たことないけどね・・・
どんなの?

941 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:04:30 ]
独自に配列スタックを作ろうとして、popされた時にnullで掃除しない場合とかか?
しかしArrayDequeueとか適切なクラスがあるしなぁ。

942 名前:918 mailto:sage [2009/11/20(金) 23:24:26 ]
>>919
ありがとうございます。
ArrayListにHashMapを格納することで、解決できました。

943 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:28:20 ]
>>941
うん。そういう教科書とかに載ってそうなのはわかるんだが、
実装レベルのイージーミスで起こるメモリリークってどんなの?


944 名前:デフォルトの名無しさん [2009/11/21(土) 01:17:22 ]
ライブラリにポインタ渡す時はライブラリを信頼しきってるから
あとでしっぺ返しされると超こまる

945 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:23:54 ]
>>943
staticな変数にデカいコレクション突っ込んだまま放置してメモリを馬鹿食いするとか?
メモリリークというのは正しくないけど、症状はメモリリークに近いな。

946 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:53:48 ]
Tomcatのコネクタか何かがログをそんな感じでほったらかしにしてたってのがあったな



947 名前:806 mailto:sage [2009/11/21(土) 14:30:28 ]
イージーミスの話だけど
コレクションにぶち込みっぱなしで放置とか、そんなレベルの実装ね。
現実あったはなしだから、ソースレビューとかちゃんとやろうね


948 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:49:58 ]
JTableがクリックされた時に、選択されている行の情報を取得するにはどうすればいいのでしょうか?

949 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:20:07 ]
すみません、コンパイルできるんですが何も表示されません、助けてください
見にくいかと思いますが、お願いします
//<applet code="SnakeProg2.class" width="300" height="300"></applet>
import javax.swing.*; import java.awt.*; import java.awt.event.*;
public class SnakeProg2 extends JApplet implements KeyListener { int actiontype = 0, count = 0; int x[] = new int[99]; int y[] = new int[99];
public void init()
this.addKeyListener(this); this.setFocusable(true);
}
public void paint(Graphics g) {
super.paint(g);
x[count] = 0; y[count] = 0;
for (count = 1; count <= x.length; count++) {
switch (actiontype) { case 0: count--; break; case 1: x[count] = x[count-1] + 10; g.drawPolyline(x, y, count); break;
case 2: y[count] = y[count-1] + 10; g.drawPolyline(x, y, count); break;
case 3: x[count] = x[count-1] - 10; g.drawPolyline(x, y, count); break;
case 4: y[count] = y[count-1] - 10; g.drawPolyline(x, y, count); break; } } }
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode == KeyEvent.VK_RIGHT) {
if(x[count] == 300 || count == 100) {
actiontype = 0; } else {actiontype = 1;}
} else if(keyCode == KeyEvent.VK_DOWN) { if(y[count] == 300 || count == 100) { actiontype = 0; } else { actiontype = 2; }
} else if(keyCode == KeyEvent.VK_LEFT) { if(x[count] == 0 || count == 100) { actiontype = 0; } else { actiontype = 3; }
else if(keyCode == KeyEvent.VK_UP) { if(y[count] == 0 || count == 100) { actiontype = 0; } else { actiontype = 4; } } repaint(); }
public void keyTyped(KeyEvent e) {
public void keyReleased(KeyEvent e) { }}

950 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:33:59 ]
>>948
public void mouseClicked(MouseEvent e) {
int idx = tbl.rowAtPoint(e.getPoint());
}
あとはお好きに。

951 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:49:53 ]
>>948
JTableで文字列をクリックした場合だけセルを選択状態にする
ttp://terai.xrea.jp/Swing/CellAtPoint.html

MouseInputAdapter ma = new MouseInputAdapter() {
public void mousePressed(MouseEvent e) {
Point pt = e.getPoint();
int row = table.rowAtPoint(pt);

952 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:53:13 ]
>>949
不味い点が多すぎて。
とりあえず初期状態でpaint()が動くと、countでのforループの中でcount--して無限ループ。

953 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:57:00 ]
ん、踏んだか。次立ててくるね。スレ立てるのひさびさだな。

954 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:00:17 ]
次は

★★Java質問・相談スレッド134★★
pc12.2ch.net/test/read.cgi/tech/1258793926/


955 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:01:20 ]


956 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:05:44 ]




957 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:18:26 ]
>>949
わからん

958 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:20:52 ]
>>950-951
とんくす






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef