【初心者】Java質問・相談スレッド69【大歓迎】
l
3 :
デフォルトの名無しさん:2005/07/22(金) 09:56:34
以下の様にクッキーからユーザ名を取得して、画面に出力すると、
なぜかいつも『JSESSIONID』という文字が出力されてしまいます。
この『JSESSIONID』はいったいなになのでしょうか。
宜しくお願い致します
Cookie[] ck = request.getCookies();
if (ck != null) {
for(int i = 0;i < ck.length;i++) {
name = ck[i].getName();
val = ck[i].getValue();
if (name.equals("username")) name = val;
}
}
>>3 > この『JSESSIONID』はいったいなになのでしょうか。
Servletコンテナがセッションを特定するために、
このリクエストに関連するセッションに付与したユニークなID。
5 :
関連スレ:2005/07/22(金) 10:44:26
6 :
5:2005/07/22(金) 10:48:33
あ、URL にゴミついちゃった。on_
7 :
デフォルトの名無しさん:2005/07/22(金) 11:30:42
HttpSession ses = request.getSession();
ses.setAttribute("login",name);
pageContext.forward("frame.jsp"); ←フレーム分割しているページを表示
あるページで、上記の様にフレーム分割しているページを呼び出すと、
5秒後くらいに(frame.jspの)表示が切り替わって、エラーが表示されてしまいます。
『<META HTTP-EQUIV="Refresh" CONTENT="秒">』とか書いてないのに勝手に切り替わるのです。
アドレス打ちで直接frame.jspを表示すると、表示は勝手に切り替わったりしません。
原因が分かる方がいらっしゃいましたら宜しくお願い致します。
double[][] hoge = new double[n][m]; // n, mは正の整数
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
hoge[i][j] = getValue(i, j);
}
}
のような感じでhogeにi, jを基にして得られたユニークでない正の実数値が入ってるとして、
その値の小さい順にソートして、基になったi, jを標準出力に表示するメソッド
void printHoge(double[][] hoge)みたいなのを作りたいのですが、どのように実装すればいいでしょうか。
よろしくお願いします。
↓こんな感じで…
i = 3, j = 100, value = 0.000001
i = 92, j = 9, value = 0.000023
…
>>8 hogeの内容は変えずに、 iとjのペアを要素に持った配列を作って、
その配列をソートすれば良いのでは?
>>8 double[][] hoge = new double[n][m]; // n, mは正の整数
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
hoge[i][j] = getValue(i, j);
list.add( new Foo(i, j, hoge[i][j] ) );
}
}
Collections.sort( list );
for (Iterator itr = list.iterator(); itr.hasNext();) {
Foo elm = (Foo) itr.next();
System.out.println( "i:"+ elm.i_ + " j:" + elm.j_ + " value:" + elm.val_);
}
-------------------------------------------
public class Foo implements Comparable {
int i_,j_;
double val_;
public Foo( int i, int j, double val) {
i_ = i; j_ = j; val_ = val;
}
public int compareTo(Object o) {
return Double.compare( val_, ((Foo)o).val_ );
}
}
確かめてないけど。
あと細かいところで気になる人が多数居ると思うけど、面倒だから。
こんな感じだと思う。わざわざオブジェクト作るのかってはなしもあるし。
11 :
デフォルトの名無しさん:2005/07/22(金) 13:18:50
う、printHoge()みたいにする必要があったのか。
それは自分で頑張れ。
>>8のいうユニークってどういう意味だっけ。
数学的な意味でいってる?
一般的な意味はわかるが数学的な意味は忘れてしまった
同一にならない、という意味かと>ユニーク
>>12 プログラムやシステムに関わる者が"ユニーク"の意味がわからないのはやばいぞ。
一般的な意味の方が判らない俺
ユニークだな君は
って言われたら、「独特だな」「ひと味違うな」と言う意味に私はとらえるけど、
周りに聞いたら、「おもしろい」って意味でしょっていわれた。
仕事で意見言って、上司に真顔で
「実にユニークだ」
って言われても、君っておもしろいねってとらえるんかな。
おかしいだろ。
17 :
デフォルトの名無しさん:2005/07/22(金) 17:09:52
16進数をASCIIに変換するのってどうやるの?
一般的には「個性的」かな。良い意味でも悪い意味でも。
>>17 聞きたいことはたぶんわかるが
もう少しちゃんと質問しろ。
16進数をASCIIに変換するやり方を教えて下さい.
お願いします.orz
21 :
デフォルトの名無しさん:2005/07/22(金) 17:34:38
違うだろー。
丁寧に聞けっていってるんじゃないの?
System.out.println( (char)0x41 );
こういう事がしたいの?
0x00 を '0' もしくは '00'と表示したいのかな。
System.out.println(Integer.toString(new Integer(x));
でいいのだろうか。
24 :
22:2005/07/22(金) 17:53:55
×丁寧に聞けっていってるんじゃないの?
○丁寧に聞けって言ってる訳じゃないんじゃないの?
16進でString strに68747470が入っていて.これをASCIIに変換してhttpを得たい.
できますかね?
>>25意味不明だが
この68747470はIPアドレスで、それから www.hoge.com とかのドメインが取りたいの?
デフォルトコンストラクタとは、
「コンパイル時にコンストラクタが存在しないときに、コンパイラが自動生成するコンストラクタ」か
「引数をとらないpublicなコンストラクタ」のどちらでしょうか。
検索すると両方出てきて、どちらが正しいのかわかりません。自分は前者だと思っていました。
>>25 もちろんできますよ。
・Stringから2文字ずつ切り出す方法
・2桁の16進数文字列をcharにする方法
・charを繋げてStringにする方法
どれがわからない?
おまいすごいな
>>28 httpを得たいってとこからよく推測する気になるな。
30 :
28:2005/07/22(金) 18:39:20
>>29 "68747470"と"http"を見ればすぐわかるだろ…
いや、httpを得るってなんなのよ。
どうかお知恵を拝借させてください。
CUIでプログラムを作成しておりますが、「Ctrl+Cで強制的に終了させた」
というイベントの検知は可能なのでしょうか?
強制終了させた場合に終了処理を走らせたいのです。
>>32 2番目は、Integer.parseInt(s, radix)
3番目は、StringBuffer.append(char)
35 :
デフォルトの名無しさん:2005/07/22(金) 23:23:06
継承は、カプセル化を崩す(継承元の実装を知る必要がある)という点で
オブジェクト指向の敵。このため、大抵の場合は、
継承よりコンポジションの方が良いといわれる。
実装や継承は、そのクラスの作り方ではなく使われ方にあると思う。
機能追加のために使うのではなく、
ポリモーフィズムを利用したり、デザインパターンの適用など?
一般に、継承のために(継承を想定して)作られたクラス以外は、
継承すべきでないとかどこぞで言われたりする。
亀レス
37 :
デフォルトの名無しさん:2005/07/23(土) 00:54:47
Stack・・
>>35 JLSと同じ意味で default constructor を使うなら
>>27 の前者でしょ。
いきなり現れてすみません・・・
BufferedImageからImageへの変換について教えてくれませんか?
単純に
bufimg = (BufferedImage)img
のようにキャストを用いて変換を試みるとエラーとなってしまいます・・・
>>39 > bufimg = (BufferedImage)img
これは Image から BufferedImage に変換しようとしてるんだけど。
img が BufferedImage のインスタンスだと確信できないなら
img instanceof BufferedImage とかで確認してからやった方がよさげ。
Graphics g = img.getGraphics();
g.drawImage((bufimg, 0, 0, null);
>>40 >>41 素早いレスありがとうございます
>>40さんのご指摘のとおり、Image→BufferedImageに変換です
>>41さんのようにしてみましたが、イマイチうまくいきませんでした・・・
drawImage(Image img, int x, int y, ImageObserver observer)
ですのでImage引数にBufferedImageの変数は与えることができるのでしょうか?
もう少し自分でも試してみます
他にも何かアイデアがあれば再び教えていただければ幸いです
>>41 逆だろ。Image から BufferedImage に変換するんなら、
BufferedImage bufimg = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics g = bufimg.getGraphics();
g.drawImage(img, 0, 0, null);
45 :
39:2005/07/23(土) 13:01:48
みなさん本当に本当にサンキューです
おかげさまで無事できました。
あと、BufferedImage,Imageの変換の方向など少し混乱させてすみませんでした
とても助かりました
Vector vec = new Vector();
String str = "abc";
/*
vecに文字列を取り込む処理をする
*/
if(vec.contains("abc")
{
for(int i=0;i<vec.size();i++)
{
if(vec.elementAt(i).toString() == str)
System.out.println(str+"が見つかりますた");
}
}
というコードを書きたいのですがif(vec.elementAt(i).toString() == str)
ここがどうもfalseになり、その下の画面出力が実行できません。
何か良い大体手法はありませんでしょうか?
== で比較すんなボケ。
>>46 47を補足するとequalsを使って比較しろって事だ。
==とequalsの違いについては自分で調べてくれ。
>>46 Vector#indexOf(Object, int) を使って調べても良いかもね。
どうしても==を使いたければ String#intern() でKIMARI!!!!
51 :
崖っぷち:2005/07/24(日) 00:12:32
Java2310-035の試験に一度落ちました。配列の問題で
下記の問題が未だに理解できません。
答はA,B,E,FなのですがCとEの違いが分からないです。
なぜなのか教えてください。
何卒宜しくお願いします!
1.public class Test{
2.public static void main(String[]args){
3.byte[][]big=new byte[7][7];
4.byte[][]b=new byte[2][1];
5.byte b3=5;
6.byte b2[][][][]=new byte[2][3][1][2];
7.
8.}
9.}
7行目に挿入してコンパイルできるコードは?
A.b2[0][1]=b;
B.b[0][0]=b3;
C.b2[1][1][0]=b[0][0];
D.b2[1][2][0]=b;
E.b2[0][1][0][0]=b[0][0];
F.b2[0][1]=big;
52 :
デフォルトの名無しさん:2005/07/24(日) 00:33:25
坊やだからさ。
53 :
崖っぷち:2005/07/24(日) 00:59:04
>>52 理解できず質問です、51の事でしょうか?
SQLJって使ったことありますか?
SQLJを使ったJAVAプログラムで、同じ内容のSQLステートメントを何度も発行します。
何度も同じSQLステートメントを書くのが格好悪いので、同じステートメントを繰り返し
使いたいのですが、どうすればいいでしょうか。
ちなみに使うSQLステートメントは"SELECT COUNT(1) FROM XXX"です。
>>51 b2[1][1][0]はbyte[]型なのに、
それと一致しないbyte型のb[0][0]を代入してるからCはダメ。
b2[0][1][0][0]はbyte型だからEは正しい。
byteの四次元配列で、実際にbyte型を格納できるのは、四次元全てを指定した時だけ。
たとえばb2[0]に入っているのは、より次元の低い配列への参照だ。b2[0][0][0][0]には
byteが入っている。
new byte[2][4]だったら、byte[2]には、byte[4]への参照が二つ入っていると思えばいい。
57 :
崖っぷち:2005/07/24(日) 01:20:52
>>55-56 ありがとうございます。
なんとなく理解できました、もっと完璧に理解できるように
あと少し時間を掛け、問題と解説を眺めて考えます。
58 :
崖っぷち:2005/07/24(日) 01:29:57
55だけど、たぶん次は受かりますよ。私でも受かりましたから。
>54
Cで埋め込みSQLなら経験がある漏れが来ましたが
そのステートメント発行するとこをメソッドに切り出したらどない?
Vectorの中にVectorを入れ、その中の要素を参照するにはどうすればいいでしょうか?
62 :
54:2005/07/24(日) 10:23:18
>60
なるほど、ありがとう。
STRING型の変数にSQL文を入れて、それを何度も使いまわして埋め込む、ってことはできなんだよね?
63 :
デフォルトの名無しさん:2005/07/24(日) 12:44:38
>61
一回入れたVectorを取り出して、その中にアクセスしてみ。
Vector container;
Vector contained;
//.....
//containedに何か入れとく
contained.add( something );
//それをcontainerに入れとく。
container.add( contained );
//...中略
//入れられたVector (contained) を取得
Vector v = (Vector)container.lastElement();
//入れられたVectorの要素を取得
Object element = container.get( i );
>>3 > 以下の様にクッキーからユーザ名を取得して、画面に出力すると、
> なぜかいつも『JSESSIONID』という文字が出力されてしまいます。
> この『JSESSIONID』はいったいなになのでしょうか。
> 宜しくお願い致します
>
> Cookie[] ck = request.getCookies();
このメソッドってさあ
こう書き換えたくね?
List<Cookie> getCookies(){
}
>>63よ、こっちのほうがいいぞ。
> >61
> 一回入れたVectorを取り出して、その中にアクセスしてみ。
>
> Vector<Vector> container = new Vector<Vector>();
> Vector<何か> contained = new Vector<何か>;
> //.....
> //containedに何か入れとく
> contained.add( something );
>
> //それをcontainerに入れとく。
> container.add( contained );
> //...中略
> //入れられたVector (contained) を取得
> Vector v = container.lastElement();
>
> //入れられたVectorの要素を取得
> 何か element = container.get( i );
いや、こっちのほうがいいぞ。
List<List> container = new ArrayList<List>();
List<何か> contained = new LinkedList<何か>();
> //containedに何か入れとく
> contained.add( something );
>
> //それをcontainerに入れとく。
> container.add( contained );
> //...中略
> //入れられたList (contained) を取得
> List v = container.get(size() - 1);
>
> //入れられたVectorの要素を取得
> 何か element = container.get( i );
取り出すならgetではなくIteratorで
List<List<何か>> container = new ArrayList<List<何か>>();
List<何か> contained = new LinkedList<何か>();
> //containedに何か入れとく
> contained.add( something );
>
> //それをcontainerに入れとく。
> container.add( contained );
> //...中略
> //入れられたList (contained) を取得
Iterator<List<何か>> containerIterator =container.iterator();
List<何か> contained = null;
Iterator<何か> containedIterator = null;
何か something = null;
while(containerIterator.hasNext()){
contained = containerIterator.next();
containedIterator = contained.iterator();
while(containedIterator.hasNext()){
何か = containerIterator.next();
何か.処理したいメソッドとか();
}
}
68 :
デフォルトの名無しさん:2005/07/24(日) 13:53:40
いや、Iteratorは使わずに拡張for文でもっと簡単にできるぞ
List<List<何か>> container = new ArrayList<List<何か>>();
List<何か> contained = new LinkedList<何か>();
> //containedに何か入れとく
> contained.add( something );
>
> //それをcontainerに入れとく。
> container.add( contained );
> //...中略
> //入れられたList (contained) を取得
for(List<何か> contained : container){
for何か something : contained){
何か.処理したいメソッドとか();
}
}
カスタムタグのTLDに記述する「rtexprvalue」って
なんの略語なの?
>>69 RunTime EXPRession Value
アールテフ プライベート ヴァリュー
>70
ランタイムだったのですか。スッキリ thx!
みなさんこんにちは
現在JSP/Servletにて制作中で、
パッケージ org.apache.commons.fileupload を使って
ファイルのアップロードには成功しました
しかし、アップロードの際に、動的にディレクトリを生成したいのですが
フォルダを生成するクラス、というのはあるのでしょうか?
>>73 java.io パッケージのAPIドキュメントとにらめっこ汁。
ServletとかCommons FileUpload とか全然関係ないぞ。
Javaの入門書をもう一度読み直してみるといい。
>>74 ありがとうございました。発見しました
やはり専門書は何か買った方がいいですかね
全てgoogle先生に頼っていたので…
>>73 ssh, rsh, telnetって知ってるか?
jsch.jarをダウンロードして使う凝った
えーリモートからシェルコマンド投げるのー?
おっかねえなぁ。
ハイスコアを作るにはどうすればいいですか?
win x64 Editionを使用しているのでJDKも正式版が出てれば、
それ用のを入れたいのですが、
SunのDownload Siteの「Windows AMD64 Platform」
って"Windows AMD64 executable"ってなってます。
この"executable"って単に実行可能形式ってことですか?
それとも何か意味があるんですか?
英語苦手なんでよろしくお願いします。
80 :
デフォルトの名無しさん:2005/07/24(日) 22:22:43
コマンドプロンプト画面を表示させずにJavaプログラムを起動する方法はありませんか?
バッチファイルから起動してもおまけの黒画面が付いてきて鬱陶しいのですが
>>79 その認識で大丈夫
実行形式だから、インストーラーが走る。 トオモウ。
javascriptのAPIってありますか?
>>80 javaコマンドじゃなくてjavawコマンドでアプリを起動すればOK。
85 :
79:2005/07/24(日) 23:21:37
86 :
デフォルトの名無しさん:2005/07/24(日) 23:56:20
Javaで縦書きのエディタって作れる?
どのクラスが使えそう?
87 :
デフォルトの名無しさん:2005/07/25(月) 00:58:32
java3Dのプログラムを作ったんですが
それをプロンプトでコンパイルすると実行できるんですが
イクリプスを使って実行しようとするとインポート文の所でエラーになっちゃいます
(↓ここ全部)
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
これはなぜですか?
>>87 j3d.jarをライブラリに追加しろ
それから
Eclipseに関する話題は今後Eclipseスレですること
89 :
デフォルトの名無しさん:2005/07/25(月) 08:06:46
こんにちは
現在Tomcat、jsp、Servletでアプリケーションを作ってるのですがサーバーの
メモリが少ないため色々と工夫しています。
cronでSystem.gc();を行うプログラムを実行して1時間おきに定期的に
ガーベッジコレクションを行おうと思うのですがこういうことはサーバー管理
として一般的に見てありでしょうか?
>>89 メモリを増やすというシンプルでローコストな解決法ではいかんのかね?
System.gc()はgcに対してリクエストは出すが、必ずしもgcされるという
保障はない。
91 :
89:2005/07/25(月) 09:37:20
>>90 ご返答ありがとうございます。
レンタルサーバーでJava 仮想マシンのメモリの総容量は64Mです。
サーバーの割り当てられているメモリは100Mくらいのようなので
Xmxも64Mが最適値のようです。
そこまでメモリがなくなるというわけではないのですが定期的に
メモリのメンテナンスをする意味でやろうと思っています。
gcをやったらタイミング的に危ないときがあるなどありますでしょうか?
>>91 OutOfMemoryErrorが発生するような状況でなければ
VM任せにしておいていいよ。
アプリ側でわざわざSystem.gc()呼ばなきゃならないのは
少し特殊な状況だと思っておいていい。
「定期的にメモリのメンテナンスをする」ためのSystem.gc()は無意味。
93 :
89:2005/07/25(月) 10:37:27
あまり意味がないということですね。
ありがとうございました。
>>89System.gc()を使うなら
java.lang.ref.Referenceを使った方が良い。
Javaの実行オプションで最大ヒープメモリサイズを上げてみるとか
Tomcat側の設定server.xmlを弄ってみるとか。
無駄にnewしているところはないか?
Servlet側でできることを無理矢理JSPでやろうとしていないか?
DBアクセスするときにデータソースを使わずに操作していないか?
考えられることはいくらでもある。
J2EEパフォーマンスチューニングという言葉もある。
探してみれ。
オライリー本にもパフォーマンスを上げる方法が載っている
96 :
91:2005/07/25(月) 11:52:05
Apacheと連携しているのでポート8080を使用しないようにしたらたまーに
Tomcatが落ちてしまうのがなくなりました。
VMサーバの最大ヒープメモリサイズはTomcat(JDK)をインストールする
ときに指定しないとダメだとググったら書いてありました。
実際setenv.shに-Xmxオプションを指定しても〜identified〜という
エラーが出てしまいましたので-Xms64mのみ指定しています。
いまはservletをできるだけ小さく分割しています。
97 :
91:2005/07/25(月) 11:52:55
↑ Tomcat(JDK) → Tomcat(JDK?)
98 :
困った:2005/07/25(月) 12:12:13
現在、Strutsで開発しているんだけども
こんな事って可能でしょうか。
○strutsのフレームワークを利用したいソース
struts-config.xmlで<Action>タグでマッピングをかける
○Servletのみで行いたいソース
web.xmlにて、 <servlet>
<servlet-name>*****</servlet-name>
<servlet-class>******</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>***</servlet-name>
<url-pattern>***</url-pattern>
</servlet-mapping>
と表記。
そもそも、Strutsを使った時点で、もう普通のweb.xmlでサーブレットのみを読み出せないかと試みておりますが、呼び出せないのです。。。
>>96 > VMサーバの最大ヒープメモリサイズはTomcat(JDK)をインストールする
> ときに指定しないとダメだとググったら書いてありました。
それはググッた先のサイトがクソだな。
JAVA_OPTS変数にVMの起動引数を指定できる。
Tomcatの起動スクリプトのコメントをよく見ろ。
>>98 できる。
>呼び出せないのです。。。
しか書いていないので、それ以上のことは回答不可能。
101 :
デフォルトの名無しさん:2005/07/25(月) 13:00:27
>>96 > Apacheと連携しているのでポート8080を使用しないようにしたらたまーに
> Tomcatが落ちてしまうのがなくなりました。
> VMサーバの最大ヒープメモリサイズはTomcat(JDK)をインストールする
> ときに指定しないとダメだとググったら書いてありました。
それは初耳、そのサイトはJakara本家?
それとも個人、または本家だけど古いバージョンのTomcatだとか?
あと、インストール時に指定ということは
> 実際setenv.shに-Xmxオプションを指定しても〜identified〜という
> エラーが出てしまいましたので-Xms64mのみ指定しています。
> いまはservletをできるだけ小さく分割しています。
Servlet事態を分割するよりも
Servletでやる必要の無いものをServletの外でやる(委譲)ようにしたほうがいい。
分割したクラスすべてをわざわざHttpServletクラスから継承させては本末転倒。
基本的なイディオムで無駄がないかとか無い?
for文の外に出せるものを内側でかいてしまっているとか。
getFreeMemory()とかで調べてみるとか
プロファイラでボトルネックがあるところを調べてみるとかしてる?
プロファイラで調べてからチューニングをしたほうがいいんじゃないかと。
>>98 もしかしてさ、web.xmlわざわざ手書きしてるの?
XDoclet使いなよ。
struts-config.xmlも手書きする必要がなくなるよ。
>>98 その***はなんてかいてあるんだ?
先頭に/を付け忘れてるとか
パッケージ名をつけ忘れてるとかいうオチじゃなかろうな
url-patternには/から始める相対パス
servlet-nameは重複しない適当な名前
servlet-classはパッケージ名.サーブレットクラス名
>>104 > url-patternには/から始める相対パス
それだけじゃないよ。
Servlet仕様11.2には
・"/"で始まり"/*"で終わるマッピング
・"*."で始まる、拡張子によるマッピング
・"/"から始まるコンテキスト相対URI
・完全に一致する場合のみ使われる、他の文字列
と、4種類の定義がある。
>>102 XDocletは、本来設定ファイルで管理すべき内容がソースコードに入ってきてしまい、
本末転倒である、という意見も多い。
XDocletの使用は個人の好みに入ってくる領域だからむやみにに勧めるのもどうかと。
107 :
91:2005/07/25(月) 13:19:49
>それは初耳、そのサイトはJakara本家?
こちらのフォーラムで最終的に結論付けされているようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16136&forum=12 -Xms64mを指定するとgetFreeMemory()で取得される値が増えました。
getFreeMemory()で取得される値を見ながら画面遷移してみてどんどん
メモリが減っていく遷移を見つけましたのでそこを疑っています。
>for文の外に出せるものを内側でかいてしまっているとか。
このようなことはないようですが無駄な処理を探しています。
>Servletの外でやる(委譲)ようにしたほうがいい。
Servletではない汎用Javaファイルを作ってそちらで処理を行うという
ことでしょうか?
>>107 それ、結論が出ていると言うより、一つの方法が提示されただけ。
そのスレッドにあるように、パラメータの値でいくらでもいじれる。
109 :
デフォルトの名無しさん:2005/07/25(月) 14:29:51
問題2. Sample2.java中、(1)〜(8)の行が何を行う命令かを説明してください。
-------------------------------------------------- Sample2.java------------------------------------------------------
class Sample2
{
public static void main(String args[])
{
int num1, num2; <--(1)
BufferedReader br
= new BufferedReader(new InputStreamReader(System.in)); <--(2)
String str1 = br.readLine(); <--(3)
num1 = Integer.parseInt(str1); <--(4)
num2=num1; <--(5)
num2=num2+1; <--(6)
num1++; <--(7)
num2--; <--(8)
}
}
お願いします
111 :
デフォルトの名無しさん:2005/07/25(月) 14:39:25
誘導ありがとうございます
112 :
デフォルトの名無しさん:2005/07/25(月) 14:52:20
すいません。質問させてください。
簡単なチャットシステムを作ろうと思い、
ObjectOutputStream/ObjectInputStreamでサーバ/クライアント間でのオブジェクトの入出力をしたいのですが、
クライアント側から送信されてきたメッセージを、スレッド内で受信して、それをクライアントに送るメソッドを作りました。
public static void sendAll(String name, String s, int color){ // クライアントにメッセージを送信するメソッド
if (connections != null){ // コネクションがあれば実行
for (Enumeration e = connections.elements(); // 要素を全て枚挙する
e.hasMoreElements();){
try {
ObjectOutputStream out = new ObjectOutputStream(
((Socket) e.nextElement()).getOutputStream()); // 出力ストリーム
out.writeObject(list); // ログイン名リストの送信
out.writeObject(name); // 発言者名を送信
out.writeObject(s); // 該当ソケットのクライアントに送信
out.writeInt(color); // 色情報を送信
out.flush();
}catch (IOException ex){}
//}
}
System.out.println(s); // サーバのコンソールにも表示
}
これをクライアントのスレッドで受信しようとすると、StreamCorruptedExceptionが起こって受信出来ません。
ObjectOutputStreamの代わりにPrintWriterにしてBufferedReaderで読めばすんなり入出力出来るのですが・・・。
ちょっとAPIやgoogleで色々調べたものの、良くわからなかったので、どなたかご教授頂けませんでしょうか。
113 :
デフォルトの名無しさん:2005/07/25(月) 15:03:27
>>13 DBでいうところのプライマリキーのことか?
>>113 すいぶん遅レスだな。
単一プライマリキーもユニークな列の一つに含まれる。
「プライマリキーのこと」と言ってしまうと、違う。
プライマリキーではないユニーク属性の列も存在するからだ。
何か一つ修正を加えるたびに
XMLファイルまでもさらに修正を加えるという手間が
省けるからXDoclet重宝するんだけどなー。
Servlet上に設定が映るのが嫌なら
XDoclet上で${value}とやって
この変数の定義をAntから呼び出すbuild.propertiesなどに
書くというやり方もありかと
>>116 わかったから、個人の好みを押しつけるなって。
>>115 Strutsがなぜ設定ファイル集中管理型にしたのかを考えれば
その思想を否定していることに気がつかないのか?
結局、XDocletがいい、という奴は突き詰めるとStrutsは使わない方がいいんだ。
XDocletの使用は、「Strutsを使わざるを得ないけど・・・」という妥協でしかない。
根本的な解決手法ではないんだよ。
>>118 わかったから、個人の好みを押しつけるなって。
趣味と主張は別スレでヨロ
121 :
デフォルトの名無しさん:2005/07/25(月) 16:04:22
J2SDKってのをインストールしたいんだけど、
どうやったらインストールできるかわかる?
Sunのサイト行ったけど英語でわかんなかった。
>>121 英語が読めないなら CD-ROM 付属の雑誌でも買えば? (付いてるんだっけ?)
( ´,_ゝ`)プッ
>>112 channel使ったら?と言いたいところだけど、
問題はそこじゃないから置いておくとして、
試してみてもらいたいことがあるんだけど、
writeObjectごとにflushしてみて。
これで出来ない?
昔ObjectOutputStreamを使ったときは、名前とか色情報とかをラップするクラスを作ったよ。
それでそのメッセージ用クラスをやりとりする感じ。
126 :
デフォルトの名無しさん:2005/07/25(月) 17:44:53
Domain�Information:�[ドメイン情報]
a.�[ドメイン名]�����������������PLALA.OR.JP
b.�[ねっとわーくさーびすめい]���ぷらら
c.�[ネットワークサービス名]�����ぷらら
d.�[Network�Service�Name]�������PLALA
k.�[組織種別]�������������������ネットワークサービス
l.�[Organization�Type]����������Network�Service
m.�[登録担当者]�����������������MN2905JP
n.�[技術連絡担当者]�������������TF236JP
p.�[ネームサーバ]���������������dns1.plala.or.jp
p.�[ネームサーバ]���������������dns2.plala.or.jp
p.�[ネームサーバ]���������������ns2.sphere.ad.jp
[状態]��������������������������Connected�(2005/07/31)
[登録年月日]��������������������1996/07/24
[接続年月日]��������������������1996/07/31
[最終更新]����������������������2004/08/01�01:10:28�(JST)
↑ってなんなんですか?拾ってきました。
129 :
121 ◆lv.o3z9kM6 :2005/07/25(月) 18:05:57
>>127 http://www.wikiroom.com/java/ これ見ろってことですか?
こういうの見ても全然意味わからないんですよ・・・。
本当に初心者の中の初心者なんで。
Jaba入門ってページみたら、とりあえずJ2SDKっていうのをインストールしろって書いてあったんです。
どうすればいいか教えてください・゚・(つД⊂)・゚・
まず、俺とデートしよ
132 :
121 ◆lv.o3z9kM6 :2005/07/25(月) 18:32:26
>>130 男ですよ。
>>131 そんな・・・
J2SDKのダウンロードの仕方だけでいいんで教えてくださいよ・゚・(つД⊂)・゚・
>>132 SunのWebサイトに行って適切なリンクを辿り
英文で書かれたEULAを理解して同意した上で
ダウンロードすることが可能になりますので
英語を勉強するのは必須になるかと思います
おまえら、あまり強要すると今度は「間違って JRE インスコ」が来て長引くだけですよ。
>>132 いやまじでパソコン関係からの勉強した方がいいぞ。
こんな状態で言語勉強したって、何にも頭に入らんぞ。
プログラミング用語どころか、PC利用の基本用語からわかってないようじゃ。
HTMLとJavaScriptでも書いてなさい。
137 :
112:2005/07/25(月) 18:54:45
>>125 さん
なるほどーーー。ラップしてしまうというのは思い付きませんでした。
なにぶん初心者なもので、あれこれと行き当たりばったりに作ってます。
Channelなんてものがあったというのも知りませんでした。orz
パフォーマンス面でこっちの方が良さそうだし、現段階で余り大きなシステムでもないので、
全部Channelにしてしまうのも手ですね。
勉強不足を痛感しました・・・。
一応writeObjectごとにflushしてみましたが、残念ながら駄目でした。
125さんのようにラップしたクラスごと受け渡す方が良いのでしょうね。
ありがとうございました〜!
138 :
121 ◆lv.o3z9kM6 :2005/07/25(月) 19:14:12
頭に入るかどうかはとりあえずやってみますから教えてください。
139 :
121 ◆lv.o3z9kM6 :2005/07/25(月) 19:14:54
初心者大歓迎と書いてあるけど実は初心者はおよびでないんですかこのスレは。
>>138 だからまずは英語ですってば
英語読めないとダウンロードは無理
EULA理解しないと同意できないでしょうが
同意せずにダウンロードするのはダメだからね
>>139 残念ながらあなたは初心者以前の段階ですよ
>>138 ダウンロードできるところが英語しかないんで、なんともしようがないね。
やっぱり雑誌買え。無知は罪ではない。金で何とかしる。
143 :
86:2005/07/25(月) 19:24:56
聞き方悪かったのかな……
どなたか>86に答えてやってください。よろしくお願いします。
>>143 >>86 > Javaで縦書きのエディタって作れる?
技術的には可能です。実際に作れるか否かはあなた次第。
> どのクラスが使えそう?
(´・ω・)っ java.lang.Object
146 :
121 ◆lv.o3z9kM6 :2005/07/25(月) 19:27:08
>>140 インストールするときは、いつも文読まないで同意してるのでそれはどうでもいいです。
J2SDKがダウンロードできるところにリンクしてくれるだけでいいんです。
>>146 ライセンス違反の片棒は担げません
あなたは削除ガイドラインの8に抵触する書き込みを要求しています
149 :
121 ◆lv.o3z9kM6 :2005/07/25(月) 19:36:05
このスレの人って、わざと初心者をからかうようにして教えないようにしてるよね。
性格悪い。
プログラマーってそうなのかな。
そういやもう夏休みなんだっけ
SDKダウンロードしたところでコンパイル実行できそうにないレベルっぽいのだけが心配
Sample.java.txtとかつくってそうなきもする
>>149 平日の昼間にこんなところに居るプログラマがどういう連中か想像しれw
>>149 ×このスレの人って、
○このスレの派遣社員って、
おまえは初心者スレで初心者煽るくらいしか楽しみのない
低賃金労働層の派遣にならないようがんがれ。
153 :
デフォルトの名無しさん:2005/07/25(月) 20:07:48
JavaプログラムをキックするCプログラムってどうやって作るんですか?
>>153 JNI
簡単にしたいなら system("java Hoge")
かわいそうに。
「キックする」なんて言葉を使うところ(職場?)はロクなもんじゃない。
いろんな職場を転々としてる人ならではの知見ですね。
>>112,137
わかってると思うけどSerializeわすれないように。
あとね、Chatなんで全然問題ないと思うけど、ObjectOutputStreamは重いので。
158 :
デフォルトの名無しさん:2005/07/25(月) 21:21:22
int num[][]; ---(1)
num=new int[5][5]; ---(2)
(1)(2)は何を行う命令かをおしえてください。
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
System.out.print(num[i][j]+"");
}
System.out.println("");
何を行う命令か教えてください。お願いします。
まらまらご冗談を
(1)numて名称の2次元配列を宣言して
(2)そのサイズが5*5ですよと宣言
161 :
デフォルトの名無しさん:2005/07/25(月) 21:49:45
>160 ありがとうがざいます!!
夏かよ
いっとくが160には少し嘘があるぞ。いや、嘘じゃないな、足りないことだな。
164 :
デフォルトの名無しさん:2005/07/25(月) 23:27:55
Junitを入手したいんだけど、www.junit.org開けません。
ここ以外から入手できますか?
Eclipseでも落としたら
166 :
デフォルトの名無しさん:2005/07/25(月) 23:33:10
ちょっとおしえてください。
class A {
A(){
System.out.println("is this?");
}
{ // ←
System.out.print("What's ");
} // ←
public static void main(String[] args){
A a = new A();
}
}
OUTPUT:
What's is this?
←で示したブロックは文法的にどういう扱いなのでしょうか?
実行するとデフォルトコンストラクタのロジックより先に動いている。
訳がわかりません、どなたかお助けを!!
>>166 それって static{ ... } だろ。
スタティックイニシャライザ。クラスがロードされるときにじっこうされるから
そのクラスのコンストラクタ呼び出しより先に実行される。
168 :
166:2005/07/25(月) 23:41:07
>>167 ループの中でnewしてもその回数分実行されるのでstatic { }とは違うと思う。
逆にstaticがついている場合はループの最初一回だけの出力になるのでは?
C:\Documents and Settings\torao>copy con a.java
public class a{
public a(){
System.out.print("is this?");
}
{
System.out.print("What ");
}
public static void main(String[] args){
new a();
}
}
^Z
1 個のファイルをコピーしました。
C:\Documents and Settings\torao>javac a.java
C:\Documents and Settings\torao>java a
What is this?
えーこんなんあるんだ、0.9 から使ってるけど知らんかった… orz
C:\Documents and Settings\torao>java -version
java version "1.4.2_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05)
Java HotSpot(TM) Client VM (build 1.4.2_07-b05, mixed mode)
javap -c してみたらコンストラクタ内の Object.<init> の直後に
System.out.print("What "); が入ってるみたいね。言語規定の
どこに記述されてんだろ。
>>171 39。インスタンスイニシャライザか。
文脈から匿名クラス用のコンストラクタの代用品を意識したみたいだな。
>>169 バイトコードからの解析とは、、、
恐れ入ります。
>>170 自分以外にもorzな人がいて安心しました。
>>171 そのものズバリの指摘ありがとうございます。
みなさま、どうもありがとうございました。
アンチエイリアスについてです。
jarファイルだと、java -Dswing.aatext=true -jar hogehoge.jarでソフト全体にアンチエイリアスを
かけられることはわかりました。で、証券業者とかのJavaアプレットで取引をしてるんですが
そういうアプレットとかにもユーザー側でアンチエイリアスをかけるにはどうしたらいいでしょうか。
>>174 コントロールパネルの Java プラグインで同じオプション指定しろ。
176 :
174:2005/07/26(火) 01:14:53
>>175 早速どうもです。
Javaコントロールパネル>Java>Javaアプレットのランタイム設定>Javaランタイムパラメータ
に、-Dswing.aatext=trueと入れても効きませんでした。
jarファイルの場合でも-Dオプションを-jarの後に入れると効かないので順番的な問題があり
それで、コントロールパネルで設定しても効かないのかなあと。
Javaの初心者以前の、PCの初心者、ネットの初心者、質問の初心者、
社会的コミュニケーションの初心者までは相手にしてられんよ。
自己紹介乙
179 :
デフォルトの名無しさん:2005/07/26(火) 02:04:55
>>155 ハゲワラ
キックスターター
キックオフ
を使う職場もろくなもんじゃないでっか?w
>>172 違う、フィールドを宣言すると同時にフィールドに値を代入したいときにつかうもんだよ
なかでtry-catchされているものとかは{}で囲む
183 :
宗次郎:2005/07/26(火) 12:43:01
誰か私になんらかの意味のあるプログラムの作り方を教えてください。
学校のレポートなんです・・・
お勧めの難読化ツールを教えてください。できればフリーで。
誰か私になんらかの意味のある[ ]の作り方を教えてください。
学校のレポートなんです・・・
>>183かっこの中身適当に入れ替えて質問されたら答えられるの?
186 :
デフォルトの名無しさん:2005/07/26(火) 13:31:19
>>171 それでさあ、Java5に対応した言語規定ってないかな?
Genericsとかアノテーションとかそれに関するJavadocを使った場合とか
187 :
デフォルトの名無しさん:2005/07/26(火) 13:32:14
188 :
デフォルトの名無しさん:2005/07/26(火) 13:37:25
189 :
デフォルトの名無しさん:2005/07/26(火) 13:38:58
>>183 とりあえず
>>110。
要はお題フリーで何か一本書き上げろってことなんだよね?
宿題スレでも見て適当な題材と回答持っていったらいいんじゃないの?
>>185 意味のある[]の作り方
String test = "意味のある[]";
System.out.printf("%s",test);
193 :
デフォルトの名無しさん:2005/07/26(火) 15:48:18
eclipseで、VBの様に、画面を作る(ボタンやテキストボックスなどを画面につけていく)ことが出来る
といわれて、調べてみたのですがよくわかりませんでした
SWTとかってやつのことでしょうか?
お手数ですが教えて下さい
196 :
デフォルトの名無しさん:2005/07/26(火) 16:15:12
197 :
デフォルトの名無しさん:2005/07/26(火) 17:02:33
プログラミング初心者です。
public void actionPerformed(ActionEvent ae)
{
}
こいつの中に
public void paint(Graphics g)
{
g.drawImage(img, 10, 10, this);
}
これを入れたいのですが、どう書けばいいですか?
>>193 EclipseとSWTがごっちゃになってるのな。
SWTは標準ライブラリではないということを覚えておいたほうがいいと思う。
本格的にGUIやるならNetBeansでSwingさわったほうがよさげ。
>>197 あまりに初心者すぎるのでもう少し勉強が必要ですな。
たぶんアプレットの改造を試みて居るんだろうと思うが、
やりたいことは
public void actionPerformed(ActionEvent ae)
{
repaint();
}
でいいはず。
>>197 イベントハンドラー中で時間のかかる処理(描画など)を
やってはいかん。AWTとかSwingの基本を勉強しろ。
>>200 重い処理したところで無反応になる時間が長い程度で、
質問レベルからいってそういう次元までいってないと思われ
202 :
デフォルトの名無しさん:2005/07/26(火) 18:20:23
質問いいですか?
FileInputStreamのバイナリストリームで処理を行っているのですが、
1文字単位ではなく、行単位で処理する簡単な方法はないですか?
都合上InputStreamReaderは使えません。
よろしくお願いします。
203 :
197:2005/07/26(火) 18:38:28
>>202 バイナリで処理しているものに対して
なんで「行」という概念が存在するのか考えてみたまえ。
206 :
デフォルトの名無しさん:2005/07/26(火) 19:34:39
javaにおいて、バッファと文字列は何が違うんですか?
toStringメソッドを調べると、「文字列バッファの内容を文字列に変換します。」
と書いてあるんですけど。
バッファと文字列が同じ意味の言語があるなら教えてほしい。
違うから変換が必要になるってことがわからない?
StringBufferの内容をStringに変換します
StringBufferの内容をStringに変換します
211 :
デフォルトの名無しさん:2005/07/27(水) 01:36:18
>>202 > 都合上InputStreamReaderは使えません。
なぜ都合上使えないのか気になる。
InputStreamReaderには欠陥があるのか?
それとも頭の硬い知ったかぶりヴァカがInputStreamReaderの使用禁止令を出しているとか?
212 :
デフォルトの名無しさん:2005/07/27(水) 01:38:01
おいおい、いまどきStringBufferなんか使うかよ
これからの時代はStringBuilderの時代だぜ
213 :
デフォルトの名無しさん:2005/07/27(水) 01:48:09
どう違うんですか?
同期処理
215 :
デフォルトの名無しさん:2005/07/27(水) 02:45:47
自分のパソコンにつないだウェブカメラの映像を表示させるプログラム作りたいんですが
どうすればできます?
VectorとArryListくらいちがうな
>>211 おまえはヴァカと言いたいだけちゃうかと
>>211 宿題だろ?
出題側が「InputStreamReaderを自作してもらおう」という意図を持って、
宿題の注意書きに「ただし、InputStreamReaderを使用してはいけません。」と
書いたとか。
>>202 デコレーターパターンをキーワードに調べてみ?
あとはJavaのHTMLヘルプを参考にInputStreamReaderの
機能を調べてみよ。実装はそれほど難しくないはずだ。
必要な機能だけ実装すればいいからな。
行単位の処理がいつの間にか InputStreamReader 実装の話になってますな。
程度が知れる。
BufferedReader使えばいいだろ
改行まで読んだバイト配列を new String(byte[]) すれば良いじゃん。
なんで InputStreamReader を実装する話になってんだか。
>>223 InputStreamReaderを使えないのに?
>>225 FileInputStreamを使わずにFileReaderを使えばいいじゃない
車輪の再発明
>>226 おまい前提条件は無視カヨ
つーかこんなにレスつく話題なのか
宿題は専用スレへ、でFAかと。
JAVAってJSPとかiアプリとかあるけどどういう使われ方が一番多いの?
ちょっと見てくれ。JREのバグっぽいんだが
public class DialogBug {
public static void main(String[] args) {
final JFrame frame = new JFrame("frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 100);
JButton button = new JButton("open");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// final JDialog dialog = new JDialog(frame); // It works
final JDialog dialog = new JDialog(); // doesn't work
dialog.setTitle("dialog");
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setSize(200,100);
JButton button = new JButton("close");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
dialog.dispose();
// System.gc();
}});
dialog.add(button);
dialog.addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent e) {
System.out.println("disposed : " + e.getSource().hashCode());
}
});
dialog.show();
}});
frame.add(button);
frame.setVisible(true);
}
}
233 :
232:2005/07/27(水) 15:24:47
import宣言は省略。
これを1.4.2_08で動かすと、ダイアログを閉じるときに「disposed」と1回表示されるが、
1.5.0_04で動かすと、今までダイアログを表示した数+2回だけ、毎回「disposed」と表示される。
どうも、ダイアログのdisposeが正しく行われていないらしい。
表示されるハッシュコードの値を見るとそう思える。
一応対処方法は見つけていて、JDialogのコンストラクタのうち引数にFrameを持つ方を使うと、
1.5.0_04でも1.4.2_08と同じ、正しい動作になる。
また、dispose()の後でSystem.gc()を実行すると、dispose()したはずの古いJDialogが
WindowClosedイベントを発生させることはなくなるようだ。
ただ、同一ダイアログから2回WindowClosedイベント発生するのが気持ち悪いが…
BugParade見たんだけど、それらしいのはなかったような気がする。
だれか詳細知っている方いませんか?
234 :
デフォルトの名無しさん:2005/07/27(水) 16:36:59
http://www.gui4j.org/ gui4jってXMLからGUIを生成するツールなんだが、
使い方がわからん。
とりあえずツールDLして
http://www.gui4j.org/quickstart.html にある、サンプルソースもDLして
指定されたフォルダにも配置。
その後、ページに記述してある
java -cp gui4j.jar;examples.jar org.gui4j.doc.examples.quickstart.Main
ってコマンドうったんだが、
Exception in thread "main" java.lang.NoClassDefFoundError: /org/gui4j/doc/exampl
es/quickstart/Main
ってでて、サンプルソースを認識してくれない
指定方法が間違ってるんだろうか?
だれかおせーてください
235 :
デフォルトの名無しさん:2005/07/27(水) 20:13:13
JavaMail1.3.2を使って、SMTP経由で送信を行う、超基本的な
プログラムを組んでみました。
送信先として2つのメルアドを指定し、同じSMTP鯖から送信したところ、
片方は送信されましたが、もう片方が、
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
でエラーになってしまいます。
RCPT TOのチェックでひっかかっているのですが、
JavaMailでエラーになったこのアドレスに対し、Beckyなどのメールクライアントから
送ると、問題なく届きます。
何か回避策はありますかね?
>>233 親を持たないダイアログってのはあまりないからなぁ
バグが放置されてるのかも
ちなみに印刷まわりが5.0バグ満載に最近気がついた
1.4での新機能の印刷サービスのほうからいじると大丈夫なあたりがあやしい
237 :
デフォルトの名無しさん:2005/07/28(木) 06:56:40
TextAreaで、表示行数を超える行数に渡る文字列をinsertすると
自動的に最後の文字がフォーカスされて最初の方の文字が表示されなくなってしまうんですが
最初の文字にフォーカスがある状態にするにはどうしたらいいですか?
239 :
デフォルトの名無しさん:2005/07/28(木) 17:31:24
java3Dをつかったプログラムをプロンプトをつかって実行すると
ちゃんと動くんですがイクリプスでコンパイルしようとすると
jarファイルをインポートしてないとかでエラーになっちゃいます
どのjarファイルをインポートしたらいいんdesuka?
240 :
112:2005/07/28(木) 18:07:35
前回の質問は解決しました、御助言ありがとうございました。
今までは、スレッドの外でObjectOutputStreamを作って各クライアントに送信してたのですが
スレッドの内部にクライアントへ送信するメソッドを作って、スレッドの外から呼び出すことで、解決しました。
ObjectOutputStreamをスレッドの中と外で別々に作ったのに問題があったのかな?とか思いますが、確かなことはわかりません。
申し訳ありませんが、新しい質問をさせてください。
簡単なチャットシステムを作ろうとしています。
サーバからArrayListを各スレッドのクライアントに送信したいのですが、
サーバ側から
oos.writeObject(arraylist);
でユーザ名の格納されたArrayListを送信し、クライアントの受信スレッドで、
list = (ArrayList)ois.readObject();
で受け取りました。
しかし複数のクライアントが接続したとき、
送信側にSystem.out.prinln("arraylist = " + arraylist);を加えると、
arraylist = [user1, user2, user3]
が返されるのですが、受信側では、user1では、
list = [user1]
user2では、
list = [user1, user2]
user3では、
list = [user1, user2, user3]
という内容を受信してしまいます。
サーバ上でArrayListにStringをaddするのは、スレッドの外で処理してるはずなので、
スレッド毎にArrayListの中身が違うはずが無いのですが・・・。
何か勘違いしてますでしょうか?
241 :
112:2005/07/28(木) 18:13:01
>>239 さん
eclipseで、Java3D使いたいプロジェクトを右クリックして、
「プロパティ」から、「Javaのビルド・パス」→「ライブラリ」で、外部JARの追加で、
j3d.jarを追加すれば良いと思いますよ。
javaで映像的なことをしたいのであれば、Processingもオススメです。
ttp://www.processing.org
242 :
デフォルトの名無しさん:2005/07/28(木) 18:26:37
>>241 ありがとうございました
そのHPすごいですねとても気に入りました
ところでj3d.jarってjava3dをインストールしたフォルダに
入ってます?なかなか見つからないんですが・・・。
A縺ォ繧医k陦ィ迴セ
縲縲縲縲竏ァ 竏ァ縲縲縲 ?シ擾ソ」?ソ」?ソ」?ソ」?ソ」?ソ」?ソ」?ソ」?ソ」?ソ」?ソ」?ソ」?ソ」
?ス樞イ?ソ」?ソ」( ?セ渙費セ?)?シ懊縲 [[騾昴▲縺ヲ繧医@]]?シ??シ??シ?
縲UU?ソ」?ソ」縲U U縲縲?シシ?シソ?シソ?シソ?シソ?シソ?シソ?シソ?シソ?シソ?シソ?シソ?シソ?シソ
起動するvm全部に-server付加させたいのですが
何か得策ありませんでしょうか
245 :
デフォルトの名無しさん:2005/07/28(木) 21:19:49
は
246 :
デフォルトの名無しさん:2005/07/28(木) 21:37:47
あーああの
ソフト開発には色々な言語があると聞きますが、勉強するなら
どれが一番オススメですか?
アメリカ英語
たしかにここは「クリンゴン語」とかいうところだからな。
だまれスポック
>>247 何するかによるけどCなら使えん場面はすくないだろうなあ。
既存のJava ApplicationをWeb Application化することになって
少々困ってます。
特殊な処理をあるライブラリを使っているのですが、
これはWeb Application化を前提としていないようなのですが,
このままlibディレクトリに入れても使えるものなのでしょうか?
あるいはBean化しないと使えないものなのでしょうか?
ちなみに,ライブラリですので画面出力とかは行っておらず、
いわゆる演算処理しかしてません。
そのライブラリはソースがありますのでBean化とかも考えたのですが、
アクセサメソッドはそこここにあるようなのですが
コンストラクタは引数入りまくりですのでちょっと大変だなと思い
確認したかったんです。
いろいろな情報源からの情報でかなりこんがらがっております。
申し訳ありませんがご教授の程よろしくお願いします。
・JNI 使ってないか
・マルチスレッドで実行しても大丈夫か
これくらい確認しろ。
文章からして Java に関する基本的な知識がなさ杉。
>>254 早速のお返事ありがとうございます。
そうなんです。仰る通りなさ杉です。始めたばかりなんです。
ちなみにJNIは使ってません。
マルチスレッド...確認します。
この2点を確認したらOKということですか?
ちなみにJava ApplicationからWeb Applicationへの移行について
どこか参考になるものってあるのでしょうか?
いろいろと書籍をあたってきたのですが、
どれも一からWeb Applicationを始めるものばかりで困ってまして...
>>255 JavaWebStartを検討してみた?
配布の問題を解決するだけのためなら、こっちの方が楽だよ。
現状で動くアプリケーションがあるならなおさら。
257 :
デフォルトの名無しさん:2005/07/29(金) 19:17:53
Fedora上でnamazuを呼び出すjavaプログラムを書いています.
namazuはもともとutf-8の文字列を入力として受け付けないので,
stringクラスのgetBytesメソッドで検索キーワードをEUCに変更してから
namazuの入力として与えています.
しかし,のgetBytesメソッドで検索キーワードをEUCに変更すると,
文字列は???という文字列になってしまい,namazuにおける検索も
???に対する検索をおこなってしまいます.
例えば,javaプログラムの標準入力としてレンタルという文字列
を与え,その文字列をプログラム内でEUCに変更してnamazuに渡すんですが,
その文字列は????となってしまい,検索結果は????に対するものに
なるという感じです.
なお,Fedoraの環境は,/etc/sysconfig/i18nでデフォルトロケールは
EUCに変更しております.
????になってしまう理由と対処策をお教え頂けないでしょうか?
よろしくお願い致します.
IANA 的には EUC ではなく EUC-JP だったはず。
259 :
デフォルトの名無しさん:2005/07/30(土) 00:45:36
JComponent(を継承したコンポーネント)にファイルをドラッグ&ドロップした時に
そのファイルのPathを知るにはどうすればいいですか?
コンポーネントのパスってなんだ?
サンタクロースか
263 :
おしえて:2005/07/30(土) 17:06:23
ちょっと知りたいことがあるんでお願いします。
javacでコンパイルしてjavaで実行すりゃ自分では自分のプログラム使えるだろうけど、
他の人に配布して他のPCで実行するときには、
javacしてjavaで実行してね、っていうわけにはいきませんよね・・・。
.exeみたいな単体で実行可能なファイルを生成するには、
どうしたらいいんでしょうか。
java入門書にはそういうことがどうして書かれてないの??
ちなみにeclipseとかじゃなく、J2SDKとコマンドプロンプトの環境で
できる方法を教えて欲しいです。
>>263 jar ファイル
マニフェストファイル
265 :
おしえて:2005/07/30(土) 17:38:09
日経ソフトウェア見た。
J2EEが否定してあった。うれしかった。
ばか、日系は持ち上げる記事をこき下ろす記事を両方載せることで有名じゃねえか
268 :
デフォルトの名無しさん:2005/07/30(土) 17:57:07
突然、お邪魔します。
Javaとは関係ない話で申し訳ない。
このプログラム板の他のスレを見ようとすると…
(関数言語関係など)
もうずっと人大杉
携帯 でのアクセスについて
■とりあえずスレッドを読むには■
このような面妖で訳の分からん画面が現れる…
これは何でしょうか?
>>266 何をいまさら・・・
EJB→DIなんて1年前からいわれてるのに
板違い
271 :
デフォルトの名無しさん:2005/07/30(土) 18:58:37
すいません、先日、ここでお世話になったものです
先日はありがとうございました
で、今日、またまた困った問題が、、、
「やさしいjava」を参考にしてやってます
「画像の表示」についてなんですが、
「やさしいjava」のhpから、ダウンロード?した、サンプルコードについていた、画像「Image.gif(GIFイメージ)を使えば画像表示できるのに、僕が「ペイント」で作った「”car.gif"」だと、画像が表示されないんです
どうしてなんでしょう?名前を「"Image.gif"、"Car.gif"」にしたりしたけど、だめでした
大きさを一緒にしたけどだめでした
昨日、夜必死に格闘しましたが、さっぱりです
こんな超初心者は、一体何が悪かったのでしょうか?
教えてください!よろしくお願いします
272 :
デフォルトの名無しさん:2005/07/30(土) 19:00:21
あ、もちろん、javaコードも書き換えてます
273 :
デフォルトの名無しさん:2005/07/30(土) 19:05:33
ついでに、エラーとかもないんです
ただ、画像が出ないだけなんです
>273
正直、そのソースコードと画像をまとめてどっかにうpでもしてもらわんことには
何とも回答のしようがないような。
日経ソフトウェア買ってきた。
276 :
デフォルトの名無しさん:2005/07/30(土) 20:03:44
import java.awt.*;
import javax.swing.*;
public class Sample407 extends JApplet{
private JLabel lb[] = new JLabel[3];
private Icon ic;
public void init(){
Container cnt = getContentPane();
for(int i=0; i<lb.length; i++){
lb[i] = new JLabel("車" + i + "はいかがですか?");}
ic = new ImageIcon(getImage(getDocumentBase(),
"car.gif"));
lb[0].setIcon(ic);
lb[1].setIcon(ic);
lb[2].setIcon(ic);
lb[0].setHorizontalTextPosition(JLabel.LEFT);
lb[1].setHorizontalTextPosition(JLabel.CENTER);
lb[2].setHorizontalTextPosition(JLabel.RIGHT);
lb[0].setVerticalTextPosition(JLabel.TOP);
lb[1].setVerticalTextPosition(JLabel.CENTER);
lb[2].setVerticalTextPosition(JLabel.BOTTOM);
cnt.setLayout(new GridLayout(3, 1));
for(int i=0; i<lb.length; i++){
cnt.add(lb[i]);}}}
277 :
デフォルトの名無しさん:2005/07/30(土) 20:05:15
とっても、醜いかと、思いますが、無理やり詰め込んだため、こんな形となってしまいました
すいません
コードです
いやー
EJBがだめってことがわかってよかったよー
俺はずっと言い続けてたのにアホが新しいからって
飛びついて。これからは俺についてこいよ。アホども
動的にクラスを定義することって出来ますか?
インスタンスはひとつだけなので、無名クラスでも構いません。
バイトコードを表すバイト列さえ作れば動的クラス定義は可能です。
一番簡単なのは、動的にソースを作る→コンパイル→できたクラスファイルを読み込む。
詳しく知らんが
DynamicProxy
cglib
javassist
あたりでぐぐると
アプリレベルでクラス定義を動的に作りたいって場合は設計が悪いだけだよな
>>276 画像のロードに素直にImageIO使ってみたら?
データクラスを自動生成してくれるフレームワークがあったら素敵だけどな
Strutsとか触っててそう思わない?
>284
自動ってどのへんまで?
DynaBeanじゃまだ辛い?
>>285 同じ意味をなす構文をあちこちに書くのはしっくりしない。
<form-property name=“name” type="java.lang.String" />は
<html:text property="name" />だけで自動判別とかしてくれないのかな?
>>278 まともな頭の持ち主は前から気づいてたと思うぞ。
Web系なんてアホばっりだし。
DIにも振り回されてるやつ多いけどな
結局開発環境なんてとっつきやすさが大事だよ
EJBなんて糞
まちがえた。
Middlegen。
292 :
707:2005/07/31(日) 04:26:52
public int getExamScores(){
return examScores;
if( 90 = < getExamScores() && getExamScores() < 100){
String oS = "Out Standing Score!!";
}
if( 60 = < getExamScores() && getExamScores() = < 89){
String sS = "Satisfactory Score";
}
else if ( getExamScores () < 60 ){
String uS = "Unsatisfactory Score";
}
}
このif statement なんでエラーになるのでしょうか?
・直前で return してるので到達不能
・= と < の間に空白がある
294 :
デフォルトの名無しさん:2005/07/31(日) 04:49:44
スペースをなくしてみましたけど、コンパイルしません。
上の形のばあいコンパイルするのですが。
if( 90 < eS.getExamScores() && eS.getExamScores() < 100){
System.out.println("Out Standing Score!!");
}
if( 90 =< eS.getExamScores() && eS.getExamScores() =< 100){
System.out.println("Out Standing Score!!");
}
どこから指摘すればいいものやら
296 :
デフォルトの名無しさん:2005/07/31(日) 08:22:28
jre1.5で正常に動作するコードを、1.1で動かしたくて、
-target 1.1 -source 1.2
のオプションをつけてコンパイルしたのですが、画像が表示されません。
//init内
img = getImage(URL);
//paint内
g.drawImage(img,x,y,xx,yy,x2,y2,xx2,yy2);
というようにしています。
どうしたら表示させられますか?
297 :
デフォルトの名無しさん:2005/07/31(日) 10:03:26
arrayを使わずにインプットされた、複数の数字の
中からmaxとminimumを見つけ出さなければならないのですが、
どうやって見つけることが出来るでしょうか?
arrayに入れる
299 :
デフォルトの名無しさん:2005/07/31(日) 10:17:59
import java.applet.Applet;
import java.awt.*;
import java.lang.*;
public class test extends Applet{
TextArea text = new TextArea("",2,30,1);
text.setBackground(new Color(255,255,255));
text.setFont(null);
}
このコードをコンパイルしようとすると、"<indentifier>がありません。"
というエラーがsetBackgroundとsetFontのところで起こります。
どうすれば解決出来ますか?
300 :
デフォルトの名無しさん:2005/07/31(日) 10:18:35
Vectorを使う。
302 :
デフォルトの名無しさん:2005/07/31(日) 10:35:33
Vectorもダメなんですよね。。。。
303 :
デフォルトの名無しさん:2005/07/31(日) 10:39:33
メッセンジャーみたいなので音楽を一人が流してもう一方のメッセンジャーを使ってる
人にも聞けるようなツール若しくはメッセンジャーを知りませんか??
板違いの場合は他に誘導して頂ければ幸いです。
どなたかわかる方教えてください。お願いします
305 :
デフォルトの名無しさん:2005/07/31(日) 10:47:28
307 :
デフォルトの名無しさん:2005/07/31(日) 11:10:15
だめ
>>297 マジレス。入力されたそばからminとmaxだけ残して後は捨てていく。
値を全部覚えておきたければListを使うしかない。
309 :
デフォルトの名無しさん:2005/07/31(日) 11:30:31
>>308 理解したように書いてみたんですが、まだ無理です。出来たらヒント
をもらえませんか?
public void calculateScores(){
int numberExam = readInt("How many exams?");
System.out.println("Number of Exams:" + numberExam + "\n");
for (int countExam = 0 ; countExam<numberExam; countExam++){
int scores = readInt("Enter Exam Score");
System.out.println("Exam Score:" + scores);
int min = 0;
if(min > scores){
min = scores;
}
System.out.println("Smallest Score:" + min);
アプレットのshowDocument(URL url)で他のページを表示した後そのページを再読み込みする方法知ってたら教えてください。
int min = 0;
int min = 0;
int min = 0;
int min = 0;
int min = 0;
312 :
デフォルトの名無しさん:2005/07/31(日) 12:17:29
after the program read the score from user's input ,
u compare this score with two variables,
(One is holding the smallest ,one is holding the biggest),then update this variable values if necessary.
Finally,this two variable will be the smallest and the biggest
じゃかるたべろしちー使ってる人いる?
とあるエディタに組み込もうと思ってるんだけど
Java界隈で他にフォーマッタとして適してるライブラリってあるのかな?
Microsoft VMで動くアプレットを作りたいのですが、
そのVMに合わせたコンパイルエラーを出してくれるコンパイラって何処で手に入りますか?
コンパイルオプションを1.1にすりゃいいだけだったような・・・
316 :
314:2005/07/31(日) 16:42:19
-target 1.1
としても、1.1用のクラスファイルを作ってくれるだけで、
その仕様に合わせたコンパイルエラーをだしてくれません。
MSJVM と言うとかならず「素直に〜」って奴が現れるんだが。
必要があれば、Eclipse でプロジェクトを作って、デフォルトの JRE システムライブラリを
JDK 1.1 の JAR や MSJVM の ZIP に差し替える。ただ実行するとちょっと挙動不審な
ためリンクチェックのみを目的として。
ファイルの中身を丸ごとStringに放り込むときに一番効率のよいコードを教えてください。
やはりStringBuffer#append(line)でしょうか?
でかいファイルだったらFileChannel使ってバイト列からやった方が速かった。
もう昔の話なんで嘘かもシレン。
あと、そのStringBufferと普通にBufferedReaderでいいんじゃない?
320 :
デフォルトの名無しさん:2005/07/31(日) 22:06:50
ちょいと教えてください
javaにはCDドライブを開けるためのAPI、ある?
メディアプレイヤーみたいなもので、CDの取り出しボタンを
つけるときに使うようなやつ・・・
あああ ずちあ ぐない むおお ぬいく ねじえ
をかあ くおど ぞざや えべだ たうさ とべせ
すおに きだぎ まぎだ らざざ げほお こやれ
よぐか けりつ うでん ろをわ せやあ めきう
うごど おどや てへれ ずすあ ないぐ はぐし
そらろ だつみ どおほ はをち かおふ せおて
びじぐ
ここは ふっかつのじゅもんを メモするところでは ありません
>>319 ありがと。でも文字コードを考慮しなきゃいけなかったから
いろいろ探してたらStringBufferの相方はScannerになりそう。
これってAPIの中でも最高級のラッパーっぽいね^^;
すまん、間違えて復活の呪文を書いてしまった俺だが・・・ついでに言っておく
これからはStringBufferは使わなくなるだろう・・・JDK5.0ではな・・
>>325 これからのトレンドは何になるのでしょうか?
java.lang.StringBu
までは同じだ!
StringBuilderとScannerで楽し放題と?
ちなみにもうひとつ
>>319さんがいっているのはファイルをメモリ上にアロケしたときのこと言っているのかな
あれは確かに速すぎ
5.0の新機能はJSPが追いついてなくて泣く泣く諦めた経験がある。
ちょっと次元が違う話っぽい・・・
>>327 ストリングブーですね!
ありがとうございます
333 :
319:2005/07/31(日) 22:57:25
すんません。Java5については全くわかりませんで、1.4で話をしていました。
失礼しました。
仕事で使ってないから全然知らないんですよ・・・・。
DB使ってるんで総称は非常に魅力的に感じてるんですが。
オートボクシングも。
使ってないからコメントできないのですよねぇ。
>>329 そうです。MappedByteBuffer 使うやり方です。
>>333 >仕事で使ってないから全然知らないんですよ・・・・。
いやいや、仕事でやってるJavaプログラマなんかより
MappedByteBuffer知っている君のほうが知識に関しては上だと思うよ
実際俺は素人からプロのPGになったわけだが
業務でやっている人は、言語の知識は低い
Stringの連結とか平気でやっているからね
Rhino, Velocity, HSQLまで覚えました。
強力なフリーソフト作成支援フレームワークを目指しているのですが
他にオススメなライブラリはありますでしょうか?
なに、この上から見下ろすような発言
だれが?
339 :
332:2005/07/31(日) 23:06:17
もっと知見を広げろよ、自称プロ。
だれが?
JavaのフリーソフトってVectorで出回ってる?
MTAなら見たことある
シェアなら結構あるよ
そういやファイルローグってどこ行ったんだろ。
>>335 ちょっと誤解があったようなので訂正します。
仕事で使ってないのはJava5の事で、
Javaをメインに仕事してます。
地方なのでラダーまで書いたりしますけどね。
あと、仕事だと1.3縛りもあったりで、
まだ自由にJava5でやらせてくれるところがないんですよねぇ。
そんな感じで、実際に本当に使ってみたものでないと評価できないってことを書きたかったわけです。
ラダーって何?
347 :
デフォルトの名無しさん:2005/08/01(月) 11:52:08
このif文がコンパイルしないんですけど、何でだかどなたか教えてもらえませんか?
public void getCategory(){
String numberExam = JOptionPane.showInputDialog("How many sores?");
int theLength = Integer.parseInt(numberExam);
System.out.println("Number of Exams:" + numberExam + "\n");
int[] theScore= new int[theLength];
for (int i = 0 ; i < theLength; i++){
String score = JOptionPane.showInputDialog("Enter Exam Score" + (i+1));
int sr = Integer.parseInt(score);
System.out.println("Exam Score:" + score);
if( score >= 90){
System.out.println("Out Standing Score!!\n");
}
theScore[i] = Integer.parseInt(score);
}
>>347 文字列と数値は比較できない。
それはサテオキ、
・どのif文か書きましょう
・どんなエラーか書きましょう
349 :
デフォルトの名無しさん:2005/08/01(月) 12:24:24
parseIntを入れればいいんですね!!!!!!!
ありがとうございました!!!
RandomAccessFileクラスでファイルAを操作しているときに(具体的に,if文である文字列が現れるかどうかを判定),
他からファイルAを上書きすることは可能でしょうか.実際試してみましたが,can not create fileと表示されてしまいました.
もしやり方があればご教授下さい.宜しくお願い致します.
>>350 ファイルAを開いてるんでしょ?他から上書きできるわけないじゃん。
上書きもとのファイルを読み込んでファイルAに書く込むならともかく。
353 :
350:2005/08/01(月) 14:41:42
>>352 具体的なアドバイス頂けないでしょうか.
>>353 AからBというファイルをコピーしてBに書き込み
Aの読み込みが終わったらAを消してBをAという名前にする。
どうだ!すごいだろ
>>350 だから、一旦ファイルAを閉じてから他のファイルで上書きすりゃいいじゃん。
356 :
デフォルトの名無しさん:2005/08/01(月) 15:21:17
javaで4バイトの符号付2進数を読み込んでintに変換したいのですが
どうやったらいいのでしょうか?
>>356 マルチはやめなされ。
具体的にどういうことがしたいのよ?
358 :
デフォルトの名無しさん:2005/08/01(月) 16:26:38
JAVAの資格
(Sun 310-035 Sun Certified Programmer for Java 2 Platform 1.4 )
を取得するのに使えるページがあったら教えて下さい
よろしくお願いします
※本は3冊買いました(黒本など)、ネット上でも気軽に勉強したいので
オブジェクトをCで言うところの参照渡ししたいのですが、調べてみるとJAVAだと直接できないようなので
ラッパークラスを使ってやろうと思うのですが、そのクラスに入っているオブジェクトを参照すると、NullPointerExceptionがおきます。 このラッパークラス手法でなくても良いので何か参照渡しを行う手法はありませんか? できれば、この手法のまま改善したいのですが・・
361 :
デフォルトの名無しさん:2005/08/01(月) 17:16:28
>>356 DataInputStream 経由で読むか、既に byte 配列に入っているなら
自分で計算して int にすれば良い。
例) byte配列bのpからの4バイトをintにする場合
int x = ((b[p] & 0xff) << 24) | ((b[p + 1] & 0xff) << 16) | ((b[p + 2] & 0xff) << 8) | (b[p + 3] & 0xff);
p.s.
美しくないな…
>>361 なんでもかんでも一行にまとめようとせず、for でも使った方がシンプルじゃまいか?
>>361 エンディアン考慮してないね、それ。
こっちの方が良くない?
前提byte[] dat の先頭に目的の4バイトが入ってる
ByteBuffer buf;
buf.allocate(dat.length);
buf.put( dat ).position(0);
buf.getInt();
最後で取り出してる。好きなものに入れなさい。
エンディアンはorderでかえられる。
入ってる位置が先頭でないなら、positionで変更できる。
テンプレサイト見てるんですが
最新版JDKの環境変数わかる人いませんか?
符号付2進数の4バイトって7〜-8をあらわす文字列ってことじゃないの?
366 :
363:2005/08/01(月) 18:06:36
>>363のソースの1行目と2行目にちょっとミスがありますので、勝手に直してください。
367 :
デフォルトの名無しさん:2005/08/01(月) 20:24:14
368 :
デフォルトの名無しさん:2005/08/01(月) 20:31:27
>>358 あの試験は意味が無いと評判ですよ。
無理して取る必要はないです。
無茶苦茶な問題ばかりですから。
>>368 関係ないけど
その他の試験受けるにはSCP取らないといけないんだろ?
めんどくさいなぁ・・・
swingで、重なり合って配置した二つのコンポーネントに、同時にイベントを通知させることってできますか?
普通にやると、一番上にあるコンポーネントがイベントを消費しちゃうみたいで、それを消費させず、下のヤツにも伝えてやりたい。
重なってる部分をクリックしたら2つともいっぺんに選択されるとか、
あと、ウィンドウの外枠近くにカーソルが行ったら自動的にそっちにスクロールさせるため、窓全体に一枚透明なコンポーネントをかぶせるとか、
そんなことを意図してます。
371 :
デフォルトの名無しさん:2005/08/02(火) 00:49:43
java.io.FileクラスにsetHiddenってないですよね?
標準API以外(commonsなど)でもいいので、Windowsのファイルに隠し属性を付加するAPIってありませんか?
もし知っている方いらしたら教えてください。
372 :
デフォルトの名無しさん:2005/08/02(火) 01:05:00
>>371 CでWin32APIを利用したモジュールを作る
次に、JNIコール。JNIが助けてくれる。
373 :
デフォルトの名無しさん:2005/08/02(火) 01:10:49
一見、JNIを利用するのはPure Java観点から見ると
邪道のように思われる。
しかし、Javaが最も苦手、頭を悩ませているシステム依存の
ファイルシステム関連の操作はJNIを利用した方が良い。
(それ以外に方法はない)
実際に、Javaのファイル関連は、いくつものCヘッダを経由した
JNIによって実装されている。(その殆んどはJVMに隠蔽されているが)
故に、Windows,UNIXでシステムに依存する形となった。
セパレータが一例であることは言うまでもない。
374 :
kap:2005/08/02(火) 01:55:24
java ボタンを二つ配置して、ボタン1を押したら、yama.au ボタン2
を押したら kawa.au という音声ファイルを再生さしたいんですが できるの
でしょうか? だれか 教えてください。 できれば ソースを書いてくれると
たすかります。 お願いします。
>>374 Q374.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import javax.sound.sampled.*;
public class Q374 extends JFrame {
public static final String[] names = {"yama.au", "kawa.au"};
public static void playAudio(String fileName) {
try {
final Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream(new File(fileName));
clip.open(ais);
clip.addLineListener(new LineListener() {
public void update(LineEvent evt) {
if (evt.getType() == LineEvent.Type.STOP) {
if (clip.isOpen()) clip.close();
}
}
});
clip.start();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
376 :
375:2005/08/02(火) 03:03:26
public Q374() {
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
for (int i = 0; i < names.length; i++) {
JButton btn = new JButton(names[i]);
final int index = i;
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
playAudio(names[index]);
}
});
cp.add(btn);
}
setSize(300, 100);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
}
public static void main(String[] args) {
JFrame frame = new Q374();
frame.setVisible(true);
}
}
final とか使っちゃったりしてイベント処理が雑なんだが、勘弁して…。
オーディオ関連の大抵の事は、javax.sound.sampled.* あたりで処理できます。AudioSystemクラスを使い倒す方向で。
javax.sound.sampled.Clipの仕様だと思うのですが、このサンプルだとサイズの大きい音声ファイルは読み込めません。悪しからず。
本気なら
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/sound/index.html 以下を読みましょう。長文スマソ。
JavaSoundは簡単に扱えるからAPIでも眺めてれば普通に使えると思うよ
Vectorに格納されているDoubleオブジェクトをdoubleにするのはどうすればいいのでしょうか?
doubleValue();を使うまでは分かるのですが、java.lang.ClassCastExceptionが起きてしまいます。
コードは下記の通りです。
double value = ( (Double)data.elementAt(i)).doubleValue();
JAVAの基礎は身についているとしてJSPを極めるにはどのような知識が必要で
どのようなロードマップをたどる必要があるのでしょうか?
380 :
デフォルトの名無しさん:2005/08/02(火) 11:54:15
>>378 data.elementAt(i) で取り出されたインスタンスは本当に
Double クラスのインスタンスなのか? ちょっとその部分を
こんな感じにして調べてみな。
Object obj = data.elementAt(i);
if (obj instanceof Double)
double value = ((Double) obj).doubleValue();
else
System.out.println(i + "番目は Double ではない。obj=" + obj);
>>380 ありがとうございました。おかげで問題が解決されました。
>>361 ども
>>356です。
DataInputStream経由でとるようにしました。
こんな使い方あるんですね。知らんかった。
int x = ((b[p] & 0xff) << 24) | ((b[p + 1] & 0xff) << 16) | ((b[p + 2] & 0xff) << 8) | (b[p + 3] & 0xff);
で取るやり方も考えたんですが負数の扱い方が分からなくて
断念しました。
ちょっとてんぱっててつたない質問になってしまいました。
お答えいただきありがとうございます。
>>382 >>363はどうなのよ。
ByteBuffer buf = new ByteBuffer.allocate(dat.length);
buf.put( dat ).position(0).getInt();
が楽だと思うが。
>>383 ByteBuffer.wrap(dat).getInt();
385 :
383:2005/08/02(火) 13:23:22
>>384 そっちの方が簡単ですな。しらんかった。
日付の演算について質問です。
Date AとBとの差分を時間(hour)で欲しいのですがどうしたら良いでしょうか?
ミリ秒で差分を取ってそれを計算で時間に直す方法を今使ってますが、
そうじゃない方法があれば教えてください。
DateでなくてもCalendarで出来るならそちらでもかまいません。
>>386 > ミリ秒で差分を取ってそれを計算で時間に直す方法
それでなんら問題ない。Calendar にしろ Date にしろ、単純には差を取れない。
差が少ないならCalendar.addをHOUR単位で使ってカウントアップする
という方法もありますが、汎用的な方法は386さんの方法しか(現時点
のAPIには)ありません。
389 :
デフォルトの名無しさん:2005/08/02(火) 15:30:00
20 30 40 25 60 80
を選択ソートしたら、交換の数は2回、比較する数は13回であっている
でしょうか?
390 :
デフォルトの名無しさん:2005/08/02(火) 16:39:29
>>389 ↓
20 30 40 25 60 80
1 番目に小さな要素を確定するために
比較 5 回 (30 40 25 60 80 と)、交換 0 回
↓
20 30 40 25 60 80
2 番目に小さな要素を確定するために
比較 4 回 (40 25 60 80 と)、交換 1 回 (25 と)
↓
20 25 40 30 60 80
3 番目に小さな要素を確定するために
比較 3 回 (30 60 80 と)、交換 1 回 (30 と)
↓
20 25 30 40 60 80
4 番目に小さな要素を確定するために
比較 2 回 (60 80 と)、交換 0 回
↓
20 25 30 40 60 80
5 番目に小さな要素を確定するために
比較 1 回 (80 と)、交換 0 回
計 比較 15 回、交換 2 回
ちなみに、比較回数は交換回数に関係なく n*(n-1)/2 回。
393 :
デフォルトの名無しさん:2005/08/02(火) 17:26:23
java3Dの勉強をしてるんですが
参考本にあるサンプルプログラムを実行すると
下のようなエラーが発生します
どういう意味ですか?
解決方法を教えてください
Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at javax.media.j3d.MasterControl$1.run(MasterControl.java:389)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.MasterControl.<init>(MasterControl.java:386)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:550)
at Sample01.Sample01.main(Sample01.java:23)
394 :
デフォルトの名無しさん:2005/08/02(火) 17:31:55
>>393 JNIのエラーだな
Java3Dセットアップしたの?
396 :
デフォルトの名無しさん:2005/08/02(火) 17:43:13
>>395
一応java3d はインストールしたんですけど・・・
何かそれ以外にしておかなくてはいけないことってあります?
397 :
393:2005/08/02(火) 17:46:53
あ、いいわすれてましたが
これ一応プロンプトで実行するといけるんです。でも
このエラーはイクリプスで実行しようとしたときだけでちゃうみたいです
ちゃんと外部jarの追加でj3d.jarファイルは読み込んでるんですけど・・・。
だからJNIつかってるんだからjarとは別
java.library.pathという環境設定でDLLとかSOとか探してくるんだが
それで見つかってないというわけ
399 :
393:2005/08/02(火) 19:17:17
別人だが、
397でやってる外部Jarの追加をしても、
それでコンパイル出来るようになっただけ。
実行時に参照するものが無いって怒られてる。
Java初心者だろうけどもう少し頑張れ。
J3D.DLL というファイルがどこかにあるはず。
手っ取り早いのはこのファイルを C:\Windows などのパスが通ったディレクトリに放り込む。
402 :
デフォルトの名無しさん:2005/08/02(火) 20:14:50
>>382 > 負数の扱い方
負でもそのままで出来ます。
Java の仕様を調べるか、あるいは自分で int の負の値を
8ビットごと切り出してみれば分かります(あるいは16進数で
表示してみるとか)。
-1 は int だと全部ビットの立った 0xffffffff になります。
最低値は 0x80000000, 最高値は 0x7fffffff です。
DataOutputStream で byte[] に変換すると上の桁の
方から 8 ビットづつ出力されます。(Big endian)
DataInputStream は最初に読んだ byte が一番上の
桁に来るように読みます。
403 :
デフォルトの名無しさん:2005/08/02(火) 20:46:27
SunJava認定資格とJava能力認定試験って、どっちの方が社会的知名度や評価が高いんですか?
404 :
393:2005/08/02(火) 20:48:43
>>401 ありがとうございます。おかげさまで
jd3.dllというファイルにパスを通したらエラーは減りました
でももう少しです・・・・。↓これはどう対応すればいいですか?
Exception in thread "main" java.lang.UnsatisfiedLinkError: initializeJ3D
at javax.media.j3d.MasterControl.initializeJ3D(Native Method)
at javax.media.j3d.MasterControl.<init>(MasterControl.java:577)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:550)
at Sample01.Sample01.main(Sample01.java:23)
同じだろ
406 :
デフォルトの名無しさん:2005/08/02(火) 21:33:07
印刷関係で質問があります。
JavaのPrintAPIを使って表示されているGUIコンポーネントを印刷しています。
具体的にはコンポーネントのprint()メソッドを実装することで実現しています。
で、何がしたいかと言うと用紙サイズにジャストになるように印刷できるようにしたいです。
で
ttp://www.ne.senshu-u.ac.jp/lectures/2002/ns/OOP/j2sdk/docs/ja/guide/jps/spec/JPSTOC.fm.html を読みつつ頑張ってみているのですがうまくいきません。
どなたかアドバイスお願いします。
トライしてみた事
・Graphics2DからGraphicsConfigurationを持ってきて、getNormalizingTransformとか使ってがちゃがちゃ
・PrintServiceインスタンスに入れられる適当な属性を探した
・printメソッド内でpageFormat.getImageableX()とか使って無理やりコンポーネントのサイズを合わせたり
ソース
public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
int x = (int) pageFormat.getImageableX();
int y = (int) pageFormat.getImageableY();
g.translate(x, y);
if (pageIndex == 0) {
printAll(g);
return Printable.PAGE_EXISTS;
} else {
return Printable.NO_SUCH_PAGE;
}
}
407 :
デフォルトの名無しさん:2005/08/02(火) 21:34:20
pageFormat.getImageableHeight()とか使って、に訂正
Graphics2Dでスケールかえるのが一番楽かな?
印刷周りはJ2SE5致命的バグ持ちだから注意すべし
error = ((numberOfError+numberOfError2)/(positiveTest2.size()+negativeTest2.size()));
上辺も下辺の式も0より大きいのですがerrorがゼロになります。 何故でしょうか?
errorがintとか?
いや、doubleです。
個々の式を計算するときちんとした結果が返ってくるんですけど・・・
412 :
デフォルトの名無しさん:2005/08/03(水) 03:13:51
どなたか教えてください
java3dでサンプルプログラムをイクリプスを使って実行したら
以下のようなエラーがでました
これはどのように対処すればいいんですか?
Exception in thread "main" java.lang.UnsatisfiedLinkError: initializeJ3D
at javax.media.j3d.MasterControl.initializeJ3D(Native Method)
at javax.media.j3d.MasterControl.<init>(MasterControl.java:577)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:550)
at Sample01.Sample01.main(Sample01.java:23)
>>412 java3D使ったことないけどDLLがいるんとちがうか
>>412 J3D.DLL の初期化に失敗している。
J3D.DLL 内で使っている他の DLL にもパスを通さなければだめではないか。
415 :
412:2005/08/03(水) 04:05:21
>>414 一応java3d.dllがC:\j2sdk1.4.1_07\jre\bin
に入ってるんでそこにマイコンピュータからプロパティ→詳細設定→環境変数→PATH
でパスの設定したんですけど何か間違ってますか?
java3dをインストールしてからほかに通さないといけないパスってあります?
416 :
412:2005/08/03(水) 04:05:58
訂正
java3d.dll→j3d.dll
あ、initialize J3D ではなく initializeJ3D というネイティブメソッドで
UnsatisfiedLinkError か。J3D.DLL に initializeJ3D() メソッドに対応する
関数が入ってないんじゃ。jar と dll のバージョンが違うとか、PATH 内の
別のディレクトリに別のバージョンの dll があるとかかな? (眠いのでちょう適当)
418 :
412:2005/08/03(水) 04:32:29
>>417 >jar と dll のバージョンが違うとか、PATH 内の
>別のディレクトリに別のバージョンの dll があるとかかな?
なんかそれっぽいですね・・・
ちょっとまえjava3dのインストール方法がよくわかんなかったんで
ごちゃごちゃやってるうちにいろんなバージョンのファイルをDLして
インストールしまくってたみたいです・・・。
とりあえず前のバージョンのやつをアンインストールしてみます
419 :
413:2005/08/03(水) 04:51:31
むしすんなよ
なんだと
421 :
412:2005/08/03(水) 05:33:47
コマンドプロンプトで実行できるなら実行環境の違いだろ。
main() の一番最初で
System.out.println(System.getProperties());
とかして、コマンドプロンプトと Eclipse の実行環境の何が違うか、
何で違うか、どうやったら同じにできるか考えてみそ。
423 :
412:2005/08/03(水) 06:30:07
>>422 いや、もう一度プロンプトでやってみたら
プロンプトでも実行できなくなってました
もうなにがなんだか・・・です
それとプロンプトでのエラーは↓こんな感じでした
Exception in thread "main" java.lang.NoClassDefFoundError: Sample01 (wrong name
Sample01/Sample01)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
424 :
デフォルトの名無しさん:2005/08/03(水) 10:52:15
以下の構文でエラーとなってしまいました
「StringTokenizerは解決できないか、型ではありません」
StringTokenizer st = new StringTokenizer(code, "\n\r");
やりたいことは、codeという文字列がはいった変数を改行文字で
分割してst変数に格納する。
ご存知の方教えて下さい、よろしくお願いします。
425 :
デフォルトの名無しさん:2005/08/03(水) 11:11:24
インポートしてないなんて事はないよな?
importミスぐらいしか思いつかんが。
でそれがやりたいのに、
String.split
じゃいかんの?
427 :
デフォルトの名無しさん:2005/08/03(水) 12:36:09
424です、
importし忘れてました、、、、
428 :
デフォルトの名無しさん:2005/08/03(水) 12:53:20
String.splitですか、
split(str, "\n\r");って感じにできるのでしょうか?
ちがう。
String str = "abcdefg\nhijklmn";
String[] strArray = str.split("\n");
とやる。
APIドキュメントでString嫁
1.4で便利なやつが増えてるから。
430 :
デフォルトの名無しさん:2005/08/03(水) 13:22:21
丁寧にどうも。
String[] strArray = str.split("\n");
は
String[] strArray = str.split("\n\r");
としなくてもよいのですか?
JAVAでは改行が\n以外に\rもあるのですよね?
改行コードはシステム依存
System.getProperty("line.separator");
で取得する。
テキストファイルの書き出し読み込みならセパレータは環境依存だが
内部処理はすべて\nだけでいいぞ
434 :
デフォルトの名無しさん:2005/08/03(水) 15:18:10
char c = 'd';
(char)((int)c + 2);
これはどういう風にに計算するのですか?
>>434 ん?それキャスト要らないでしょ。
char c = 'd';
char d = c + 2;
で、いいけど。どういう風に計算も何も、c に 2 を足しているんだべ。
436 :
デフォルトの名無しさん:2005/08/03(水) 15:35:23
>>434 'd' というのは文字を表してはいますがそれは人間に対して
分かりやすくするためで、コンパイル時に数値に変換されます
(16ビットの Unicode です)。'd' は Unicode では 0x0064
(10進数で100) です。なので char c = 'd'; は
char c = (char) 0x0064; と等価です。
(char)((int) c + 2) の結果は 0x0064 に2を加えた 0x0066
となります。また、この 0x0066 の値を System.out.println((char) 0x0066);
のようにして出力すると 'f' が出ます。これは Unicode では
'f' のコードが 0x0066 であるためです。
437 :
434:2005/08/03(水) 15:41:43
ありがとうございます。
ProcessingInstruction pi = document.createProcessingInstruction("hoge", "foo");
document.appenChild(pi);
のようにやるって出力すると処理命令がXML文書の最後にくるのですが、
XML宣言の直後にくるようにするにはどうすればよいですか。
documentがなんかわからんけど、
getFirstChildでNode取って、insertBefore(挿入したいNode, さっき取ったNode)
でいけるんではなかろうか
確かめてないからしらんけど。
440 :
438:2005/08/03(水) 16:40:49
>>439 ありがとうございました。次の方法でできました。
ちなみにdocumentはDocument、rootはルート要素です。
document.insertBefore(pi, root);
441 :
デフォルトの名無しさん:2005/08/03(水) 22:07:54
教えてください。
教えて欲しいこと
その1.staticメソッドにする判断
その2.オブジェクト指向にstaticかそうでないかの判断て必要?
その1についての思考
「
java(というかオブジェクト指向系?)で、staticメソッドを作成するとき、
今のところは
1.インスタンス作成によって、メソッドを使用した際に動作が変わらない
2.メソッドの処理は、単純なアルゴリズム(1.とかぶってるかも。。。?)
としています。
まぁ、インスタンス可する必要ないじゃん。そんなメソッド。
ってイメージがあるとstaticにします。
でも確かstaticはスレッドセーフじゃないな?googleで見つかる死霊すくないぞ?
だめだーみつかんねー参考書ってなんで初心者物用ばっかなんだよ
」
その2についての思考
「
メモリを意識しないでいいなら、”クラスが最初にロードされたとき”とかの表現なくした方がいいのでは?
あれ?Cぽいメソッドにしたら全部staticメソッドでいいぽくない?
お?Cって関数のポインタあるし、なんかデザインパターンてやつイロイロできそうじゃね?オブジェクト指向じゃないの?デザパタって
[重要]っていうかなんでstaticだったらオーバーライドできないの?
」
以上!誰かおしえて!なんかいろんなサイトみたけどわかんねーよ;;
もしくはいいサイトあったら誘導して?IBMJavaテクノロジーにもあんまりのってないっぽい?
>441
メソッドがstaticであることと、メソッドがスレッドセーフであることは無関係。
staticメソッドがオーバライドできない理由:
そもそもオーバライドは、オブジェクトによって動作(呼びだすメソッド)を変更する仕組み。
staticなメソッドは、対象とするオブジェクトが存在しないから、オーバライドしようがない。
synchoronizedって素で掛けないよな
たぶん↑も間違ってるだろう
ちんころないずど
446 :
デフォルトの名無しさん:2005/08/03(水) 22:33:58
>>442 >>443 ありがとうございます。
たしかにメソッドがstaticなのとスレッドセーフなのは関係ありませんね。
ご指摘どおりです。疑問に思うということは、まだマルチタスクの知識が足りない証拠でした。
また、staticメソッドがオーバライドできない理由も何となく分かりました。
でも文章で説明されたから理解できた。
っていう感覚です。
そもそもオブジェクトが存在しないなら、
1.オブジェクト指向ってなに?
2.プロトタイプベース思考だと問題ないよね?常に欲しいプロパティはいつでも作り出せる
(つまり、ファーストテスト(テストコード)によるコンパイルエラーとかが存在しない。)
上記二つの質問と、まだ答えがない質問について、どうかどなた様かお願いいたします。
「プロトタイプベース思考」ってなんだ?
ぐぐってもみつからん
Javaはクラスベースに究極にとんがってるからインスタンスベースの話されてもな
>447
そんなもの存在しないから、見つからなくて当然でしょ?
プロトタイプベースのオブジェクト指向言語(たとえばECMAScript)なんかのことを
どこかで聞きかじった半可通だよもん。
Javaでもアスペクトを利用すれば、あとからメソッドや属性をmixinできないこともない。
451 :
デフォルトの名無しさん:2005/08/04(木) 05:33:43
>>447 >>449 すいません。プロトタイプベース思考じゃなくて、プロトタイプベース言語ですね。
何かのリンク辿ったとき偶然見つけたサイトあって、そこでイロイロ見てたらごっちゃになりました。
://squab.no-ip.com:8080/wiki/850
>>448 >>450 オブジェクト指向にもイロイロあるんですね。
c++は静的バインドの究極系、(オブジェクト指向も出来るよ的?)
javaはC++の流れを含んだ純粋なオブジェクト指向(でもプリミティブ型あるのは微妙)
ってのをC++設計と思想っていう本で学んだの忘れてました
スレ違いぽいのでやめておきます。やっぱ中途半端な知識が中途半端に集まってると
考えがまとまりにくい。
世界は広いってことっすか(⊃д⊂)
452 :
デフォルトの名無しさん:2005/08/04(木) 06:49:52
スレ違いならすみません、どこに質問したらいいのかわからなくて
もしもイタ違いの場合は誘導お願いします
以前自サイトのアクセス解析で見つけたのですが・・・
過去のサイトを見られるHPを探しています(確か海外サイトでした)
そのサイトにどこかのURLを記入すると(例えば2chなら「
http://www.2ch.net/」と記入)
現在のサイトだけでなく、2002年や2003年など、過去に作成された状態が見られ、
その過去のサイトに行けば、ある程度は過去のまま保存されているという
そんな感じでした
説明し辛いのでわかりにくくてすみません
もしも心当たりがある、もしくは質問先が間違えている場合は誘導をお願いします
453 :
デフォルトの名無しさん:2005/08/04(木) 08:40:59
>>451 とりあえず OO と OOP と OOPL の違いを理解汁。
そして Java がどういう立場を取っているのかを。
> そもそもオブジェクトが存在しないなら、
> 1.オブジェクト指向ってなに?
その二つの「オブジェクト」はぜんぜん意味が違うから。
455 :
452:2005/08/04(木) 09:46:26
>>453 あっ、本当だ!ありがとうございますっ!
一ヶ月以上アクセスログを一つ一つ探してたので凄く助かりましたっ
ありがとうございましたっ
テストで一次元配列および二次元配列のポインタ表記について簡潔に説明せよって問題が出そうなんだがなんて答えればイイと思う??
>>456 今回は素直に「わかりません」と答えて勉強しなおすとイイと思う
うぜぇよwちゃんと教えてください(;´Д`)
教科書読めYO
>>456 回答は「Javaの仕様上にポインタ表記なるものは存在しません。ポインタ表記を定義してください。」
うpデーと来た?
wiki重くてひらけねーのは俺だけか?
>>456 ポインタ理解できるならjavaなんてやらねーYO!って答えとけ
>>464 俺の事かーーーーーーーーーーーー!!!
466 :
デフォルトの名無しさん:2005/08/05(金) 06:59:47
コンパイル時に
Sample5C.java:102: シンボルを見つけられません。
シンボル: メソッド drawImage(java.awt.Image,int,int)
場所 : java.awt.Graphics の クラス
g.drawImage(img2, 50, 50);
となってしまいます。なにがだめなんでしょう?
staticがよくわからないのですが、オブジェクトを生成しなくても利用できるということですか?
>>467 正確には、インスタンスを生成しなくても利用できる。
470 :
デフォルトの名無しさん:2005/08/06(土) 00:35:51
あるクラスAに、JFileChooserの自拡張サブクラスBのインスタンスを持たせます。
このクラスBによって、特定のファイルをユーザーが選択したとき、
「選択された」というイベントをAに通知するにはどうすればよいでしょうか?
class A implements ActionListener {
private final B b;
public A() {
b = new B();
b.setActionListener(this);
}
public void actionPerformed(ActionEvent e) {
// b上のイベントに対する処理
}
}
472 :
デフォルトの名無しさん:2005/08/06(土) 02:04:05
>>471 こんな簡単にできたんだwwwww
どうもありがとうございました。
>b.setActionListener(this);
フーン
474 :
デフォルトの名無しさん:2005/08/07(日) 12:22:42
printAPIでattributeとして印刷時のマージンを設定する方法どなたか知ってらっしゃい
ませんでしょうか?教えてくださいorz
ちなみにPageFormatを使うのはナシでよろしくおねがいします。
PageFormatとかでとるのがふつうだけど
描画はJava2Dなんだから普通に始点をずらせ
476 :
デフォルトの名無しさん:2005/08/07(日) 17:53:00
swing では getImage や drawImage は使えますか?
Swingとそれらは直接の関係はないぞ
あとメソッド名だけ出さずにクラス名もださないと同名のメソッドがあるからこまるな
>>474 PrintRequestAttributeSetに、MediaPrintableAreaを指定するんじゃなかったかな。
マージンを設定するのではなく、印刷可能領域を設定する。
unixな感じのするosに依存べっとりなライブラリってご存知?
具体的にはシステムコールばんばんするの探してます。
口調がむかつくから教えない
Windows98SE で画面上のChoiceの上でマウスホイールをグリグリすると
落ちてしまいます。同様の症状が Windows Me でも発生します。
(Windows2000 及び Linux ではなんともなし。XP未検証)
作成環境の Java は J2SE1.4.2_8です。
実行環境として1.4.2と1.5.0の両方とも試しましたが同じでした。
回避方法とか情報は無いでしょうか。よろしくお願いしますm(__)m
>>482 サポート終了のOSという時点でどうかと。
素直にOSぐらい買いなさい。XP Homeなら
安いもんだろ。
>>483 私の環境は Linux だが、Meや98等で不具合と報告あれば、一応回避方法は
検討すべきなのでね。
私のソフトを使う人全てに XP を買ってあげるわけには行かないの。
(あなたが買ってくれるなら別だけどw)
485 :
デフォルトの名無しさん:2005/08/08(月) 02:53:00
HashSet<Integer>[] set = new HashSet<Integer>[256];
とかするとコンパイルで generic array creation のエラーになります。
new のやり方が悪いと思うんですけど、どうすべきでしょうか。
488 :
デフォルトの名無しさん:2005/08/08(月) 04:18:49
>>478 できました!!ありがとうございます。
存在は知ってたのですが、試していませんでした。灯台下暗しってやつですね・・・・。
490 :
デフォルトの名無しさん:2005/08/08(月) 05:10:53
メインのウィンドウのサイズを変更しても、そのウィンドウ内のコンポーネントが
適切なサイズ、適切な位置に調節されるように、GUIをプログラミングするとき
標準的な方法はどんな方法でしょうか?
ちなみに、私はpaint()メソッド内でsetBoundsして〜などとやっています。
やっぱりこの方法はダメでしょうか・・・。
どなたか教えて(ください
491 :
デフォルトの名無しさん:2005/08/08(月) 05:34:47
swingで画像を表示させるにはどうすればいいのですか?
>>490 paint のオーバーライドではなく親コンポーネントに
ComponentListener を追加するのが普通かと。
parent.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
....
child.setBounds(...);
}
こんな感じ。一番丁寧にレイアウトできるけどちょっと面倒。
もっと大雑把にやりたいなら BorderLayout や GridLayout 等の
レイアウトマネージャを乱用する。
493 :
デフォルトの名無しさん:2005/08/08(月) 07:57:07
swingでボタンを押して画像を表示したりするの作ったんだけど
画像を表示するたびに ボタンが消える
なんででしょ?
マウスをボタンのあたりにもってくるとボタンが出てくる
>>493 オーバライドしたComponent#paint(Graphics g)の中でsuper(g)を呼ぶ。
499 :
デフォルトの名無しさん:2005/08/08(月) 15:30:11
JAVAでretrievalWordという変数にModern Artsというような文字列をいれて,
下記のような検索プログラムにより,検索エンジンnamazuの
入力として渡しています.
この場合,namazuには,
namazu --max=2000000 "{Modern Arts}" /home/jikken/index_0
という入力が渡される事になります.
なおnamazuは,"{Modern Arts}"という検索がいった場合,
"{}"で囲まれた文字列がフレーズとして検索されるという機能をもっています.
つまりターミナルから
namazu --max=2000000 "{Modern Arts}" /home/jikken/index_0
と入力するとModern Artsの検索としてうまく行くのですが,
java経由で下記のプログラムからnamazuへ検索要求をしても
namazuでは,
"{Modern Arts}"という文字列の検索を行ってしまい,
Modern Artsの検索がうまくいきません.
String proscmd = "namazu --max=2000000 ";
proscmd = proscmd + "\"{" + retrievalWord + "}\" " + indexdir;
System.out.println("proscmds : " + proscmd);
Process process = Runtime.getRuntime().exec(proscmd);
結果
namazu --max=2000000 "{Arts}" /home/jikken/index_0
この原因がどういう点にあるのかを教えて頂けないでしょうか?
宜しくお願い致します.
その文字列組み立てでそんな結果になるか?
変数の中身デバッガでのぞいてみたら?
501 :
499 :2005/08/08(月) 16:58:15
>>500 System.out.printlnの結果のとこがちょっと間違ってました。
namazu --max=2000000 "{Modern Arts}" /home/jikken/index_0
です。
namazuへの入力は上記System.out.printlnの結果をあたえているはずです。
ですが、namazuはModern Artsでなく"{Modern Arts}"という文字列の検索を行ってしまいます。
どうもわかりません。たすけてください。
>>501 Runtime.exec(String[])のほうでやってみ。
その場合、「"」はいらない
ProcessBuilderがシンプルでらくちん
504 :
デフォルトの名無しさん :2005/08/08(月) 19:27:34
いま、必死になってJAVA言語プログラミングレッスン上下をよんでる。
eclipseをつかってソースを書き込んで、実際うごかしての繰り返し、
だんだん解ってきたけど、次にやる本があったら教えてほしいです。
とてもじゃないけど、eclipseも満足に使えてない気がする。
実践向けの演習用で良書がありましたら教えてください。
言語を漠然と覚えるより何をしたいのかを考えたほうがいいのでは?
ゲーム作りたいとかテキストエディタを作りたいとか、目的があって初めて
まともな勉強も出来ると思うが。
言語自体が目的な人最近多いね。
本これ読みました、次は何がいいでしょうか?って質問が相次いでる。
そんなもんなんでない?
欲しいと思うようなソフトはVectorとか行けばたいていのものは揃ってしまうし、
目的ベースでモチベーションを維持するには、厳しい時代なのかもしれないな。
お仕事の都合で、仕方なくってのが多いのが現状のような気がするよ。
507 :
499 :2005/08/08(月) 20:13:57
やりたい事なら結構簡単に見付かりそうだけどな
書きたい物も見つからない こんな世の中じゃ
ポイヅン
511 :
504:2005/08/08(月) 21:48:39
作りたいものは正直なないですね。なんでも作りたいというのではだめですか。
作れる力がほしいという感じですかね。
漠然としてるけど動機はそんな感じ。
何でわからないのかわからないレベルの試行錯誤が苦手な子でしょ?
何か出来ることありますかと言ってくる人はオプソ界隈では嫌われる。
何もしないで居てくれたほうがMLとか汚されないからうれしい。
あのな、明日からUNIX使え。LINUXでもいい。
で、足りないもの全部JAVAで作れ。
作れる力とやらがなくても作れ。
畳上の水練みたいなことやってないでさっさと飛び込め。
さすがに釣りなような気がしてきた
気付くの遅すぎ
>>511 SNTPクライアントを書くというのはどう?
必要な資料は全てWEB上にある。他のどんな書籍も必要ない。
というより、寧ろWEB上にある情報のみで組まなければこの課題の意味はない。
未知なものを既知なものにする、抽象を具象化するという手順と方法を覚える為
のものだから。これ書けないようなら他の何も書けないよ。
SNTPクライアントを書いて正しく動く事を確認したら今度はSNTPサーバを書こう。
書けたら今度はECHOサーバも作ってみよう。
ググってるうちにUDPServer.javaとかに出会っちゃうかもしれないけど、まぁ好き
に使っていいと思う(SNTPサーバとECHOサーバを書いて、そこから自力で抽象
UDPServerに辿り着いた方が有益なんだけど・・・)。
今度は抽象UDPServerを拡張してCommonsConfigurationで接続相手をXMLで
指定できる様にしてみよう。
ついでに趣向を変えて、UDPServerクラスで複数ポートをリスンして、受信ポート
毎の処理をDIContainerから受け取って引き継ぐ様にしてみよう。
とにかく、何でもいいんだよ。何か書かないと、何を学べばいいのかも決まらな
いよ?うわぁ〜、何か面白そうなライブラリーがあるぅ〜、使ってみてぇ〜とか
このパターンカッコいい!使ってみてぇ〜とか、何かこう湧いて来ないかな?
>>487 Genericなクラスの配列は仕様上作れません。
配列の代わりににListにでもするしかない。
518 :
デフォルトの名無しさん:2005/08/09(火) 00:34:21
hello.java:3: シンボルを見つけられません。
シンボル: メソッド printIn(java.lang.String)
場所 : java.io.PrintStream の クラス
System.out.printIn("hello");
ひとまず、手始めにHello Worldをコンパイルしてみようとしましたけれども、
以上のようなエラーがでてきてしまいました。
ソースをみても間違いはないですし・・・。
もうなにがなんだか。いきなり躓いてしまいました。
すみません。解決方法を教えてください。よろしくお願いします。
519 :
487:2005/08/09(火) 00:34:38
>>517 thanx!
宣言だけなら通るので作れるものと勘違いしてました
でも何で通るんだろう…
>>518 ○ println
× printIn
大文字のアイではなくて小文字のエルだ。
521 :
デフォルトの名無しさん:2005/08/09(火) 00:45:13
>>520 キター!!
ありがとう。できまつた。
小文字のエルだなんて・・・。
System.outつってんのに
printInってなんだよ!って気づくべきだな
ぶっちゃけ2ちゃんブラウザを作るのは演習目的におすすめ。
なにもJaneやかちゅなみの機能なんか目指さなくていい。
Swing の HTML コンポーネントがもうちょっとマシにならんかと思う今日この頃。
5.0でかなりましになったけどな
1.4まではひどかった
レンダリング品質の話以前の問題だったからな
526 :
デフォルトの名無しさん:2005/08/09(火) 03:33:23
jamesでプログラムによってユーザの追加、削除を
やりたいんですが、なかなか有用な情報が見つかりません。
AbstractUsersRepositoryクラスを使いそうなんですが、
具体的な方法はわかりません。
わかる方おながいします!
MP3の再生時間を取得したいのですが、良い方法はありますか?
528 :
デフォルトの名無しさん:2005/08/09(火) 07:59:15
System.out.println(kD[i]/kD.length*100+"%");
でストリングにオペレーター"/"を使う事が出来ないというエラーが出ました。
他にどのようにして表現できますか??
529 :
デフォルトの名無しさん:2005/08/09(火) 08:51:37
static void getSurvey3(){
int count=0;
System.out.println("\nSurvey4:Percentage of Poverty Level:");
System.out.println("ID\tIncome\tMember");
for (int i=0; i<id.length; i++) {
if (income[i] < (6500 + 7500 * (member[i] - 2))) {
count=+1;
System.out.println(id[i]+"\t"+"$"+income[i]+"\t"+member[i]);
}}
int poveryPercent=(count/id.length)*100;
System.out.println("Percentage of Households with poverty"+poveryPercent+"%");}
このforループの間で、もしincome[]で、定められた価値より小さい価値があったら
一番下の式でパーセンテージを出したいのですが、上手く計算してくれません。
何処をどう動かせばいいでしょうか??
>>528 System.out.println(Integer.parseInt(kD[i])/kD.length*100+"%");
package sample;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.lang.String;
import java.lang.System;
public class LineInput {
public static void main(String[] A00) {
BufferedReader L00 = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("文字列を入力してください:");
String L01 = L00.readLine();
System.out.printf("入力 = %s%n長さ = %d文字%n", L01, L01.length());
} catch(IOException L02) {
System.out.println("入力エラー");
}
}
}
はじめてのJAVAプログラミングで、サンプルに↑の公開ソースをいじろうと思ったのですが
Exception in thread "main" java.lang.Error: コンパイル問題が未解決です。
型 PrintStream のメソッド printf(String, Object[]) は引き数 (String, String, String) に適用できません。
at sample.Java256Sample.main(Java256Sample.java:32)
と言われてしまいます。何がいけないのでしょうか
>>531 Eclipse使ってるなら使ってるって書いとけよ。他にもJavaやEclipseのバージョンもだ。
Java1.5のソースをコンパイルしたいのなら、コマンドラインからjavacコマンドでコンパイルするか
Eclipse3.1を使うこと。Eclipse3.0は1.5未対応。
Eclipse3.1を使う場合も、設定でソース準拠レベルに1.5を指定しないと1.5から追加された
言語仕様(generics、可変長引数)を解釈してくれない。
まぁ、初心者が1.5使うならコマンドプロンプトとjavac使えっつうことだ。
すいませんでした
JAVA5でエクリプスは3.1です
設定でJAVA5にしたらいけました。ありがとうございます
534 :
529:2005/08/09(火) 10:36:20
up
535 :
デフォルトの名無しさん:2005/08/09(火) 11:19:47
JavaHouseが廃れてしまったと聞いて、んじゃどこで質問すればいいんだと思い立って
質問させて頂きます。
国内か海外か問わず、2ch以外でJavaについての質問をうけてくれる
ようなMLや掲示板で有名なところがありましたら教えて下さい。
よろしくおねがいします。
536 :
デフォルトの名無しさん:2005/08/09(火) 11:26:38
538 :
デフォルトの名無しさん:2005/08/09(火) 11:38:29
>>536 >>537 なるほどなるほど。@ITの過去ログとかググった時に結構あたりますよね。
盲点でした。
539 :
デフォルトの名無しさん:2005/08/09(火) 12:16:04
このアウトプットがいつもゼロになるのはなぜ???
static void getSurvey3(){
int count=0;
System.out.println("\nSurvey4:Percentage of Poverty Level:");
System.out.println("ID\tIncome\tMember");
for (int i=0; i<id.length; i++) {
if (income[i] < (6500 + 7500 * (member[i] - 2))) {
count=count+1;
System.out.println(id[i]+"\t"+"$"+income[i]+"\t"+member[i]); }
int poveryPercent=(income[i]/id.length);
System.out.println("Percentage of Households with poverty:"+poveryPercent+"%");
}
}
540 :
デフォルトの名無しさん:2005/08/09(火) 12:17:58
間違えました、int poveryPercent=(income[i]/id.length);
じゃなくて、 int poveryPercent=(count/id.length);
ゼロじゃなきゃ、何になってほしいんだ?
int に 0.5 は入れられないぞ。
542 :
デフォルトの名無しさん:2005/08/09(火) 12:26:07
doubleにしたけど、ゼロです。ifの後のcountが
ちゃんと増えているのか不安です。
static void getSurvey3(){
int count=0;
System.out.println("\nSurvey4:Percentage of Poverty Level:");
System.out.println("ID\tIncome\tMember");
for (int i=0; i<id.length; i++) {
if (income[i] < (6500 + 7500 * (member[i] - 2))) {
count++;
System.out.println(id[i]+"\t"+"$"+income[i]+"\t"+member[i]); }
double poveryPercent=(count/id.length)*100;
System.out.println("Percentage of Households with poverty:"+poveryPercent+"%");
}
}
int poveryPercent = count * 100 / id.length;
544 :
デフォルトの名無しさん:2005/08/09(火) 12:58:20
ありがとう。なんで、式の形を変えるだけで、アウトプットが変わるのかまだ
わかんないけど。とにかくありがとうよ。
>>532 なんで初心sたが5.0つかうときはコマンドラインとjavacなんだよ
めちゃくちゃだなここ
NetBeansでもなんでもいいだろ
Eclipse3.1でいいじゃないか
549 :
デフォルトの名無しさん:2005/08/09(火) 15:38:49
textareaの中に表示されるフォントのサイズを変更したいんですけど
どうすれば出来ますか?
>>549 マニュアル読んだの?
その程度が分からないのならGUIエディタでフォント設定したほうがいいんじゃないかとおもた
551 :
デフォルトの名無しさん:2005/08/09(火) 17:18:56
つストップウオッチ
552 :
デフォルトの名無しさん:2005/08/09(火) 17:40:18
Javaで書かれたjavacってありますか?
もしあるのであれば教えて(ヽ゚д)クレ 。冗談。教えて下さいorz。
javac は Java で書かれている。
実行クラスは tools.jar に入ってる。
>>552 javac.exeは、コンパイラを起動するだけだよ。
コンパイラ機能はtools.jarにある。
roundはint, longを返すのにceil, floorがdoubleを返すのは何でですか?
JAVA5でenum型を少しいじっていて思ったんだけど
enum型ってのは継承か実装ってできないのかな?
enumからリストボックス作成用のメソッドの引数で
スーパークラスかインターフェイスを使用して
作ろうと思ったらできなかった。
まあ・・・実務ではあまり使い道なさそうだけど
557 :
499 :2005/08/09(火) 21:19:53
>>499 >>501 ですが、どうもうまくいきません。
12時間くらいこれを考えていますが、できない。
本当に助けて下さい!
意味不明で参っています。
>>550 マニュアルは読んでsetFontというのは見つけていたのですが、
それを使うコードを書いてもidentifierが無いと言うコンパイルエラーが出るのです。
textarea.setFont(Font);
としたのですが。
>>559 Fontってのはなに?
そこにはFontのインスタンス入れるんだよ
言語から勉強したほうがいいかもね
もしくはNetBeansでぽとぺたやってソースコードを見るとか
562 :
デフォルトの名無しさん:2005/08/09(火) 22:21:37
暗号化・復号化についての質問です。
OpenSSLで暗号化しJavaで復号化することを考えています。
複合化にはjavax.crypto.Cipherを使いますが、
iv(初期化ベクタ)をどこで与えていいのかが分かりません。
getInstance()、init()、dofinal()のどこかで与えれば良いような
気がしていますが・・・
よろしくお願い致します。
>>556 >enum型ってのは継承か実装ってできないのかな?
継承は試してないが実装はできるだろ。
log4jの質問です、おねがいします
log4j.xmlが見つかりませんというFileNotFoundExceptionが出ています。
開発環境はEclipseで、log4jのjarファイルは
eclipse\workspace\app1\WEB-INF\lib
においてあって、log4j.xmlは
eclipse\workspace\app1\WEB-INF\classes
においてあります。
で、不思議なのはxmlファイルを二度読むような動きをしているんです。
わざとログを出力するディレクトリを間違えて書いたのですが、
そのときは書式エラーのログが出ていました。
2度別々の場所にxmlを読みに行って1度目はうまくいくのに
2度目でファイルが見つからずエラーが出ているように見えるんですが…
ちょっと手詰まりになってしまいましたので聞いてみました。
よろしくお願いします。
>>564 俺も同じ経験をした。
最も簡単な解決策はプロジェクトのルートにlog4j.xmlを置く事だけど
気分悪すぎ。
とりあえず、DOMConfigurator.configure(設定ファイル);とかしてお茶
を濁してるけど・・・・・・
質問でつ
main クラスで あるクラスをインスタンス化しました。そのクラスで test というフィールドを持っています
public class Sub{
String test="";
}
このクラスにアクセスする場合、
Sub sub = new Sub();
sub.test="test";
とするのか
setter/getter をつかって
sub.setTest("test");
とするのどっちが一般的なのでしょう?
私はJsp/Servlet をメインに開発していていますが、暇を見てゲームでも作ろうかと思って
本を買ってみたら、setter getter を使わずに直接アクセスしていたのでちょっと気になりました。
お手数ですがお答えください
>>566 getter/setter 使うのが一般的。一回結果出れば終わりみたいな作り捨て
プログラムじゃなければ。
568 :
566:2005/08/10(水) 00:54:36
やっぱりそうですよねぇ。
従来どおりちゃんとSetterGetter使って組むようにします。
わざわざカプセル化するようなクラスじゃないような気もしますがキニシナイ(・3・)
ご返答ありがとうございます
パフォーマンス重視なら直接フィールドにアクセスするものアリだが、
そもそもJavaでパフォーマンス重視というのもどうかという話もあるからなぁ
携帯か?
570 :
デフォルトの名無しさん:2005/08/10(水) 01:01:24
javaでDOSの"MOVE C:\a\test C:\b\test"
みたいに簡単にファイル移動ってできないんですか?
Fileクラスなどそれっぽいクラスのメソッドは一通りみたのですが
見つからなくて・・・。簡単そうなんだけど調べると意外とみつか
らなくて困ってます。どなたか知ってるかた教えてm(__)m
>>570 File#renameTo()
ただし、ファイルシステムや JDK のバージョンによっては異なるパーティション間の移動、
既存ファイルへのリネームは失敗するので注意。
572 :
570:2005/08/10(水) 01:21:36
あ、ありますね。renameTo(File dest)ですね。
すいません、ファイル名変えるだけかと勘違いしてました。
即答ありがとうございました。
573 :
566:2005/08/10(水) 09:21:44
>>569 作ってるのは携帯じゃなくて、ふつーのアプリケーションとして作ってます。
わざわざ Java じゃなくて C/C++ 使えよとか言われそうですが、Java でつくってみたいなー。
とか思ったので・・・。
569氏の言うことも考えたので
「ゲームを作るなら」 どっちのほうが一般的なのかなぁと気になった次第です。
パフォーマンス重視といっても、単純な setter /getter じゃそれほど速度は落ちない気もするし、
かといって直接フィールドアクセスするのってJava ぽくないなーとか。
とりあえずは setter/getter 使って実装してみて、どうしても処理が追いつかないなら
結合度が高くてもよさそうなところは 直接アクセスできるようにしてみます。
まぁ、一番の問題は、私に絵心がないので、絵は誰かに書いてもらうか
フリーの探さないといけないという悲しい話orz
>>573 フィールドへの直接アクセスによって性能が向上することはまずあり得ません。
ダイエットするために体毛疎るようなものです。
それよりも、画像処理やI/Oの高速化を目指した方がより効果的です。
さらに言うなら、実は画像処理がボトルネックになっていなかった、なんてこともあり得ますので、
プロファイリングを行い性能上の問題箇所を特定すること、それと
問題箇所の切り分けとチューニングが適切行えるようにモジュール化することが有効です。
そのためにも、適切なカプセル化は必要でしょう。フィールドの隠蔽はその1例です。
なお、「直接アクセスで高速化」のような
重箱の隅をつつく余り正確性を欠く意見には注意してください。
「地球は丸くない」みたいなもんです。
>>574 仕事中にココに張り付いてる私もあれだな。
>フィールドへの直接アクセスによって性能が向上することはまずあり得ません
あ、やっぱり(笑
>画像処理やI/Oの高速化を目指した方がより効果的です
I/0の高速化や、アルゴリズムに関してはノウハウありますので何とか成るのですが
Javaでの画像処理はほとんど知識ないのでこれからお勉強です。
透過処理とか、フィルタリングとかのいいサンプルあればお教えくださいなー
(他力本願ですみません)
まぁとりあえずはC++で作った幾つかをJavaで実装しなおしてみますかー。
Log4jの出力フォーマットで、
クラス名だけでなくパッケージ名まで出す設定ってありますかね?
578 :
577:2005/08/10(水) 10:41:54
>>574 メソッドコールは割と差が出るよ
ただ、秒間10万コールくらいしてないと差が出ない
通常の用途では問題ないけどね
携帯なら、バイト単位で容量を減らすこともあるから一概にゲッターセッターがいいという訳ではない。
携帯ならね。
携帯ならフィールド名もメソッド名も一文字だしな。
まぁツールであとからリファクタリングするんだけどな。
携帯ならGetter・Setterは使わない。
携帯もそのうち大容量化するから今の過渡期だけだろうな
おいおいゲッターセッターなんて重くて使えないよ
あと極力プリミティブな変数しか使わない。
なるべくオブジェクト指向は排除
なんでJava使ってんのん?
処理はすべてmainメソッドに手続きを記述。
最低限の変数・関数(←あえて「メソッド」ではない)はすべてstatic。
変数は基本データ型のみ。変数名・関数名・クラス名はすべて1文字。
これで最強でしょ。
あと変数はなるべく使いまわす。
>>585 クラス名って・・・・まだまだ甘いようだな
よほどのことがない限りクラスは作らんぞ(w
ああ、自クラスのことか
>>586 そうそう。それやんないと意味無いよな。だからループ変数とか
for(int i=0・・・・・・・・・・・
とか書いたこと無いよな(w
フルスクリーンでアニメーションを作っているのですが。
動きがずるっずるっという感じになってしまいす。
runの中身は以下の通りです。
public void run(){
while(thread ==Thread.currentThread()){
swich(move){
case 円:movecircle();break;
case ジグザグ:moveziguwagu();break;
case 停滞:teitai();
}
g.drawImage(chara,null,x,y);
590 :
588:2005/08/10(水) 15:55:48
すみません途中まで書いて質問することがあほであることに気付きました。
で、同じクラスで別の質問ですけど。
フルスクリーンで表示して、ボタンを押した時に
消したいなら
public void processKeyEvent(KeyEvent ke){
System.exit(0);
}
を記述して
enableEvents(AWTEvent.KEY_EVENT);
をコンストラクタに書けばいいんですよね?
しかし、ボタンを押しても反応がないのです。
ちなみにクラス自体はJComponentを継承しています。
そこでフレームをフルスクリーンにしています。
スレッドつかってんだから、そこの処理ちゃんとしろよ。
フルスクリーンとか関係ないぞ。
>>591 すみません。基本ありがとうございます。
593 :
デフォルトの名無しさん:2005/08/10(水) 17:29:29
Eclipseでデバッグしてる時に、ブレークポイントで止まった位置から逆に(戻る方向へ)処理を
追っていく事ってできますか?メソッドの呼び出し元をたどるだけでもいいです。
教えて下さい。よろしくおねがいします。
595 :
デフォルトの名無しさん:2005/08/10(水) 18:04:51
>>594 そうでした(汗。いつもぼーっと眺めてて気にとめることがなかった・・・・・
ありがとうございます
596 :
デフォルトの名無しさん:2005/08/10(水) 20:26:57
javaで作成する電卓プログラムの、プログラム構成図を書くという課題が出ました。
プログラム構成図とは何を書いたらよいものか分からず、途方に暮れています。
javaの質問にあてはまるか分からないのですが、ご存知の方がいたらヒントをお願いします。
DBに
"20050810\test.pdf"って文字列が入ってて
JavaのStringに取り込んでしまったあとで
test.pdfを取り出すにはどうしたらいいですか?
入れるときに’/’にしとけって言うのは無しでお願いします。
String fileName = field.substring(field.indexOf('\\'));
>>596 課題ってことはすでに勉強した部分からでてるんじゃない?
構成図たって人によって様々なんだからここでいえるはずもない
>>597 splitしたいってこと?
>>599 そういうことです。
\u005cとか使ってみたんですけど、結局"\\"と同じ事で
わかんなくなってしまいました。
何か方法があるのでしたら、是非教えてください。
601 :
596:2005/08/10(水) 20:54:43
>>599 構成図は習ったことも書いたこともないのでさっぱりわかりません。
本やサイトを探してみましたが、みつかりませんでした。
クラス図のようなものなのでしょうか?
>>600 Stringのsplit命令みてみた?
先生に聞いたら早いんじゃない
>>600 "\\"で何かまずいの?
"20050810\test.pdf".split("\\");
だとjava.util.regex.PatternSyntaxExceptionですし
"20050810\test.pdf".split("\");
だとコンパイルも出来ません。
なにか別の方法があるのでしょうか?
バカに正規表現を薦めんな
問題は元の文字列の\tがエスケープシーケンスとして認識されている事だと思うんです。
\\tとしてDBに入っていれば問題ないですし、/でも問題ないんです。
ですが¥が入っていると。
"\\\\"
基本だな
609 :
564:2005/08/10(水) 21:44:30
>>565 何とかログを出力するようになったんですが
どうも動きが変な感じです。
・ログは出すけどtomcatがFileNotFoundExceptionを出している
・出力先がeclipse直下になっている
で、tomcatの再起動時に
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase).
log4j:WARN Please initialize the log4j system properly.
って警告が出てくるんですよ。
log4j.xmlファイルの置き場所は昨日と同じでWEB-INF/classes、
eclipse3.0、tomcatが5.5、Java1.5、log4jは1.2.11と1.2.8でやってます。
何が問題なのかちんぷんかんぷんなんです。
誰か助けて下さい(;´д`)
イニシャライズ用サーブレットでDOMConfigurator.configure()
ってするのが普通だと思ってたんだが。
web.xmlにパス書いて。
>>607 ありがとうございました。
基本だったんですね・・・・。
ちゃんと理解した?
「\」にマッチさせたい
→正規表現では「\」はエスケープして「\\」と表す
→Javaの文字列表現では「\」はエスケープして「\\」と表す
→つまり「\」にマッチする正規表現のJavaでの文字列表現は「\\\\」
2種類のエスケープがどっちも\なんだよね。以上蛇足
>>609 誰かが(それが自分の書いたコードとは限らない)Loggerのインスタンスを得る前に
DOMConfiguratorで設定を済ませておかないと、設定ファイルが無いよ?というメッ
セージが出る。
ログの出力先は設定ファイル(この場合log4j.xml)の中身次第。中身をきちんと書い
てるにも関わらず出力先がおかしいなら設定ファイルを読んでない可能性が高い。
VMのコマンドライン引数に-Dlog4j.configuration=log4j.xml(バージョンによっては
file://で始まるURI指定が必要)などとシステムプロパティを使う方法もある。
ただ、この方法ではどういうわけか拡張子xml以外を受け付けてくれない。
非WEBアプリではプログラム名.log4j等にしたいんで何か気分悪い。
という事で、
>>610の方法に1票。
>>612 丁寧にありがとうございました。
ようやく理解できました。
Servletでファイルをダウンロードさせる時の質問です。
setContentType("Application/octet-stream")
setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"")
このようにした状態で
ServletOutputStreamにダウンロードさせるファイルを書き出しています。
ダウンロードダイアログで保存は出来、ファイルを確認することが出来ますが、
「開く」を選ぶと
C:\Documents and Settings\user\Local .... \downloadFile[1].csv'が見つかりません。ファイル名・・・・
となりExcelが開きません。
pdfファイルでも同じような状況です。(AdobeReaderのエラーになります)
setHeaderとかで何かやってないから出来ないような気がするのですが、
何が間違っているのかわかりません。
教えてください。よろしくお願いします。
>>615 ブラウザのキャッシュが上限に達しているとそういうことが起こる。
とりあえずキャッシュをクリアしてみれ。
>>616 早速の返事ありがとうございました。
キャッシュクリアを試しましたが、うまくいきませんでした。
素人が考え付きそうな最適化は、VMが勝手にやってくれるらしい。
例えばサーバモードだと無駄なループがごっそり削られたりして、
むしろパフォーマンスの測定が難しくなるらしい。
携帯はしらん
誤爆?
getter/setter なんかは、昔は final だとVMの実行中にインライン展開されたようで、
パフォーマンスのために final 付けるなどといった(笑い?)話もあったが、
今どきは final じゃなくてもコンパイルされ、
オーバライドが検出されたときにインタプリタに戻ったりするらしい。
携帯はしらん
誤爆?
5 レス以上前にレスするときはアンカー付けないと独り言に見えるよ。
Vector vec = new Vector();
/*
50以上のベクター領域の確保
*/
for(int i=0;i<50;i++)
{
vec.set(i,"string");
}
と言う処理を行うとjava.lang.ArrayIndexOutOfBoundsException: 50 >= 50が起きます。
vec.set()がおかしいのでしょうか?
624 :
デフォルトの名無しさん:2005/08/11(木) 12:25:39
何がしたいの?
set()は置き換えメソッドだけど・・
これには書いていないのですが本当はvecに格納されているDoubleデータを用いて演算した結果を書換えたいのですが・・・
携帯君はミジンコくらいしか脳みそがないのでそんなすごいことはやれません。
627 :
デフォルトの名無しさん:2005/08/11(木) 12:42:00
それ本当にVectorにデータ入ってる?
>>623 /*
50以上のベクター領域の確保
*/
ここで確保されてないんじゃないの?
はい。データは格納されていて、領域もvec.size()で調べたところ50よりもはるかに大きかったです。
630 :
デフォルトの名無しさん:2005/08/11(木) 12:49:12
System.out.printとかデバッガで中身も見た?
もちろんです。 吐いたエラーからみてインデックスは50より大きく、インデックスエラーが起きるのが理解できないのですが・・・
あ、確保しているベクターの領域はインデックスよりも大きくて、インデックス周りのエラーが起きるのが分からないという意味です。
へんな日本語使ってすみません。
>>625 > これには書いていないのですが
とりあえず全部、原文を載せることかな
>623に書いてあるソースではエラーは出ないからね
脳内で動かそうとしているソースへ、実際の(実は異なる意味を持つ)ソースを書き換えてる気がする
>625
> vecに格納されているDoubleデータを用いて演算した結果を書換えたいのですが・・・
この辺も怪しいし
vec.set(i, vec.get(i)*hoge); とかなってるのかね?
>>632 System.out.println(i); してみたら。
思わぬ値になっていないかな?
質問です。
Hoge hoge = new HogeEx();
obj.hoge();
とするとC++と違い、継承先のEx版hoge()が呼ばれるのはJAVAの仕様なのですが、
基底側のを呼ぶようにできないものでしょうか。
継承先のクラス定義内では
super.hoge();
とすることで基底クラスのそれを呼ぶことができますが、
その外側から呼びたいのです。
イメージ的には
obj.super.hoge();
って感じです。できないものでしょうか?
636 :
デフォルトの名無しさん:2005/08/11(木) 16:01:24
質問です。
swing使っているのですが、
ウィンドウが非アクティブの状態で、キーイベントを拾う方法はあるでしょうか。
解答お願いします。
>>635 C++ と違って外からは無理です。
サブクラス HogeEx の中で super.hoge() を読んでください。
>>637-638 ありがとうございます。
時々C++とJAVAがごっちゃになってしまうのが大変。
できないのは残念ですが、HogeExの中で呼ぶことにします。
c++にするとこうだから
Hoge* hoge = new HogeEx();
hoge->hoge();
これから勉強しようと思ってとりあえずj2se5.0をダウンロードし、
環境設定とシェル整えたところです。
ゆくゆくはJXTAで携帯電話のP2P開発…、とか考えてるんですが、
JAVAの基本的な(配列とか)の勉強→
i-modeの仕様に合わせた勉強→
JXTAの勉強…の順でいいですかね?
>>641 そんな事を考えてるヒマがあったらJavaを使えるように勉強しろ!!
質問です。
"2Ea+3sinbx"(a,bはともに実数)を"2*exp(a)+3*sin(bx)"と置き換えたいのですが、
これを正規表現を用いて実現するにはどうすれば良いでしょうか。
>>643 java.util.regex 参照。
具体的にどういう正規表現で記述するか云々は
Javaの話じゃないから適切なスレでどうぞ。
645 :
643:2005/08/11(木) 18:43:22
646 :
デフォルトの名無しさん:2005/08/11(木) 19:22:37
import java.io.*;
import javax.comm.*;
public class Rs232c {
public static void main( String arg[] ) {
try {
CommPortIdentifier ports = CommPortIdentifier.getPortIdentifier( "COM4" );
SerialPort serialPort = ( SerialPort )ports.open( "RS232C", 1000 );
serialPort.setSerialPortParams( 57600,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
serialPort.setFlowControlMode( SerialPort.FLOWCONTROL_XONXOFF_IN | SerialPort.FLOWCONTROL_XONXOFF_OUT);
OutputStream out = serialPort.getOutputStream();
out.write(0x01);
out.write(0x0A);
out.write(0x00);
out.write(0x00);
out.write(0x00);
out.write(0x00);
out.write(0x02);
out.write(0x01);
out.write(0x08);
out.write(0xF7);
out.flush();
647 :
デフォルトの名無しさん:2005/08/11(木) 19:23:27
InputStream in = serialPort.getInputStream();
in.close();
out.close();
serialPort.close();
}
catch( Exception e ) {
System.out.println( "Error:" + e.getMessage() );
}
}
}
out.writeで命令(これはRFIDリーダからタグのあるブロックの内容を読み取る命令です)
を送って,その応答を得たいのですが,InputStream以下にどのようにして応答を
取り込んできたらよいか分かりません.ここで応答とはブロックの内容です.
ちなみに書き込む命令もあるのですが,
そっちは問題ありませんでした.もしスレ違いだったら申し訳ございません.
質問です。
Eclipse+VEを使ったGUIプログラミングって使い勝手悪いような気がしてきたんですが、
実際のところ、どうなんでしょうか?
あと、製作中のプログラムの実行結果がどうなっているかというのを知るには、毎回コンパイル→実行しないといけないのでしょうか?
実際にGUIプログラミングされている方の環境が知りたいです
649 :
デフォルトの名無しさん:2005/08/11(木) 20:50:08
net beans
VEはまだまだこれからだね
ヴェ!
javaって
コーヒーマークとか
ピーナッツとか
サブレとか豆とか
なんでうまそうな名前ばっかなんだ?
javaがもともとコーヒーだからでしょ?
検索をしたのですが、よく分からなかったので質問させてください。
本に載っていたコードをそのまま打ち込んだところ
「アプレットが初期化されていません」
といわれてしまいました。
コンパイルはちゃんと出来ました。
何が原因なのか分かる方がいらっしゃいましたら、どうかお教えください…。
コードは以下に記します。
import java.applet.Applet; //アプレットクラスをインポート
import java.awt.*; //awtパッケージのすべてのクラスをインポート
import java.awt.event.*;
//アプレットクラス
public class AbroadCalc extends Applet //Appletクラスを継承
{
//オブジェクトを扱う変数
TextField TF1;
TextField TF2;
TextField TF3;
Panel panel1;
Button button[];
//名前つき変数(記号定数)
final int BUTTON_MAX = 20;//ボタンの最大数
//アプレット起動時に一回だけ呼び出されるメソッド
public void init()
{
TF1 = new TextField("0"); //TFオブジェクト生成
TF2 = new TextField("0");
TF1 = new TextField("ここにメッセージを表示");
655 :
654:2005/08/11(木) 23:03:43
//ボタンのレイアウト
//7 8 9 レート表示
//4 5 6 レート設定
//1 2 3 ハワイ
//0 クリア =
//+ - * /
button = new Button[BUTTON_MAX]; //ボタン用配列変数(Button型の配列)
button[0] = new Button("7");
button[1] = new Button("8");
button[2] = new Button("9");
button[3] = new Button("レート表示");
button[4] = new Button("4");
button[5] = new Button("5");
button[6] = new Button("6");
button[7] = new Button("レート設定");
button[8] = new Button("1");
button[9] = new Button("2");
button[10] = new Button("3");
button[11] = new Button("ハワイ");
button[12] = new Button("0");
button[13] = new Button("クリア");
button[14] = new Button("=");
button[15] = new Button("");
button[16] = new Button("+");
button[17] = new Button("-");
button[18] = new Button("*");
button[19] = new Button("/");
656 :
654:2005/08/11(木) 23:05:46
panel1 = new Panel();//パネルオブジェクトを生成
panel1.setLayout(new GridLayout(5,4));//5行4列のボタンレイアウト
for (int i=0; i < BUTTON_MAX; i++)
{
panel1.add(button[i]);//パネルにボタンを追加
}
setLayout(null);//レイアウトマネージャを使わない
add(TF1);//アプレットにTFオブジェクトを追加
TF1.setBounds(0,0,300,30);//配置する位置
add(TF2);//アプレットにTFオブジェクトを追加
TF2.setBounds(0,30,300,30);//配置する位置
add(TF3);//アプレットにTFオブジェクトを追加
TF3.setBounds(0,60,300,30);//配置する位置
add(panel1);//アプレットにパネルオブジェクトを追加
panel1.setBounds(0,90,300,120);//配置する位置
657 :
654:2005/08/11(木) 23:06:46
MyAdapter adapter = new MyAdapter();
for (int i=0; i < BUTTON_MAX; i++)
{
button[i].addMouseListener(adapter);
}
}
//マウスアダプタクラス(内部クラス)
class MyAdapter extends MouseAdapter
{
//マウスクリックで呼び出されるメソッド
public void mouseClicked(MouseEvent e)
{
TF1.setText("クリック");
}
}
}
658 :
654:2005/08/11(木) 23:08:08
すいません、↑のレスの最後に書き忘れましたorz
以上で終わりです!
長々と申し訳ありませんが、どうぞよろしくお願い致しますっ!
>654
> TF1 = new TextField("ここにメッセージを表示");
を、
TF3 = new TextField("ここにメッセージを表示");
にすれ。
660 :
654:2005/08/11(木) 23:25:17
>>659さん
わぁぁぁっ!早速ありがとうございます!!
今続きを打っていたので、これを打ち終わったらまた報告します!
つかスタックトレース読めばいいじゃん。
663 :
654:2005/08/12(金) 00:09:20
今やっと完成しました!
>>659さん
本当にありがとうございました。
664 :
デフォルトの名無しさん:2005/08/12(金) 10:01:25
あの、意見を伺いたいですが、
携帯とか組み込み向けのJ2MEの仕様(プロファイルって言うのかな)としてCLDCとかMIDPってのがあります。
で、当然の事ながらそれらはJ2SEとかより機能が制限されているのですね。
で、自分は携帯とPC間でオブジェクトの送受信をしたくて、そのためにObjectOutputStreamなどを使いたいです。
ですが、携帯側のAPIではせいぜいDataOutputStream程度しか用意されていません。そこで、ObjectOutputStreamなどを
自分で実装しようと思うのですが、ある程度制限がかかった携帯Java上でも可能なものでしょうか。
また、ObjectOutputStreamの実装というのはある程度基本的なAPIで実装できるものでしょうか(ネイティブとかいじらずに)?
識者の方ご意見よろしくおねがいします。
スレ違いだったらごめんなさい。
>>664 リフレクション使いまくって参照関係の解決に頭ひねりまくればできる。
正直、オブジェクトをタダの構造体として扱う俺様 Stream を作るだけ
ならそんなに難しくない。ObjectInputStream と同等機能を作ろうと
思ったらかなり大変。まぁ普通にデスクトップマシンの J2SE で
作ろうと思ったらだが。
666 :
デフォルトの名無しさん:2005/08/12(金) 11:32:42
>>665 ・・・_| ̄|○・・・はうぅ・・・。なるほど、携帯上ならさらに難しそうですね。
続けて質問で申し訳ないのですが、
"オブジェクトをタダの構造体として扱う俺様 Stream"を作ればとりあえず
writeObjectと同じような事はできると考えていいのですね?
667 :
664:2005/08/12(金) 11:35:31
考えてみると、携帯上でたしかリフレクションAPIは使えない・・・・・・orz
668 :
615:2005/08/12(金) 15:02:26
自己解決しましたので一応報告します。
ヘッダに、Cache-Controlがno-cacheでセットされていたのが原因でした。
適当にfooとかで上書きすればちゃんとダウンロード出来ました。
669 :
デフォルトの名無しさん:2005/08/12(金) 15:32:16
キューの最後尾の要素を先頭に持っていくメソッドの書き方を教えてください。
>>669 synchronized(queue){
if(queue.size() > 0){
queue.insert(0, queue.remove(queue.size() - 1));
}
}
JavaMail の POP で躓いてます。ヒント下されー。
■ソースコード
ttp://www.hellohiro.com/src/HelloWorldPOP.java $ javac HelloWorldPOP.java
■エラー内容
$ java HelloWorldPOP
javax.mail.MessagingException: Connect failed;
nested exception is:
java.net.SocketException: Invalid argument or cannot assign requested address
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:130)
at javax.mail.Service.connect(Service.java:236)
at HelloWorldPOP.main(Pop.java:17)
■環境
OS : Fedora Core 4
$ java -version
java version "1.4.2_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_09-b05)
Java HotSpot(TM) Client VM (build 1.4.2_09-b05, mixed mode)
## javamail-1.3.3ea
/usr/java/j2sdk1.4.2_09/jre/lib/ext/activation.jar
## jaf-1.0.2
/usr/java/j2sdk1.4.2_09/jre/lib/ext/mail.jar
同じサーバーで qmail も動いてます。qmail を kill してみましたが同じエラー結果でした。
■他の環境
Win・Mac では動作しています。
- JDKバージョン(同上), JavaMail (同上), jaf(同上)
672 :
671:2005/08/12(金) 18:07:55
追記です。ポート25とポート110の使用状況です。
tcpserver経由でqmailのデーモンを起動しています。
$ netstat -anp | grep 25
tcp00 0.0.0.0:250.0.0.0:* LISTEN2129/tcpserver
unix 2 [ ACC ] STREAM LISTENING 6257 2100/hald @/tmp/hald-local/dbus-cuhr0oKZjh
unix 2 [ ] DGRAM 6258 2100/hald @/var/run/hal/hotplug_socket2
unix 3 [ ] STREAM CONNECTED 6252 2079/dbus-daemon /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 6251 2091/cups-config-da
unix 2 [ ] DGRAM 5258 1587/rpc.statd
$ netstat -anp | grep 110
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 2131/tcpserver
>>671 同一のプログラムがWindowsとまこで動いてるなら、まずやることは
telnet xxx.xxx.xxx.xxx pop3
をそのFedora Core 4で実行してみることだろう。
intの配列を要素に持つHashSetを作りたいのですが、
Set<int[]> s = new HashSet<int[]>();
int[] a = {0, 1, 2};
int[] b = {0, 1, 3};
int[] c = {0, 1, 2};
のように定義して、sがその配列を持っていない場合、addする
としたいのですが、aを要素に持っている時にs.contains(c)としても
falseが返ってきてしまいます.
a.equals(c)がtrueになってないからではないかと思うのですが、こういう場合
どう実装すべきでしょうか?
675 :
671:2005/08/12(金) 21:15:16
>>673 ありがとうございます。
試してみたところ qmail が応答しました。
# telnet 192.168.11.5 pop3
Trying 192.168.11.5...
Connected to 192.168.11.5 (192.168.11.5).
Escape character is '^]'.
+OK <2616.1123877887@ドメイン名>
ハード的な問題かと思い GUI環境(Gnome)を入れて
メールクライアントから試してみたところ受信出来ました。
JavaMail には mail.debug というデバッグ機能がある様ですが、
使い方がよくわからない…
676 :
671:2005/08/12(金) 22:06:38
日本語訳された javadoc 発見。デバッグできたー。
セッション作った後に setDebug を true。
session.setDebug(true);
$ javac HelloWorldPOP.java
$ java HelloWorldPOP
DEBUG: setDebug: JavaMail version 1.3.3ea
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]
DEBUG POP3: connecting to host "メールサーバーのホスト", port 110, isSSL false
javax.mail.MessagingException: Connect failed;
nested exception is:
java.net.SocketException: Invalid argument or cannot assign requested address
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:130)
at javax.mail.Service.connect(Service.java:236)
at HelloWorldPOP.main(Pop.java:25)
isSSL false ?を手がかりに調べてきます。
677 :
デフォルトの名無しさん:2005/08/13(土) 03:28:59
JFrame を最大化した状態で getBounds() すると最大化状態の大きさが取れますけど、
最大化したまま通常の大きさはどうやって取るのでしょうか???
678 :
デフォルトの名無しさん:2005/08/13(土) 03:48:56
>>674 配列を保持するクラスを作ってそこに全部データ入れるようにして
equals() を自分で書いておけばいいんじゃない?
全部defineに書け、そこで済ませろと冗談で言ったら
リアルに詰め込んでた新人がjavaのプロジェクトへ飛ばされました
ご縁がありましたら面倒見てやってください、宜しく!
>>664 >自分は携帯とPC間でオブジェクトの送受信をしたくて
夢をくじくようで悪いがそれはおそらく無理だ。
携帯用のJava(というかi-mode)では、コンパイルされた
オブジェクトに「プリベリファイ」という行程が必要になる。
まあ変なコードが実行されないように事前検証するような
意味合いだと思うが、PC用のJavaではこのプリベリファイ
を「ランタイムで」、つまり実行時に行っている。
なので、クラスファイルのフォーマットそのものが違うはず。
実験しないとわからんが、無理と思ったほうがいい。
>>680 クラスファイルのフォーマットと
シリアライズされたデータの関係は
これっぽっちもないわけだが。
>>664 MIDP用もあるからSOAPとかXML-RPCにしようぜ
683 :
デフォルトの名無しさん:2005/08/13(土) 10:31:00
特定の文字列(文字ではない)以外にマッチする
正規表現はどう書いたらいいですか?
コストばりだかなるからそのマッチングやるべきじゃないよ
[^文][^字][^列]こうすればでるかな?
文字列{0}とかないの?正規表現って処理系で癖あるよね
あれなんとかしてよ
>685
なんだそれそんなんあんだ!!
勉強なった!
訂正
(?!^特定の文字列$)^.*
689 :
デフォルトの名無しさん:2005/08/13(土) 12:43:16
Jakarta ORO使った方が
コストかからないって琴はない?
690 :
デフォルトの名無しさん:2005/08/13(土) 13:13:44
作ったプログラムがキー操作受け付けなかったので
System.out.println(ke.getKeyCode());
とやるとどうやら0らしいのです。
どうすればよいのですか?
691 :
デフォルトの名無しさん:2005/08/13(土) 13:45:35
テキストエディターを作りたいんですけど。
機能としてはファイルメニューに新規、上書き保存、
名前をつけて保存、終了の機能だけで良いんです。
なにとぞよろしくお願いします。
692 :
デフォルトの名無しさん:2005/08/13(土) 13:48:29
>>691 スレ違いっぽいから、宿題スレに行くべし
693 :
デフォルトの名無しさん:2005/08/13(土) 14:01:07
今日は東京湾花火^−^
694 :
664:2005/08/13(土) 14:39:41
>>680 そうですね。でもたしか、そこらへんの依存関係の情報はクラスファイル中の
本来は読み捨てられる領域に入れてあると書いてあったと思うので、互換してくれる
んじゃないかなと思います。PC上での開発」ではJ2SE上で動かすようですし。とはいっても
プリベリファイ用のツールも実行前に用いるようなので確かではないですが。
>>682 オブジェクトもSOAPで送れるんでしたっけ?どっちにしろオブジェクトをストリームに流すのに
ObjectOutputStreamとかが必要になりそうな気がしますね(内部で使ってるとか)。
695 :
664:2005/08/13(土) 14:41:26
JAVA1.5で作成してコンパイルされたクラスファイルでも、1.4のVMで動かせますよね?
696 :
664:2005/08/13(土) 14:42:01
まったく関係ない質問失礼orz。
>>695 1.5で新規追加された機能・クラス・メソッドがあった場合は無理
一度1.4で再コンパイルしてみたらいい
追加された機能使ってなくてもクラスファイルバージョンチェックに引っかかる
700 :
デフォルトの名無しさん:2005/08/13(土) 16:28:48
>>698 >>699 なるほど。理屈としてはよくわかるのですが、バイトコードは一緒なのだから
動かせてくれればいいじゃん、と思ってしまう自分。
javac -source 1.4 -target 1.4 Foo.java
って意味ないよな。
703 :
609:2005/08/13(土) 21:18:02
>>610 >>613 ありがとうございました、動いてくれました。
おかげさまで週末休みを取れました。
ただ、あっちこっちのlog4j関係のサイトを見てると
Logger logger = Logger.getLogger(Log4JLoggingTest.class);
PropertyConfigurator.configure("log4j.properties");
って順にしてるものが多いですよね。
ttp://www.h7.dion.ne.jp/~s_wat/jakarta/log4j.html このサイトもそうですし。
この人たちは何故動かせてるんでしょう?
環境変数かなんかをいじれば動くものなんですかね?
704 :
デフォルトの名無しさん:2005/08/14(日) 02:39:39
>>683 それは絶対に正規表現でなければならないのか?
俺が Java プログラムの中でやるとしたら
if (s.indexOf("xxx") == -1) { ... }
のように書くと思うが、これじゃ駄目か?
正規表現のパターンだったとしてもこれで行けるが。
if (! s.maches("xxx")) {
}
単に指定の文字列が含まれていないというだけでは済まされない
(たとえば前後に一致しなければならないパターンを含む)とすると
>>688さんの方法でやるしかないが。
705 :
デフォルトの名無しさん:2005/08/14(日) 04:33:12
すれ立てるまでもない質問のスレに入れないんでここに書きます。
コンピュータ関係の文章で
「●●と▲▲は直交する概念である。」
とうのを時々みかけますが
直交する概念ってどういう意味なんでしょうか。
707 :
デフォルトの名無しさん:2005/08/14(日) 05:18:23
わかりました。
あるものが持つ独立した属性ってことですね。
BufferedReader reader = new BufferedReader(InputStream
java初めて二週間足らずの初心者です。
awtのファイルダイアログを使ってファイルを選択して、リストに表示しようとしてるんですが上手くいきません。
何度やってもFileNotFoundExceptionがでてしまいます。ナニが悪いのか教えてください。下にソースを貼ります。
ちなみに開発環境はNetBeandsIDE4.1です。
710 :
デフォルトの名無しさん:2005/08/14(日) 14:08:23
private void b0ActionPerformed(java.awt.event.ActionEvent evt) {
fd.setMode(FileDialog.LOAD); fd.setVisible(true);
x0.setText(""); i0.removeAll();
try{
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(fd.getFile()),"JISAutoDetect"));
String line;
String str = fd.getFile(); i0.add(str);
while((line = in.readLine()) != null){
i0.add(line);
}
in.close();
}catch(Exception ex){x0.setText(ex.toString());}
}
>>709 よく知らんがgetFileがファイル名だけ返すのちがうけ?パスじゃなく
712 :
デフォルトの名無しさん:2005/08/14(日) 15:55:57
javaをはじめたばかりのものです。javaの開発環境は用意でき、初心者
お決まりのハローっていうのを、画面に出力させる、見たいなことはで
きました。javaの勉強に最適なサイトや本があったら教えてください。
大学で物理やってるんですが、物理の研究にjavaって向いてますか?
それとも他の言語がいいですか?恥ずかしながら、私理系でありながら
今までプログラミングって難しそうって避けてきたんです。だから、プ
ログラミング言語の特色とかぜんぜん分からなくて。趣味とかではなく
研究のことを考えてやろうと思ってるのでもしこの言語が向いてないなら
他の言語やろうと思ってます。誰か回答お願いします。
>>712 オブジェクト指向とシミュレーション分野の親和性はいいがリアルタイムで動向は禿げ。
714 :
デフォルトの名無しさん:2005/08/14(日) 16:01:10
>>714 当局に必要書類の提出。後ビザも忘れるな。
JSFでシステム組んでるんですけど、
フォーム使ったページのHTMLにいつも
xxxxclearってJavaScriptがついてくるんですが、
これを無効にすることってできないものなんでしょうか?
xxxxclearって言われてもわかんないけど
入力値クリアするためのfunctionかなにかかな?
そのJSFのカスタムタグが出してんだろ
使わないなら使わないで実害はないはず
どうしても気になるのであれば自分でカスタムコンポーネント書く
>>716 どうしてもいやなら、手作業で消すか、消す為のツールでも作ったら?
入力値の初期値を入れたいならxxxxclear()の後に自分の初期化処理が
呼ばれるように組めばいいのでは?
fd.getDirectory() + fd.getFile(); でやってみろ
>>718 >どうしてもいやなら、手作業で消すか、消す為のツールでも作ったら?
どこにそんな処理入れるんだ?
JSFの仕組みわかっていない予感
721 :
709:2005/08/14(日) 20:10:49
722 :
デフォルトの名無しさん:2005/08/14(日) 20:54:34
723 :
デフォルトの名無しさん:2005/08/14(日) 20:56:22
あの、実行中のThreadを、ネットを介して送信して、リモートで途中から走らせる
みたいな事をやりたいのですが、適当なライブラリってありますか?海外の物でもかまいません。
誰か知っていたら教えて下さい。
724 :
デフォルトの名無しさん:2005/08/14(日) 21:14:47
eclipceを使いたいのですが
先にjavaを入れるのですか?
>>723 モバイルエージェントかな?
IBMのAgletsとか東芝のbeegentってのがそういうことできる。
727 :
デフォルトの名無しさん:2005/08/14(日) 21:31:05
>>725 モバイルエージョントほど凝ったものではなくて、単純にThreadが移動できるようなものが欲しい
んですよね。Threadクラスに何も手を加えなくてもOKみたいな(与えるとしてもMigratableインターフェイスをマーカとしてimplementsするだけとか)
教えていただいたやつだと、移動した後のインスタンスの再構築などを自分で面倒みたいとだめなんですよ。
クラスの数値フィールドの型についてなんですが、
byteやshortで収まる数値しか扱わない場合は
それぞれの型にしたほうが、メモリの節約になるのでしょうか?
729 :
デフォルトの名無しさん:2005/08/14(日) 22:07:00
Javaのfor文の中でいろいろ処理をして例外が発生したとします。
そのとき、ある例外が発生しても処理を終了せずにfor文を抜けずに
処理を続けることってできないのでしょうか?
>>723,725
マジでそんなのあるのか?
聞く感じでは、そんな小難しい事やるのはバグ入り込む余地を広げるだけだと思う
何の意味があるのか?
誰も突っ込むなよ、意味がわかればいいんだ、意味がわかれば・・・
733 :
デフォルトの名無しさん:2005/08/14(日) 22:13:20
深田か
>神様、ありがとう。
深田恭子のことじゃないのか?しらんけど
ああ、ああ、あああんあん
ああああん、ああああん♪
>>730 バグが入る余地はもちろん広がるが、
実行時に負荷が高まってきたら別の負荷の低いマシンにプロセスごと移動して実行を続ける
なんてことが可能になるので意味はある。
>>738 利点はそうだと言われてるよね。
ただそれを使わないと実現できないっていうキラーアプリがないから普及しない。
アイデアは面白いと思うけど。
>>740 目的としている動作が違う。つーか比較できるのかこれ?
・・・負荷が高まってきたら別の負荷の低いマシンに・・・
このあたりの考えのみ似ている(負荷が高まってきたらっていう条件はないけど)
あるサイトで
protected static Hoge ap;
と、宣言して、その子クラスで
ap.メソッド
と、していたのですが
インスタンスを生成しなくてもよいのですか?
というか、自分で同じようなのやってみると
NullPoが発生しました。
てか、子クラス以外から参照できないのに
このstatic意味あるんですか?
よい。
ある。
誌ね。
以上
745 :
743:2005/08/15(月) 21:02:49
はい、わかりました。
逝ってきます。
Stringの変数に収められている数字をintの変数に数値として代入する方法ってありますか?
Integer.valueOf
748 :
746:2005/08/15(月) 22:03:26
Integer.parseIntだろ。
Integer.valueOfだとintではなくIntegerになるぞ。
5.0ならそれでもいいのかも知らんが。
>>749 当の本人が出来たと言っているのに何がしたい訳よ?
すんません、初心者です。
質問します。
ファイル抽出ってのやってみたいんですが・・・・。
例えば、「Cドライブの中にあるWordのファイルとかをを抽出してそれの
コピーをどっかのファイルに突っ込む」みたいな動きをさせたいんですが、
だれか取っ掛かりを教えて下さい。
よろしくお願いします・・・。
激初心者+教えて君で申し訳ないです・・・。
>>751 単にそのどっかのファイルをブッ壊すって解釈でFinal Answer??
754 :
デフォルトの名無しさん:2005/08/16(火) 00:13:25
スレ違いかもしれませんが、お聞きしたいことがあります。
Eclipseのプラグイン、もしくは単独のアプリでもかまわないのですが、
Javaのプログラムの実行して、その中でのメソッドコールのグラフを
ビジュアルに表示するものありませんか。
フリーで。有料ならJProbeってのにそういう機能があるそうなのですが、
買えません・・・・・・・・
>Cドライブの中にあるWordのファイルとかをを抽出して
list(FileFilter)とか
>コピーをどっかのファイルに突っ込む
これの意味がわからないんだけど・・・どっかのフォルダにファイル名指定なら
renameTo(File)とかでいける
758 :
デフォルトの名無しさん:2005/08/16(火) 01:04:20
>>754 Eclipse3.1をインストールして、
Help -> Software Updates... -> Find and Install...
ってたどっていって、TPTP4.0ってやつを選択すれば
まさにお望みどおりのものがインストールされる。
761 :
759:2005/08/16(火) 01:09:47
ホームページを作るのに、スクリプト言語が必要なのですが、
ひとつ選ぶならば、javascript と PHP の選択が良いでしょうか?
763 :
デフォルトの名無しさん:2005/08/16(火) 11:40:42
どちらかで、書いたものを使うならば どちらがよさそうでしょうか?
>>764 環境は、apache + php + mysql で、作りたいです。
HTMLのタグを研究するついでに他のひとのサイトを参考にしてみたら、
javascript で書いてあったので、、、。
Sunのアソシエイツ試験(SJC-A)って、合格するためにはJ2SEでのプログラミングの基本的な知識以外に
どんな知識が必要なんですか?
>>765 ヒント:ここは「java」の質問スレッド
768 :
デフォルトの名無しさん:2005/08/16(火) 11:53:09
phpで書いてるのですが、
java関連に触れる機会がなかったので、今をおいて他にないなと思ってこのすれに現れた次第です。。
>>767 java script のスレ、探してみます。
>>768 JavaとJavascriptは別物だ。失せろハゲ。
クライアントサイドスクリプトとサーバサイドスクリプトの違いも知っておけよ
773 :
デフォルトの名無しさん:2005/08/16(火) 11:59:49
で、作るのはLAMPとか何も必要ないものだと思うよ。
Livedoor借りるだけで済むようなものを作ると。
これを指摘されると。
自分でやることに意味があるとか反論するかもシレンが、
ここは
J a v a ス レ だ 。
hoge.classでimgディレクトリの中の画像を表示しているのですが、
jar cvfm hoge.jar Manifest.mf hoge.class ./img/
として出来上がったexcutable jarを実行すると、imgディレクトリの画像が表示されません。 (imgディレクトリは取り込まれています。)
何故かjarファイルと同じ階層にimgフォルダを置くと表示されます。
どうすればいいでしょうか。
>>776 イメージの取得は、クラスローダ使って
getClass().getResource("/img/hoge.jpeg")
とすればいいんじゃね?
778 :
デフォルトの名無しさん:2005/08/16(火) 15:27:19
HTML上でアプレットのサイズを0にする方法を教えてください。
SCRIPTタグで〜.jsを読み込む方法だとインタプリタになってしまうので
コンパイルしたclassファイルを読み込みたいのですが
OBJECTタグやEMBEDタグを使ってもうまくいかないので
APPLETタグを使い、そのアプレットを表示させないようにしたいです
779 :
デフォルトの名無しさん:2005/08/16(火) 15:35:15
>>778 .js って JavaScript だよね? それと Java Applet がどういう関係にあるんだ?
言ってる意味がよくわからんが。
とにかく小さく出したいなら WIDTH, HEIGHT を両方共 1 にすれば?
>>778 すまんが、全く何がしたいのかわからん。
Appletのサイズが0ってのもわからんし、
APPLETタグを使い、そのアプレットを表示させたくないってのもわからん。
Appletを使いたいからAPPLETタグを使ったりするものだが・・・。
JavaScriptが登場する理由もわからない。
誰か翻訳してやってくれ。
これはもう、わけがわからんね
とくにここ
>SCRIPTタグで〜.jsを読み込む方法だとインタプリタになってしまうので
>コンパイルしたclassファイルを読み込みたいのですが
俺の知らない仕様があるのかな。
783 :
デフォルトの名無しさん:2005/08/16(火) 15:46:22
翻訳します
計算を8000回ループさせたいのですが
JavaScriptだとインタプリタなので遅くなってしまうと思い
あらかじめコンパイルしたclassファイルに引数を渡して
計算させたいのですがどうすればいいのでしょうか?
普通にJavaプログラム作ればいいんじゃね?
>>783 うまく翻訳できてるんでは無かろうか(w
入力をHTMLでやらせる必要性が感じられないね。
>>784が言うようにAppletで入力部分から何もかも作れば解決だな。
Hoge.java:10: 警告: この文字は、エンコーディング MS932 にマップできません。
とでて化け化けの注釈がでるんですが、どうすればいいですか?
utf8で保存してます。
>>786 じゃあ、UTF-8を指定してコンパイルすれば?
790 :
786:2005/08/16(火) 16:46:57
791 :
776:2005/08/16(火) 18:39:11
>>777 getClass().getResource("/img/hoge.jpeg")
を使うとjarにする前は動くんですけど、jarにするとウィンドウが出てこなくなり、
上の部分をコメントアウトするとウィンドウが出てくるのでぁゃιぃ画像ファイルを
じろじろ眺めてたらファイル名がHoge.jpegでした。
jarにすると大文字小文字を区別するようになるんですね。
ありがとうございました。
792 :
デフォルトの名無しさん:2005/08/16(火) 19:19:50
>>713 リアルタイムでシミュレーション分野が禿?
どういうこっちゃ
やると禿げてしまうほど苦しい分野という意味か?
それとも?
793 :
デフォルトの名無しさん:2005/08/16(火) 19:53:41
>>793はLAMPとかLAPPとかシランのかな?
じゃ、livedoorで ディスク容量制限無しで FTPサーバーとデーターベースサーバーを構築してみやがれw
796 :
デフォルトの名無しさん:2005/08/16(火) 20:07:32
linux + apache + mysql + php の略やね。
そんな略語で得意になられてもw 苦笑
797 :
デフォルトの名無しさん:2005/08/16(火) 20:09:34
>>762からの流れで
>>775の発言でなにが問題なのかね?
実際に作るものがFTPサーバとデータベースサーバなら
そもそもの質問があり得ないんだけどねぇ。
>>798 スレ違いの質問にここで回答してることが問題
スルーするなり誘導するなりしないとどんどんズレる
800 :
デフォルトの名無しさん:2005/08/16(火) 20:22:47
>>798 795が誰に言ってるのかがわからない。
FTPサーバとデーターベースサーバーだけを作るとか、
勝手に脳内で決めないでw
あーーーーーーーうざいうざいちょーうざいんだけど
802 :
デフォルトの名無しさん:2005/08/16(火) 20:24:25
775、798は 自分本位の仮定が多いよw
801は 阿呆まるだしやな
sage
805 :
デフォルトの名無しさん:2005/08/16(火) 20:29:09
自分の都合の良い仮定でしか語れない。で、指摘されると
「うざい」w
女子高生だなw
いい感じで盛り上がってるな。
LAMPでもなんでもいいからホームページに関しては
ほかの板でやれや。
807 :
デフォルトの名無しさん:2005/08/16(火) 20:32:35
ム板にID欲しいね。
自作自演臭がするの?(w
SCWCDの試験勉強してんだけど、
昔 Value Object って呼ばれてたデザインパターンが
Data Transfer Object に名前が変わっちゃたの?
マーチンファウラー先生が変えようって言いだしたの?
812 :
デフォルトの名無しさん:2005/08/16(火) 21:58:06
>>810 それはきっと・・
ハーマイオニーがハリーポッターに囁いたんだよ。
813 :
デフォルトの名無しさん:2005/08/16(火) 22:24:43
Windows環境でアプレットシステムを構築しているのですが、
文字コードのことで悩んでいます。
皆様がご存じの通り、Unicodeでは
£などの文字は文字は同じでもSJISから変換したか、
MS932から変換したかで
Unicode上のコードポイントが異なってしまいます。
自分のシステムでアプレットから取り込まれたUnicode文字の
コードポイントをみるとMS932から変換されてしまっているようなのですが、
これをSJISからのコードポイントに変換させる方法が
ありましたらご教授願えますでしょうか?
>>717 具体的にはこれなんです。
<script type="text/javascript">
<!--
function clear_loginForm() {
var f = document.forms['loginForm'];
f.elements['loginForm:_link_hidden_'].value=null;
f.target='';
}
clear_loginForm();
//-->
</script>
form id=loginFormのあるページでは
こんなスクリプトを吐くんですよ。
ブラウザの「戻る」を使ったとき本来飛ぶページじゃなくって
入力したテキストがクリアされて同じページに戻るんで、
こうならないようにしたいんですが、調べてもどこにも出てこないもので・・・
板 違 い だ っ つ ー の
どこに目つけてんだよ貴様の脳天はピーマンかだいたいじゃばすくりぷとは低能のオナニー言語なんだよ馬鹿アフォ池沼童貞苞茎キモオタデブクソクズ真性糞尿DQN半島人
>>815 > どこに目つけてんだよ
はそっくりそのまま返そうか。
JSF知らずに息巻いてるんじゃないよ。厨房め。
>>818 同じツッコミをしようと思ったがJSPは別スレあるから確かにスレ違いなので辞めた。
全然スレ違いって事もないだろう<Java質問の範疇ではある
まぁ、ここで聞いても答えが得られる可能性は低いだろうから
専門スレへ行くべき質問だとは思うけど・・・・・・
822 :
デフォルトの名無しさん:2005/08/17(水) 03:39:50
メモ帳開いて命令文をポチポチ書き込んで
今のところ文字しか出てこないしょぼいPRGを作ってるんだけど
セーブ機能とかつけるのは無理ですか?
JAVAでオンラインゲームとか作ってるところもあるから
結構作りこめるかもと思ってるんだけど
>>822 とりあえずおまいが思いつく既存ゲームの機能は
たいてい出来るから安心したまえ。
>>822 Java は、元々業務用システムに特化してるから、グラフィック面が
弱いんだよ。だから、まともなゲームプラグラマーはJavaを
相手にはしない。Swingの遅さと機能の無さは有名だしね。
まだまだって面は否めない。本格派指向なら、他の言語に移行すべきだ。
一応、経験者からのアドバイス。
>>824 なんでゲームプログラムでSwingがでてくるんだよ
どのへんが経験者だよ
自分が出来ないからって嘘は言うなよな
セーブできますかって聞いてんのにswing関係ないよな。
java.ioパッケージを勉強しなさいってことになるのかな。
他人を装った釣り宣言みっともない
釣られてムキになるのもみっともないよな
(´,_ゝ`)プッ
おまえら仲良くしろよ
>>830 またその顔文字m9(^Д^)ダッセ━━━━━
ダサイなら使うなよm9(^Д^)プギャー
835 :
デフォルトの名無しさん:2005/08/17(水) 19:18:48
byte[] の変換についての質問です。
byte[] を数値に直す時に BigIntegerを使っているのですが、BigIntegerの変換が2の補数で変換する為に、
1バイトを 127〜-128 として扱います。
対象のデータが補数表記ではなく 1バイトを 0〜255 として扱っています。
このデータを byte[] で読んだ後に、 正しく数値に直したいのですがどうすればよいのでしょう?
1. byte[] tmp = { 00000011 }
(ソースじゃないです。書き方がわからん・・・ビットの配列)
BigInteger aaa = new BigInteger(tmp)
System.out.println("結果:"+ aaa.toString() )
上記のようにやると 結果: 3 となります。
2. byte[] tmp = { 10000010 }
BigInteger aaa = new BigInteger(tmp)
System.out.println("結果:"+ aaa.toString() )
上記のようにやると 結果:-124 となります。
そうではなくて、これを 130 と表示するにはどうするのでしょう?
ちなみに java1,3 でできると、なおうれしいです。
>>835 byte[] が1要素だけなら、
BigInteger.valueOf(tmp[0] < 0 ? tmp[0] + 256 : tmp[0])
だけど。
複数要素のときは
new BigInteger(1, tmp)
でいいのかも知れず。
838 :
835:2005/08/17(水) 19:32:58
早速レス感謝!!
837さんのやり方で試してみて、NGなら836さんのやり方でやってみます!
839 :
デフォルトの名無しさん:2005/08/17(水) 21:41:15
ここが適切かどうか判りませんが…
Webアンケートを作成するシステムを考えていて
XMLでアンケートの内容を定義し
XMLからHTML、Formの内容チェックするJavaScript、サーバ側で動くperlスクリプトを生成しようと思っています。
この変換にはXSLTか、JavaでDOMを使おうと思っています。
こんな感じのフレームワークみたいなのが既にあれば、
それを使った方が効率良さそうなので使いたいのですが、該当するのありますか?
有るなら、なにを調べればよいですか?
>>839 作ろうと思ってめんどいから辞めた。アイデア料払え。
>>839 誰がそのXMLをかくのかなぁ?
その手間考えれば、そんな事やる事自体めんどくさい
隣に座っている奴にもう一回・もう一度聞いて見れよ、おそらく答えを見つけているはずだ
そしてやつはこう答える N.....
トナリノヤツヲアナドルナ
カレハジツリョクヲカクシテイル
シラナイフリヲスルノガトクイデス
カレガ「クワシクナイ」トイウハツゲンヲシタトキ
カレハジツリョクヲカクシテイル
java.awt.Frame に描画する形で簡単なゲームを作成しているのですが、
マウスボタンを離したときに処理をさせる方法が分からず困っております。
自分は Java に関しては完全に初心者ですので、
Java ではマウス系のイベントは processMouseEvent で処理するという程度しか分かりません。
C# 言語であれば、MouseUp イベントで簡単に処理できるのですが・・・。
847 :
846:2005/08/18(木) 11:22:05
質問なのに sage てしまったので age ます。
848 :
デフォルトの名無しさん:2005/08/18(木) 11:24:31
849 :
デフォルトの名無しさん:2005/08/18(木) 11:27:45
>>846 手元のJAVA本を見てみたんですが、
MouseListenerインターフェースのmouseReleasedメソッドを
実装するとイベントがとれるみたいですね。
「MouseListener mouseReleased 」でグーグル検索してみると
サンプルコードが見つかるかも。
>848
setup.exe叩くと外に繋ぎに行こうとするんだけど、何で?
851 :
846:2005/08/18(木) 11:44:51
>>849 ありがとうございます。
さっそく検索してみます。
( ゚д゚)ノ ハイ!質問!
おまいら教えてくださいお願いします。
tomcatでJSP動かしているんだけど
out.print();
で表示される文字数って限界ある?
同僚が動的に作ったHTMLをStringBufferにぶち込んでそいつを
out.print()で表示させようとしているんだけど途中で途切れるんだよね。
これtomcatの設定?Javaでバッファオーバーフローなんて無いって聞いたから・・・。
JavaでVBとかのDoEventsみたいな機能ってありませんか?
メインループ処理しながらイベント処理もしたいのですが。
JSPなのにout.print使ってる時点でナンセンス
超的外れ
>>854 俺もそう思うんだけどそう作っちゃったからってガンコに聞かないんだよね。
っつーか自己解決しました。結局同僚は何にもしてないけど(#゚Д゚) プンスコ!
out.flush()で強制的に出せばよかったんだね。
もうちょい出なかった理由を調べ「させます」、同僚にw
>>856 同僚に「その調べてる時間でさっさと直せハゲ」って言え
以前手伝ったプロジェクトのリーダーは、
サーブレットでHTMLテキストをStringで組み立ててセッションにセット、
その後でJSPにフォワードしJSPで表示、
なんていう方法をとってた。JSPの意味がない…。
多分大手Fあたりから教わったんだと思う。
Web系以上簡単な分野なんてないのにチャチャっとつくれんのか
>>845 すごい。Javaでもここまで作れるんだ。
でもページの中にJavaって文字は見つからなかった。
どこに書いてますか?
JButtonとJLabelを複数持ったカスタムコンポーネントを作ろうと思っているんですが
どのように作っていいものか分からないで困っております.
どなたかご教授ください.
863 :
861:2005/08/18(木) 18:00:36
すみません.
JButtonとJLabelのセットで一つのUIコンポーネントを作って
それを使いまわしたいんですが
自作のクラスのメンバにJButtonとJLabelを持たせて何かを継承すれば
Swingで用意されているJButtonやJTextFieldのようにaddして行けるのでしょうか?
>>863 1. java.awt.Panel または javax.swing.JPanel のサブクラスを作る。
2. コンストラクタで必要なコンポーネントを並べ、ボタンのイベントリスナなどを登録する。
3. 外部から操作が必要なら public なメソッドを定義する。
いじょ
865 :
デフォルトの名無しさん:2005/08/18(木) 19:29:28
以下再掲です。
JavaでVBとかのDoEventsみたいな機能ってありませんか?
メインループ処理しながらイベント処理もしたいのですが。
コンストラクタ() {
・
・
・
this.mainLoop();
}
private void mainLoop() {
while(true) {
・
・
・
DoEventsのようなもの
}
}
マウスイベントとか() {
・
・
・
}
ってなかんじで作りたいのですが。
DoEventとは根本的に考え方が違うが、なんらかの処理をしながらイベント処理するための機構はある
InvokeLatorとかInvokeAndWaitなんかを調べてみては
<% if (flg) out.print(param); %>
こういう使い方ができるからout.printは必要。
>>752 お前は正しいよ。自信を持って生きてゆけ。
<% if (flg) {%>
<%=param%>
<%}%>
873 :
デフォルトの名無しさん:2005/08/18(木) 22:58:39
さてお前ら問題す
特にWeb系が簡単だといった人に
JSPあるいはサーブレット内で
System.ext();
とやった場合どうなるか答えてみない?
874 :
デフォルトの名無しさん:2005/08/18(木) 22:59:20
System.exit(0);な
サーブレットコンテナのセキュリティによるんじゃない? (てきとう)
878 :
デフォルトの名無しさん:2005/08/18(木) 23:46:27
>>877 そう、だからJava(サーブレットJSP)の使える個人HPサーバが少ない
そういう管理まで頭悩ませるからね
JTextArea 内のテキストの選択開始/終了 (選択状態の変化) をイベントとして取りたいんだが
どうすれば良いんだ?
>>873 やっぱり馬鹿だねWeb系は
中国人と賃金競争してるといいと思うよ
賃金競争にすら参加できない
>>880は救い洋梨ですか?
>>878 セキュリティマネージャやアクセス制御って知ってるか? System.exit(0) やスレッド生成、
AWT (GUI) など動作に関する大抵のことは制限できる。個人のサーブレットを乗せられる
プロバイダが無いのはそんなことじゃなくて、処理が全て同一プロセス内のスレッドに
なっていることに起因している (CPU やメモリなどのリソースに関する詳細な制限が
できないなど)。
>>882 forkなど数十年前からある概念だが・・・・IISとか?
的はずれすぎ
うんこ3ガロン飲み干せよ
君のマシンではスレッドが fork で分岐してるのか。ひでぇ実装だな。
>>883 Web系馬鹿すぎ。コンビニでバイトしてるほうがいいと思うよ。
まさかスレッドとforkを同一視するヤシがいるとは思わなかった・・・
>>883 スレッドの話で fork を持ち出すのって、何か根本的に勘違いしてるようだな。
IISってw
それくらい馬鹿でもやっていけるWeb系
>>879 テキストの選択はキャレットを移動することによって
行われているので、CaretEventとして取得できる。