4 :
デフォルトの名無しさん :2010/01/04(月) 11:02:07
ソースのメンテナンスに重点を置く保守派と文字列リテラルに命を賭けるリテラル派の対立が ものごっつ先鋭化しとるのですが なんとかなりませんか。
ちょっと吹いた
もっと国際化して考えれば、 結局主張は一緒なんじゃ?
drawStringで文字を描いたあと、 その文字近辺のピクセルが背景色か描画色か識別させたいのですが どのようにすればできるでしょうか?
BufferedImage に描画して getRGB で整数型ピクセルを調べる。
保守vsリベラルにかけた冗談だと思ったが。なんか元ネタあるのか?
javaでプログラミングをしていると、例外処理ばっかりになる気がするのですが これは正常なのでしょうか?
>>8 ありがとうございます。
その方法で調べることができました。
ただ、Graphics2Dで文字列を回転させるアニメーションをさせているので
毎回イメージ作成してるとひどく重くなってしまいます。
任意の点のピクセル情報を調べる方法はこの方法しか無いのでしょうか?
13 :
デフォルトの名無しさん :2010/01/05(火) 02:43:36
アイアムザバニーズなんですけども ザバでオブジェクトのサイズやメモリのサイズ 配列のサイズなどなどを知るにはどうすればいいの
うさぎ?
おら!ジャバジャバしろよ!
>12 BufferedImageは使いまわして、毎回描画だけすればいいんでねーの
>>12 それと、やってることはダブルバッファリングと同じ。
ダブルバッファリングはさせないでおいて、BufferdImageを画面にdrawImageするなら描画は一回。
>>11 Cでプログラミングしていてもエラー処理ばっかりになる気がすると思いますが
そんなことありませんか?
Java JDBCについて詳しく書いてあるホームページなどご存じないでしょうか?
その単語でゴーグル先生に聞けばいいとおもうぉ
22 :
デフォルトの名無しさん :2010/01/07(木) 02:04:46
Interstageってのを使う意味は何ですか? TomacatやGlssFlishじゃ駄目なの?
>>22 まあ、ご飯を食べながら、ご飯を食べる意味やパンじゃダメなのか考えてみるとか。
>>22 なぜ使うのかを上司に説明しなきゃならないときに、
TomacatやGlssFlish の場合は、
全部自分で調べて説明しなきゃなんないけど、
Interstage の場合は、富士通に電話すれば、
営業さんが説明に来てくれるんだよ。
(君の会社がとんでもなく弱小だったり、離島や山村にあったりしない限りは。)
25 :
デフォルトの名無しさん :2010/01/07(木) 05:56:57
糞スレで見え張ったりするあたりが小物って感じw
再帰レス
27 :
デフォルトの名無しさん :2010/01/07(木) 17:23:10
クラスAで、ボタンが押されたときに、あるプログラムAを実行されるようにしました。 プログラムAが実行された後、クラスBが実行される、つまりクラスBに進むようなことは出来ますか? 言葉がよくわからなくて、無茶苦茶言ってるかもしれませんがよろしくお願いします
いろいろ言いたいことはあるが、とりあえず、 抜粋したコードを書いちゃったほうが話が早いと思う。
class A{ 略 public void actionPerformed(ActionEvent e) { if(e.getSource()==button1){ if(radio1.isSelected()==true){ 略 } } } public void itemStateChanged(ItemEvent e) { } } class B{ 略 } こんな感じのときイベントが起こったら、クラスAのpublic void actionPerformed(ActionEvent e)の中の奴が実行されて終わりますよね? そこで終わらず、クラスBにも進んで欲しい感じです
>>29 class A{
略
public void actionPerformed(ActionEvent e) {
if(e.getSource()==button1){
if(radio1.isSelected()==true){
略
B.hoge(); // クラスBに進む
}}}
略
}
class B{
public static void hoge() {
//ここに進む
}}
こんな感じ?
返答ありがとうございます class B{ public static void hoge() { } public void paint(Graphics g){ 略 }} とした場合 public void paint(Graphics g){ } を動かそうと思ったら、どうすればいいでしょうか?
>>29 その方法はいろいろある。classB がどういうクラスで、
呼び出したい classB のメソッドがどういうメソッドかとか、
その他の状況によって、最適なものを選ぶ。
最も一般的なやり方は、以下のように class B のインスタンスを classA で持つようにして、
actionPerformed() メソッドで呼ぶ方法だと思う。例えば、
---------------
class A {
private B b;
public A( B b ) { this.b = b; }
public void actionPerformed(ActionEvent e) {
略
b.methodB();
略
}
class B{
public void methodB() {
以下略
----------
class B のインスタンスをどう用意するかについては、状況によっていろいろあると思う。
上の例のように class A のインスタンス化時にコンストラクターに渡しても言いし、
actionPerformed() メソッド内でテンポラリなインスタンスを作って
----
new B().methodB();
----
のようにしてもいいし、
目的の処理が、class B をインスタンス化する必要の無いようなものであれば、
呼び出すメソッドを static にしてしまって、静的に呼び出すほうが簡単。
返答ありがとうございます ちょっと色々試してみます
class A { private B b; public A( B b ) { this.b = b; } public void actionPerformed(ActionEvent e) { 略 b.paint(); //← 略 } class B{ public void paint(Graphics g) { 略 } ---------- ←の所で 型 B のメソッド paint(Graphics) は引数 () に適用できません というエラーが出るのですが、これはインスタンスの仕方?が間違っているのでしょうか? よろしくお願いします
宣言は paint(Graphics g) となっているのに、呼び出す方は paint() になっているから 引数が合っていない
>>34 Java では、メソッド名が同じでも、引数が違えば別のメソッドとして扱われます。
詳しくは、「Java オーバーロード」で検索してみてください。
その例では、classB には、 paint という名前を持つメソッドが、
public void paint(Graphics g)
しかないために、それを引数無しの paint() には使えない、
ということを言っているのだと思います。
>>35-36 返答ありがとうございます
なんとなくですが、エラーの原因はわかりました。
paint(Graphics g)をクラスAで実行するために、
←のところに
b.paint(b.Graphics b.g); とかやっても無茶苦茶書いてるだけですよね?
paint(Graphics g) をクラスAで実行する方法はありますか?
>>37 おそらく、 ウィンドウベースの
プログラムを書いてるんだろうと思うんだけど、
例えば、 class B は、
class B extends Frame {
あるいは、
class B extends JFrame {
になってるんじゃない?
であれば、
b.paint( b.getGarphics() );
とやれば、おそらく一応呼べるとは思う。
けれど、必ずしもあなたの期待通りの動作をするかどうかはわからない。
実際どうすべきかは awt や swing のライブラリの仕様の問題なので、
JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に
paint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、
なぜ Graphics が必要なのか、といったこと
(つまり、 awt や swing の描画プロセスやルール)
を理解した上で、どうすべきかを考えたほうがいい。
>>38 すいません、なんか文章がぐちゃぐちゃになってました。
以下訂正です。
×
>JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に
>paint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、
>なぜ Graphics が必要なのか、といったこと
○
>JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に
>なぜ Graphics が必要なのか、
>なぜpaint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、
>といったこと
>>38-39 丁寧にありがとうございます
正直理屈とか全くわからないので、本をもうちょっと読んできます
本当にありがとうございました
もしクラスBがComponentクラスのサブクラスなら paintはrepaintを呼ぶことで間接的に呼び出されるんじゃないかと思うぞ
JavaによるHTTP 1.1のchunkデータの受信に関する記述があるサイトをご存知の方はおりませんでしょうか?
43 :
デフォルトの名無しさん :2010/01/08(金) 13:58:30
それを使っても、InputStream.readするとIOException: Premature EOFなので、 実際の実装例が載っているサイトを探しています。 BufferedInputStreamにラップしてavailable()の戻り値を見ても、常に0が返ってしまっています。
45 :
デフォルトの名無しさん :2010/01/08(金) 15:30:12
snoopでキャプチャしてみろよ
Windowsの開発環境にてクラサバ通信やってるもので……。 フリーのスニファ使うしかないかな、標準じゃ入ってませんよね?
47 :
デフォルトの名無しさん :2010/01/08(金) 17:53:20
48 :
デフォルトの名無しさん :2010/01/09(土) 10:43:48
JPAの@Inheritanceについて知りたいのですが、 @Inheritance付きのエンティティクラスのリストから、 派生エンティティクラスの型を知るにはどうしたらよいでしょうか?
49 :
デフォルトの名無しさん :2010/01/09(土) 14:57:48
そういう機能のあるIDEを使え
キーボードからの入力を受けるときに BufferedReader stdin = new BufferedReader(new InputStreamReader()); という変数名にするとreadLineするときに「標準入力から1行読み込む」みたいでカッコいいので、 いつもこうしてるんですが、やっぱり意味的におかしいから辞めた方がいいでしょうか?
キーボードで"syso"って打つとゾクゾクして気持ち悪くなるんですけど、 なんなんでしょうかコレ? 他の文字打っても別になんにも感じないのに。
>>50 本当に System.in から読むならそんな名前でも許せるけど、そうじゃな
いストリームから読むのだったら許さない。
54 :
デフォルトの名無しさん :2010/01/10(日) 12:15:49
あーもう新年だ。 今年こそ金くれ。
質問なのですが imageからfileへの変換はどのようにすれば良いのでしょうか
言ってる意味が分かりません。 Imageオブジェクトをファイルシステムへ保存するという意味なら、 ImageIOを調べると良いでしょう。
>>55 javax.imageio パッケージを参照。
すみません、imageがよくわからないのですが…
59 :
デフォルトの名無しさん :2010/01/10(日) 23:16:38
それでは答えようがないのですが…
60 :
デフォルトの名無しさん :2010/01/11(月) 00:04:11
ウェブ上で将棋の棋譜を再現できるようにしたくて、
http://homepage2.nifty.com/kakinoki_y/kifujf/example.html ここに使用例があってhtmlもここのソースとおなじでファイルも全部おなじ
ディレクトリにアップしたのですが、うまく使用できないというかでてきません。
原因は、appletタグの中の
CODE = "kifuj.Applet1.class"
がそうだと思います。
しかし、ダウンロードしたフォルダにはこれがなく、他にダウンロードするところも
ありませんでした。この(kifuj.Applet1.class)は自分でコンパイラなどして作成するものですが?
すみませんが教えてください。
>>60 Kifu for Javaのダウンロード用のzipファイルにkifuj.jarとかkifujl.jarとかがあって
そのjarファイルにクラスファイルが入ってるんじゃないの?
jarファイルはちゃんと配備してるか確認汁
それとこの板はプログラミングについての板だから
プログラミングツールならまだしもそうでないソフトの使用法とかは板違い
63 :
デフォルトの名無しさん :2010/01/11(月) 09:16:08
Javaに未来はあるのでしょうか?
無いと思ってる理由を知りたい。
むしろ未来があるのはJavaだけだな
プロセスで1つのデータを保持したい場合は、static変数かインスタンス変数をシングルトン実装にして もたせると思いますが、どういう使い分けをすればよいのでしょうか?
>>68 どの使い分け? static変数とシングルトンの使い分け?
static変数は、ほんとに単にデータを保持したいだけのとき(キャッシュとか)、
シングルトンは、環境によって呼び出される実装を切り替えたいとき(テスト環境ではDBアクセスをモックに差し替えるとか)、かな。
オブジェクトの種類によって呼び出し先を切り替えられるのはインスタンスメソッドの呼び出しだけなので。
static変数は なんで性的変数と言われてるんでしょう?
アドレスが変わらずアクセス権があるものは誰でも触れるから。 ローカル変数やローカルなインスタンスはいくつかのプロセスを流れ、 やがて消えてゆく。
「性的変数」
73 :
デフォルトの名無しさん :2010/01/11(月) 16:31:56
練習問題みたいなのが載ってるサイトってありませんか? Javaの勉強したいんで できれば、コードの間違え探しとかの問題じゃなくて、 クラス図とかがあってそれを実装しろみたいな問題が (ぶっちゃけ自分で機能要件まで決めて勉強する気にはなれない)
>>69 ありがとうございます。
データをただキャッシュするだけでしたらstatic変数でよいのですね。
75 :
デフォルトの名無しさん :2010/01/11(月) 16:49:58
違う。逆 static変数でなくてもいい
どっちでもいい
定数やクラスに属するものは静的変数でしょ。 動作上はどっちも一緒だけど。
78 :
デフォルトの名無しさん :2010/01/11(月) 17:31:15
多態勢とかバグ生む源だろ… とかいまだに思ってる俺にJavaは向いてない?
向いてない
多態性はカプセル化の帰結だからねぇ。カプセル化に異議って聞いたこと無い。 手続き型vs関数型・トランザクションvsドメインの争いなんかとかとは次元が違う。
>>81 は?
同じメソッド名なのに、引数違うだけで戻り値違うとか頭おかしいだろjk
ググりながらもブロック崩しの雛形みたいなものを作りましたが、疑問があります。
ttp://www1.axfc.net/uploader/File/so/37222 Ball、RacketクラスでMainPanelクラスのオブジェクトを作っていないにも関わらず、
MainPanel.HEIGHTのようにMainPanelクラスのフィールドを参照できるのは何故でしょうか。
自分で調べた結果staticだからではないかと結論に至りましたが、自信が持てないため質問させていただきました。
どなたかご教示下さい。
>>82 おまえ使い方理解してないでしょ
ポリモルフィズムの恩恵は特徴を抜き出し、
共通して使える処理のメンテナンスを容易にすることにある。
C言語でいうとこのqsortに使うコンペア関数なんかと同じ。
共通して使えない処理は公開しないように作るからむしろバグは減る。
>>83 その通り
static がついたクラスメンバ変数は、オブジェクトに依存しない
JTextArea上にtxtファイルの内容を表示させるにはどうすればいいですか?
>>78 脳には多態勢という用語があり、それはいわゆるオーバーロードを意味する言葉である。
JTextArea・・・コンストラクタでもappendでもinsertでもお好きな方法で。
89 :
83 :2010/01/11(月) 20:41:09
それ以前にtxtファイルの読み方が分からないという気もするな・・・ BufferedReader in = new BufferedReader(new FileReader("input.txt")); 文字化けするなら BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt"),"UTF-8")); と文字セットを指定。
>>88 >>90 ありがとうございます。Filereaderでテキストファイルを読み出してやろうとしていたのですが、そのあと
ストリームを開いてJTextAreaに書き出すのがよくわからないのです。
重ね重ね申し訳ありません。よろしくお願いします。
コンパイルとビルドって同じ意味ですよね?
93 :
デフォルトの名無しさん :2010/01/11(月) 21:01:27
>>84 メンテがしやすいっていうのはわかってる
これが重要だということもわかってる
(そりゃメンテする人間なんて、
メンテするまでソース見たことないようなやつらばっかだろうから、
そういう特徴があれば間違いなくやりやすいさ)
ただ、メンテのことまで考えて、きちんと多態性を理解してソース組んでるJavaプログラマが
どれだけいるかが疑問なんだよ
曖昧なまま、多態性なんて言葉使ってソース組んでも、わかってないやつがどっかで絶対バグ出すだろ
(要は多態性の恩恵を受ける側じゃなくて、与える側の問題)
>>87 いわゆるオーバーロードが多態性を示す一番の特徴だと思ったから引用しただけだボケ
勘違いしとるのー。 オーバーロードの無いVBAでも多態性使えるんだぜimplement文で。
>>93 フレームワークを書く人とビジネスロジックを書く人のスキルが同じである必要は無いよ。
業務ルールとしてある共通クラスを継承してから、ガイドに沿ってコードを書いてねって指示するだけ。
>>95 まぁその辺の分担がしっかりしてて、各担当が後々のこと考えて設計してりゃ大丈夫だとは思うけどさ
実際、それだけのスキル持ってるやつっている?
異なる処理を共通化されたインタフェースで扱えるのが多態性の特徴 異なるインタフェースを同じ識別子で扱うオーバーロードじゃ逆だハゲ
なんという正論 世の中のJava入門書の著者にも言ってやってくれ
オーバーロードと多態性って関係なくね?
関係なくね?
くね?
なくなくね?
しばらく くねくねでお待ちください。 ヽ)∵)ノ ( ( ) )
嫌です
ヽ)'A`)ノ ( ( ) )
SJC-WC取ったからサーブレットでサーバしてみたいです>< レンタルホームページと同様で、作ったファイル(WAR)を レンタルサーバに転送するだけで動くの?
109 :
デフォルトの名無しさん :2010/01/12(火) 15:19:13
JEditorPane とかいつの時代か分からないような古い HTML ソース吐くんだな。 xhtml 作ってくれれば使えるのに。。
swingのコード(JDK)を読んでいると、firePropertyChange("document", old, doc);みたいに firePropertyChange()がよく出現します addPropertyChangeListener()とfirePropertyChange()は対になっていると思うのですが、 firePropertyChange()しか使われていません firePropertyChange()どこにイベントを通知していのですか?
addPropertyChangeListener() の対になっているのは removePropertyChangeListener()。 firePropertyChange() はプロパティの変更を誰かに通知するためのものだから Swing 内で使っている。 その通知を受けたいプログラム (Swingの利用者) が addPropertyChangeListener() でリスナを登録する。
Javaでジェネリックなツリーが使いたいんだけど 英語圏ぐぐっても独自実装のものしか出てこない どうしてJDKに実装されてないの?
116 :
デフォルトの名無しさん :2010/01/13(水) 00:56:45
ジェネリックなツリーといわれても javax.swing.tree.DefaultTreeModel とか org.w3c.dom.Document は?
118 :
デフォルトの名無しさん :2010/01/13(水) 13:24:39
読み込んだファイルがEUC-JP,Shift_JIS,UTF-8のいずれでもUTF-8にする ってJavaでどうやれば出来ますか? String.getBytes("UTF-8"); を使うと、もとからUTF-8の場合に文字化けしてしまいます
独習Javaって本は何年発行だコラ
>>118 > 読み込んだファイルがEUC-JP,Shift_JIS,UTF-8のいずれでもUTF-8にする
> ってJavaでどうやれば出来ますか?
それは、読み込むファイルのエンコーディングがどれかわからないということ?
JISAutoDetectはUTF-8に対応してない気がするし、自分で判定コードを
書くしかないのでは。
> String.getBytes("UTF-8");
> を使うと、もとからUTF-8の場合に文字化けしてしまいます
それで得られるのはUTF-8のバイト列なんだから、UTF-8対応の環境で見
ないと化けるよ。
ちょっと混乱しているのですが、 スーパークラスなどで定義したクラスをサブクラスでインスタンス化するまでは 分かったのですが、そのサブクラスを配列して要素数で参照できる様にするには どうすればいいのでしょうか。
[ ]つけて定義すればOK
>>121 SuperClass[] array = new SubClass[100];
SuperClass obj = array[3];
という意味?
>>123 1行目と2行目の間にオブジェクトを作らないとだめ
array[3]=new SubClass();
が必要。
125 :
121 :2010/01/13(水) 16:49:26
ご回答ありがとうございます。 しかし、私は勘違いしていたみたいで、サブクラスはextendsなどでスーパークラスをオーバーロードして 具現化しそれをfor文などで配列に入力するのだと思っていました。 そこで、申し訳ないのですが以下のスーパークラスの場合はサブクラスの定義と インスタンス化はどうすればいいのでしょうか? class hani{ String kantaiName; int Xaxis; int Yaxis; int Xwide; int Ywide; String Media; }
126 :
デフォルトの名無しさん :2010/01/13(水) 16:55:09
>>125 サブクラス定義は
class SubClass extends SuperClass{}
インスタンス化は
>>123-124 参照
>>125 クラス名は大文字で始めて、変数名は小文字から始めた方がいいよ
あと、class Hani のコンストラクタが何にもする必要がなくても
protected Hani(){} 位は入れておいた方がいい。
で、サブクラスで
class SubClass extends Hani {
public SubClass(){super();}
}
とする。
128 :
121 :2010/01/13(水) 17:15:18
僕のイメージが間違っている様な気がするので確認させていただきます。 class SubClass extends SuperClass{}でサブクラスをインスタンス化して その後、サブクラスを配列に以下のように入力すればいいのでしょうか? SuperClass[] array = new SubClass[100]; for(int i=0; i<100; i++){ array[i]=new SubClass(); SuperClass obj = array[i]; } ご面倒をお掛けして申し訳ありません。
>>128 クラス定義では絶対にインスタンス化はできない。
あと、for 文中の SuperClass obj = は無意味なので、
これでいいか悪いかは判定不能。
130 :
121 :2010/01/13(水) 17:27:00
>>129 すみません、以下のような感じでサブクラスのインスタンス化をしようとしています。
class kanji extends Hani{
String kantaiName = "円";
int Xaxis = 60;
int Yaxis = 40;
int Xwide = 120;
int Ywide = 50;
String Media = "radio";
}
>>130 Hani instance = new kanji();
instance.kantaiName = "円";
instance.Xaxis = 60;
/* 中略 */
instance.Media = "radio";
ってことをやりたいのか?
132 :
121 :2010/01/13(水) 17:37:37
大変申し訳ありません。インスタンス化とサブクラス化を サブクラス化したものを具現化することをインスタンス化と思い込んでいました。 正しくはクラスを定義した時にインスタンス化してそれを配列に出来ないかという質問をすべきでした。 皆様、本当にすみさせんでした。
>>132 ひょっとしてこう?
class A {
public A(){}
private static A[] a = generate(100);
private static A[] generate(int n){
A[] result = new A[n];
for(int i=0; i<n; i++){
result[i]=new A();
}
return result;
}
}
134 :
113 :2010/01/13(水) 21:09:58
135 :
デフォルトの名無しさん :2010/01/13(水) 21:43:35
public static void main(String[] args) public static void main(String args[]) 2通りの書き方を見かけますが、どちらを使うべきでしょうか? 単純に好みの問題ですか?
>>137 ありがとうございます。前者を使うことにします。こっちの方がわかりやすいですね。
>>135 インナークラスって
class A {
class B{
}
}
とかいうのじゃないの?
>>138 後者で統一しないと怒られる古臭い会社もある
CがJavaより偉いと思ってる人達
141 :
デフォルトの名無しさん :2010/01/14(木) 00:00:28
>>140 えらい云々より変化について行けない人達って言ったほうが近いかも
>>141 java入門書にはString args[]って書いてあったのでそのまま憶えた。違いの理由教えて!
143 :
121 :2010/01/14(木) 00:36:14
皆様ありがとうございました。
144 :
デフォルトの名無しさん :2010/01/14(木) 00:41:58
>>142 ただ単に慣れから脱しきれない人が書いた本てだけの話
解答者がアホ過ぎ…
>>145 具体的に指摘できない無能な方は黙っていていただけないでしょうか?
貴方がいるだけで迷惑です。
>>145 もう一度言いますが、無能な方は黙っていていただけないでしょうか?
貴方がいるだけで迷惑です。
>>145 何度でもいいますが、無能な方は黙っていていただけないでしょうか?
貴方がいるだけで迷惑です。
>>142 ツールでソース解析するときに String[] args のほうが、微妙に簡単な気がする。
ほんとに微妙な差ではある。
String[] args は型、 String args[] はシンタックスシュガー(キリッ
javax.swing.text.AbstractDocument#putProperty(Object key, Object value) javadocを読んでみましたが、putPropety()がどのような働きをするのかわかりません ひとまず、改行関係でputPropety()を使っているな〜程度のことはわかります ヒントをください
>>152 簡単なプログラムを組んでテストしてみるとか
String[] args → 「文字列型の、配列の、args」 String args[] → 「文字列型の、args、は配列要素でしたプギャー」
自前実装したPaintインスタンスをGraphics2D#setPaint()で与えると極端に重くなるようです。
何か解決策はあるのでしょうか?自分で書いたことがある人などいらっしゃいましたらよろしくお願いします。
よくわかりませんが、アンチエイリアスOFFと組み合わせると遅くなるようです。(ONだと速かった)
コードは下記になります。sdk 6
ttp://codepad.org/exP0Y1C3
※グロ注意です
>>155 同じもので初期から許されてはいたんですけどね
結局グループで作ることを前提にしてるかどうかの違いですよね
160 :
デフォルトの名無しさん :2010/01/15(金) 03:00:50
楽しいか?
162 :
デフォルトの名無しさん :2010/01/15(金) 09:07:53
これでfalseって出るんだけどどういう可能性が考えられる? ソースファイルはutf-8 Pattern pattern = Pattern.compile("H");//UNICODE_CASE指定してもfalse Matcher matcher = pattern.matcher("Hello World."); System.out.println(matcher.matches());
163 :
162 :2010/01/15(金) 09:18:34
自己解決
>>156 そういうものです
元々Java2Dは遅かったのですが、特定の状態 (特定のStroke、特定のPaint、特定のComposite等) の場合は
本来のJava2Dパイプライン (Stroke#createStrokedShape, Paint#createContext, PaintContext#getRaster, Composite#createContext, CompositeContext#composite等)
をすっとばして直接描画を行う最適化がなされ、ハードウェアアクセラレーションも効いて速くなります
自作のクラスに対してはそのような裏技を使えないので、従来通りの処理が必要になり、遅いままです
別のBufferedImageに描いてからそれをTexturePaintするとか、円形のクリッピング領域を設定してdrawImageするとか、
自作のクラスを使わずに済む方向を模索した方がよいです
165 :
デフォルトの名無しさん :2010/01/15(金) 10:55:10
解決経緯を書けやゴルァ!
167 :
162 :2010/01/15(金) 12:00:35
".*H.*" にしたら見つかりました いくつかの解説サイトでは"H"だけで見つけれるみたいに書かれてますが 解決手段が見つかったのでこれ以上考えても仕方ありません。
168 :
デフォルトの名無しさん :2010/01/15(金) 12:08:09
interfaceでメンバ変数作ると、static finalだからinterfaceですぐ代入しないといけませんよね? つまり、実装クラスでinterfaceで定義されたメンバ変数に代入する事は出来ませんよね? あと、interfaceでstaticなメソッドを宣言(staticなアクセサを作りたい)する事は出来ませんよね? 要するに、interfaceにstaticなフィールドを作りたいんだけど、 値は実装クラスによって異なる。(一度定義すれば変わらない) interfaceにstaticなアクセサか実装クラスから代入出来るstaticなフィールドを宣言したい。 これが可能なのかどうか、代わりにどんな手段があるのか教えて下さい。
170 :
168 :2010/01/15(金) 12:12:07
追加で状況説明。 絶対に変わることの無い定数が各実装クラス全てにあって、 定数だからstaticなアクセサ(あるいはフィールド直)で参照したいんですが、 同時に各実装クラスにあるんだからinterfaceにまとめたいんです。 staticにしなければ可能ですが、その定数を取得するためだけに実体化はめんどくさい。
171 :
sage :2010/01/15(金) 12:13:22
>>156 例えば、createBufferStrategy(3)とか、
createBufferStrategy()の引数を変更してみては?
それにカスタムPaintをテストしたいだけなら、
Paintのテスト自体には不要なBufferStrategy等の
余計な処理をしないで、paint系メソッドをオーバーライドした
JComponentを使用してみては?
paint系メソッドをオーバーライドしたJComponentで
同等のコードを試したら、さくさく動きましたよ。
>>168 もうちょっと詳しく。
interface A {}
class B implements A { static final int X = 10; }
class C implements A { static final int X = 20; }
のようにAの各実装クラスごとに値の異なる定数があって、この2つのXをなんとかしてAにまとめて
class D {
public static void main(String[] args) {
System.out.println(A.X);
}
}
のようにstaticにアクセスしたいってこと?
173 :
168 :2010/01/15(金) 12:31:10
>>172 YES!
今試してるんですが、interfaceで定義したstatic変数は、
実装クラスの同名static変数と同一で、
片方の値を変えればもう片方も変わります。
staticだから当然ですが。
実装クラス毎に異なる値で、でも全ての実装クラスが同じ名前でアクセス出来るstatic変数を持ちたい。
interfaceにまとめないのなら話は簡単ですが、
まとめれないとなると、interface型で実体化して参照したコードでそのstatic変数は使えない事になります。
ちなみに出来ればアクセサを介したい。
質問です。 今、ミニゲーム集のタイトル画面のようなものを作成しているのですがゲームの選択のところで悩んでいます。 「タイトル画面内のゲーム名の書かれたボタンを押す」→「そのゲームを起動する」のような処理を行いたいのですが、どういった方法があるでしょうか? 理想としてはボタンのアクションにjarファイルの起動を関連付けられれば一番良いのですが・・・。 もし、これらの方法を知っている方がいらしたら教えていただけないでしょうか? よろしくお願いします。
175 :
168 :2010/01/15(金) 12:36:48
>>172 あ、1箇所訂正があります。
参照するコードは、
A.Xだけではなく、B.X 、 C.X もありえます。
なんでstaticでアクセスしたいんだ?
>>168 staticってことは、何も実体化してなくてもアクセスできるわけだけど
その場合、何が得られることを期待しているのでしょうか
つまり、何もnewせずにmainでいきなり
public static void main(String[] args) {
System.out.println(A.X);
}
ってやると、何が出力されることを期待しているのでしょうか
10? 20? それとももっと何か別のもの?
あるいは、何もnewしないうちは0で、BかCをnewした時点で値が確定してほしいとか?
static finalなフィールドって実装クラスで上書きできねんだっけ?
オブジェクト型ならfinalって参照先の固定でしょ? 初期値がnullなら一回だけnewやらを許可しないんだっけ? 今試せないから知らないけど。 プリミティブ型なら無理そうだけど。
180 :
168 :2010/01/15(金) 13:10:03
>>177 class B,Cでstatic finalな変数Xをそれぞれ定義します。
class B,Cをインスタンス化して参照するクラスがあります。
class Aを期待して参照するメソッド(以下RefAメソッド)もあります。
RefAに対しては、RefAの該当メソッドを利用するクラスが、
BとCどちらのオブジェクトを渡すか選べる事になります。
もしmain()からいきなり呼ぶとすれば、
B.XかC.Xになります。(mainは他からメソッドとして呼び出されないため)
このときB.XとC.Xは同時に利用する可能性がありますが、
異なる値を設定出来ない問題が発生します。
同じ名前で実装クラス毎に異なる値を持ちたいと言う事です。
そうすれば、BでもCでもどちらでも渡せるメソッドを書く事が出来ます。
そういう値をstaticにする事は可能なのかな、ということです。
現状のアイデアとしては、
Aにはstaticなフィールドを作らずに非staticなアクセサだけを定義しておいて、
B,Cにstaticなフィールドを定義し、同時に非staticなアクセサも実装する事です。
こうすればA型を期待したコードもかけるし、
B,Cに対してstaticな参照も出来ます。
と言うかこれが答えで良いかもしれません。
public interface I { public static final int a = 100; } public class C1 implements I { public static final int a = 200; } public class C2 implements I { public static void main(String[] args) { System.out.println(C1.a); System.out.println(C2.a); } } 実行結果 200 100 これでええんかな?
interfaceのstaticフィールドとかenumが無かった頃の遺産でしょ
>>181 同じ a でも C1 経由でアクセスするとオーバーライドされた値を参照する。
184 :
168 :2010/01/15(金) 14:03:42
>>181 それは実行結果が両方200になるはずです
186 :
168 :2010/01/15(金) 14:11:11
すみません勘違いしてました、異なる値持てますね。 interfaceにだけstaticな変数が宣言されてると 実装クラスもinterfaceのを指すけど、 実装クラスで改めて宣言されると個別の値をもてるようです。
187 :
デフォルトの名無しさん :2010/01/15(金) 14:41:36
static final な 配列ってどうすれば内部データ変更されずにすみますか? ArrayListとかHashMapと同じで中身は変えられてしまうんですよね。
ArrayList<StaticFieldClass> でいいんじゃないの? class StaticFieldClass{ static final int a = 1; } とかやっとけば
とかやっとけば
>>187 配列の中身を直接見せないようにし、必ずgetXxxメソッド経由でアクセスさせる
示して無いね
finalとかの言語的な規制が働かないって話なのに 参照する側に性善説期待して終了か
188をどうやって使うのかがわからん…
195 :
デフォルトの名無しさん :2010/01/15(金) 16:07:47
swingのJTableでテーブルつくたんだけど、 そのテーブルの上にテキストフィールドって作れますか?
196 :
デフォルトの名無しさん :2010/01/15(金) 16:07:50
class StaticFieldClass{ final int a = 1; } こうだなやるなら
回答者が無能すぎ…
無能なりにがんばって回答してみるスレでもあると思う
配列なら int[] getIntArray(){ return (int[])array.clone(); } List なら List<Data> getDataList(){ return Collections.unmodifiableList(list); } バイト配列なら read only な ByteBuffer のみを見せるのでも良い。
>>195 テーブルのセルに好きな部品を載せれるからそこにJTextFieldでも使えば良い
TableCellEditorとTableCellRendererについて要調査
他のクラスからrepaintを呼び出すにはどうすればいいのでしょうか?
へ?repaintはpublicメソッドでしょ?普通に呼べばいいと思うんだが。。。
普通に、、、呼べば、、、いいと、、、思うんだが。。。
>>164 ありがとうございます。PaintでなくColorを継承したときにcreateContext呼ばれずにコンストラクタで指定した色が
描画に使われてたので、もしやと思ってましたが、やはりそうでしたか。実装で回避してみたいと思います。
>>171 トリプルバッファにすると速いですね!なんででしょう?でもメモリ(ビデオメモリ?)を食いそうですね。
今作ってるのはベクタ画像編集ソフトみたいなやつなんで、速度も正確さも重要なんです。
>>205 JDialogでダイアログを出して、別ソースで用意したパネルをのせています。
ダイアログ(パネル)上のボタン等で元のフレームのrepaintを行いたいのですが
「staticでないメソッドrepaint()をstaticコンテキストから参照することはできません」と出てしまいます。
repaintを呼び出したいクラスのインスタンスが必要。
アホばっか
2ちゃんねるのdatをパースしたいのですが、高速にパースできる方法はありませんか?
速いマシン使う。
ワープする
214 :
デフォルトの名無しさん :2010/01/16(土) 15:11:58
Listクラスを使って表を作りたいのですが教えて頂けませんか?
215 :
デフォルトの名無しさん :2010/01/16(土) 15:26:55
ただ妙なこだわりで動作保障犠牲にするのはどうかとは思う
だな
218 :
デフォルトの名無しさん :2010/01/16(土) 15:29:24
当然速いマシン
219 :
デフォルトの名無しさん :2010/01/16(土) 15:36:08
ミシンはダメだからなw
220 :
デフォルトの名無しさん :2010/01/16(土) 15:36:17
222 :
211 :2010/01/16(土) 15:41:57
>>220 velocityは逆に遅くなる気がしますが
しかも、テンプレートエンジンはかなり面倒くさくないですか?
>>221 氏ねカス
教えない
寒いお(´・ω・`)
225 :
デフォルトの名無しさん :2010/01/16(土) 16:11:01
Apache Commons IO
226 :
デフォルトの名無しさん :2010/01/16(土) 16:20:28
>>211 java.util.regexじゃだめなの?
CharSequenceでなくReaderにマッチできる正規表現ライブラリとか
どこかになかったっけなぁ…
java.util.Scannerは?
Effective Java まったくわからなくてわろた
わろたわろた
まだやるべき事があるってことがわかるのはいいこと
中には全く分からない質問者も居ますからねえ
へえ
234 :
デフォルトの名無しさん :2010/01/16(土) 22:26:56
ぬおぉぉぉぉぉぉぉぉ!
datのパースくらい自分でやれよと。 <>が来たらStringBuilderをStringにして、配列に突っ込むだけじゃん。 問題にしてるのはHTML文字参照のパースの方じゃないのか? あれはトランプのスートのマークとか混じるから無理なんじゃね?
( ̄ー ̄ )
それくらい自分で描けよ。
>>238 普通にGraphicsを作って、drawLine。
もしくは方眼紙イメージ作っておいて、drawImage。
>>240 汎用性あるからクラス化しても良いかもね
242 :
240 :2010/01/17(日) 00:18:01
すみません言葉が足りませんでした。 正確には、画像のように移動した軌跡の部分に色を付けたりしたいのですが、 マスの座標を指定して色を変えたりするにはどうすれば良いでしょうか?
243 :
238 :2010/01/17(日) 00:18:42
g.setColor(Color.RED); g.fillRect(x * width, y * height, width, height);
245 :
238 :2010/01/17(日) 00:38:42
ここアホしかいねぇ…さすがJava
α値つき画像をクリップボードからJavaアプリケーションに貼り付けたいんですが、 Javaアプリケーション同士のやり取りでは普通にDataFlavor.imageFlavorを指定してα値も保持できますが Java⇔その他のアプリケーションだとαが無視されます。やりようはないんでしょうか?
>>247 C#(.NET)で同じ問題に出くわして調べたけど、
Windowsクリップボードの仕様らしく(Linuxとかは未調査)、
解決策が見つからなかった。
Photoshop とかα値付きでペーストできるからやりようはあるだろ。
251 :
デフォルトの名無しさん :2010/01/17(日) 06:10:54
>>250 それって、Photoshopのデータをどのアプリにペーストするの?
間違えたw。
>>251 いや、おれは使ったことが無い。
254 :
デフォルトの名無しさん :2010/01/17(日) 14:38:32
そういえば photoshopの画像形式ってjavaで読めるのかな shadeやautocadとjava3dの互換もしたいんだけど 誰かやったことある?
photoshop厨ウザイです(>_<)
オープンフォーマットじゃないのに読み書き出来ると思うほうが(ry
257 :
デフォルトの名無しさん :2010/01/17(日) 15:05:24
>>256 photoshopは無理か
ただフォーマットだけの問題ですよね
他は何とかなりそうなんだけどねえ
>>249 あらま、そうでごわすか。
しょうがないですね。ありがとうございました。
いえ、もう10年になります。
可哀想な人・・・
クリップボード介してPSDファイルが交換されると認識してる輩が混ざっていないか?
itextでタイトル以外に行見出しを出力する方法を教えてください。 それと、テーブル出力で改ページの際に、少し行が残るのですが、綺麗に改ページ出来ないでしょうか?
i ?
jdk1.5 って、サポート停止なの? これから出す製品をjdk1.5 でコンパイルしても問題ない?
itext知らないとか
知らない なにi
テキストエディタか 必要あるのかなこんなの
さあ
271 :
デフォルトの名無しさん :2010/01/17(日) 20:25:09
>>266 J2SE 5.0 reached its End of Service Life (EOSL) on November 3, 2009
知らんかった…
もうバージョンアップせんでええのに…
>266 1.5のjavacはもう直さん!という話だよな。1.6のjavacで1.5用にコンパイル(-target)するんじゃだめなの? 1.5版rt.jarは大事に保管しといた方がいいかも。 なんだかんだ言ってJavaは後方互換性に関してかなり頑張ってきたプラットフォームだよな。 たぶん15年後も1.2で作ったpureJavaアプリが再コンパイル無しで動いてるような気がする。
274 :
デフォルトの名無しさん :2010/01/17(日) 21:09:14
>>271 バージョンアップというかバグフィックスはもうせえへんで、ていうことやな
iTextのTable改頁時のはAPIドキュメントに載ってる。 見出しくらいは自分で管理できるだろ。
276 :
デフォルトの名無しさん :2010/01/17(日) 21:39:55
>269
http://itextpdf.com/index.php >275 テーブルの見出し行の表示の仕方は知っています。
知りたいのは
−−−−−−−−−−−−
タイトル
見出し行(入力条件等) <−−− こがを改ページされても表示するようにしたい。
テーブルの出力
・
・
・
・
−−−−−−−−−−
見出し行をタイトルと同じように設定したいのですが・・・
277 :
デフォルトの名無しさん :2010/01/17(日) 21:41:30
276 こがを→× ここが→○
278 :
デフォルトの名無しさん :2010/01/17(日) 21:49:23
ミセススミスの会社にドクターハウスの女医さんが居ました
279 :
デフォルトの名無しさん :2010/01/17(日) 21:54:07
JavaのアプリケーションでJFrameや主にJPanelを使っての表示を行っています。 自分で使ったあるメソッドを利用すると、ウィンドウの×ボタンの使用ができなくなり、 eclipseのコンソールの■(停止)もきかなくなるのですが、 この時点でどのようなエラーが予想されますか? というかどういう部分でエラーが起こることが多いのでしょうか。 ちなみにそのメソッドをコメントアウトすると普通に×ボタンや停止も利用できます。
staticブロックって、そのクラスが最初にロードされたとき だけ実行されるんですか? 2回目以降も実行されるんですか?
ロードされた時に一度だけ実行される。 逆に、クラスローダが破棄されており、 再度クラスがロードされる場合にはその都度実行される。
クラスローダが破棄っていうのはJavaVM停止と 考えてよいですか?
おまえはなにをいっているんだ
システムクラスローダーなら JavaVM 停止で破棄。 コンテナやフレームワークやアプリケーションが自分でクラスローダーを使っている場合はその限りではない。
ありがとうございます、 Webアプリケーションのクラスローダを使用しています。 tomcatのWebアプリを停止、再ロード、再配備すると 破棄されますよな?
いずれのタイミングも破棄されます。
ありがとうございます。 Webアプリの停止、再ロード、再配備以外で 破棄されることはあるのでしょうか?
コンテナがロード済みクラスを破棄するのは、あくまでWebアプリケーションが停止、 またはそれに準じる指示が管理者によって行われた場合のみです。 Webアプリが利用するフレームワークの一部には、フレームワーク自身のクラスローダを一枚追加して、 開発者が任意のタイミングでクラス再ロードを行えるような仕組み (コンテナ再起動不要な即時修正内容の反映)を提供している場合もあります。
クラスローダを自作している場合以外は、 停止により破棄されるということですね。 ありがとうございます。 一度ロードされたクラスのstaticブロックは、 クラスローダが破棄された場合と、 そのクラスがGCによりアンロードされた場合に、 2度目の呼び出しで実行されますよね?
クラスローダーって何?
BigBang-Fuzionってどうなの?MSIってだけでなんか嫌なんだけど
ごめんなさい誤爆しましたごめんなさい
クラスがGCによりアンロードされるためには、 そのクラスをロードしたクラスローダがGCの対象(破棄済み)になっていなければなりません。 通常の使われ方(クラスローダのカスタマイズを行わない場合)であれば、 一度ロードされたクラスがアンロードされる可能性を考慮する必要はありません。 そのため、プログラムが再起動されない限り、 static initializerが複数回実行されることもありません。
わかりました、丁寧な解説本当にありがとうございました。
296 :
デフォルトの名無しさん :2010/01/18(月) 10:55:36
すいません JTableでテーブルをつくったんですが 検索機能ってつけれますか?
自分でやるしかないっす
298 :
デフォルトの名無しさん :2010/01/18(月) 11:02:55
検索語句を入力させるテキストフィールドが配置できないんですがどうやったらいいですか?
それも自分でやるしかないっす
FileChannelについての質問です。 mapメソッドを用いてメモリ上にマッピングを行ったファイルを削除する方法を教えてください。 FileInputStream fis = new FileInputStream(source); FileChannel channel = fis.getChannel(); MappedByteBuffer buf = channel.map(MapMode.READ_ONLY, 0, 0x10); fis.close(); System.out.println(source.delete()); このように、closeするだけでは削除に失敗するのです。 メモリの解放が行えたらいいと思うのですが・・・ お願いします。
>>301 ありがとうございます!
納得ですね。自分でもBug Databaseを調べてみようと思います。
303 :
デフォルトの名無しさん :2010/01/18(月) 13:44:55
n行n列の表を作成したいのですが、どなたか教えて頂けないでしょうか?
書き込む余裕がある時に教えますね。
new String[n][n];
new String[n][n]; //n行n列の表を作成します
309 :
デフォルトの名無しさん :2010/01/18(月) 15:24:35
Matcher型の変数matcherがあって、 matcher.matches();//true matcher.groupCount();//2 とでるのに、 matcher;group();//No match found matcher;group(1);//No match found matcher;group(2);//No match found となるという現象に遭遇しているのですが、どういう原因が考えられますか?
310 :
309 :2010/01/18(月) 15:34:27
ごめんなさい自己解決しました。 デバッグ時のミスでコードを一部取り除いてしまっていて 単にmatcher.matches()が実行されてませんでした。 デバッグ時に確認するためにmatches()を書いていたからgroupCount()も正しく出ていたという。
元々馬鹿が使う言語ってイメージでしたが最近では人気も地に落ちてしまったJava… Javaエンジニアって名乗るのがとても恥ずかしいです。 先輩方は恥ずかしくないですか?
マゾなので問題ありません
名乗る以前にJavaしか使えない人なんていないだろ
<言語>エンジニア と名乗るのがとても恥ずかしいです
>>314 確かに。というかそんな名乗り方考えたことも無かったわ。
netbeansでデバッグしている時に、あるクラスがどこから呼び出されているかを調べたいのですが どこで表示できるのでしょうか?
>>316 最初おもしろかったけど、長すぎて飛ばした。
JUNET? 何年前の文章だ?
>>317 すれ違いのような気もするが
Alt+Shift+9
>>319 恥ずかしいから御礼を言わないでく・れ・・・
JavaのチュートリアルではNetbeansが使われてるけど、 SunはEclipseよりNetbeansを押してるの? Eclipseを使った解説本が多いけど、これからはNetbeansのほうがいいのかな? どっちを覚えたらいいのか困っちゃう。。
ネットビーンはサン純正だから
両方覚えれば?
GUIビルダは圧倒的にNetBeansが優秀 コード書きまくりたい場合はEclipseがいい 用途にあわせてどちらも使えるほうが良い
贅沢な奴だなw
>>324-325 両方かぁ・・・。
IDEの他に文法とかいろいろ覚えることがありすぎて
両方覚えるとすれば先が長いなぁー・・・。
ゲームエンジンつくるときFWのコード書くときはeclipse、それに被せるGUIツール書くときはnetbeansだな。 両方使えるのはいい。
GUIビルダに頼ってたら自分で書けなくならない?
自分でかけなくてもいいと思う。 そこまだJavaに入れ込む必要もないかと
まあ目指すところによるだろうか。 GUIビルダに任せられることをあえて自分でやることに価値を見出せるかどうか。
そんな価値はない
仕事でJava使う人は自分でかけないと困るんじゃ?
例えば仕事で使うツール(のGUI)を新人に作らせたとして、 「自分で書けなくなるから」とかいう理由でコードベタ書きしてたら殴るかもしんない。
GUIの使い方がわからない。
面倒なGUIのデザインを補助してくれるんであって、 GUIの基本もわからん人がいきなりGUIプログラムを作れるもんではない。 面倒な部分を楽したからといって、それがなくなれば面倒臭いってだけで、 能力的にできなくなるってほどのもんでもない。
男は黙って GridBagLayout
338 :
デフォルトの名無しさん :2010/01/19(火) 00:56:34
どこらへんがCの流儀なんだ?
htmlをごりごり手書きした事があるもんで javaのGUI手書きもあんまり違和感を感じなかったwww
というか手書きできない奴がツールのバグ等でレイアウト関係でトラブったらどうすんの? 1から作りなおすの?
手書きもビルダも両方使えるでFAだろ。 ビルだがないと書けんやつらはVBだけで十分。
344 :
デフォルトの名無しさん :2010/01/19(火) 15:04:14
Javaで任意のクラスを扱える(ジェネリックな)ツリーってなにかありますか? JTreeだとStringの要素しかもてませんよね? ArrayListとかだとジェネリックなものがあるのでツリーもあるのかと思ったのですが 見つかりません。
345 :
344 :2010/01/19(火) 15:29:52
自己解決しました。 ジェネリックなものはないけどノードにインターフェースが用意されてるんですね
元々馬鹿が使う言語ってイメージでしたが最近では人気も地に落ちてしまったJava… 自分の使っているメイン言語がJavaだなんて恥ずかしくて言えないです。 先輩方は恥ずかしくないですか?
これって今流行りのボットネットのトリガーか何か? 人間が意思を持って書き込む内容とは思えないし。
349 :
デフォルトの名無しさん :2010/01/19(火) 16:10:43
昔から住み着いてるニートのコピペだろw スルーwスルーw
ニートのマは時間だけはあるから言語仕様とかもじっくり把握できる が、業務知識が無いから社会的にはゴミ
>>347 何がどうなるわけでも無くこの荒らしに無関係に時代は進歩していきます
初歩的な質問ですまないが、paintメソッドの外でGraphicsクラスの機能使って描画ってできないのかな? とあるホームページには Graphics g; g=getGraphics(); でオブジェクトを作れば描画できると書いてあるけど、実際にやってみたら識別子がないと言われてコンパイルエラーになる。 paintメソッドを使うと意図しないタイミングで動作しまくって計算が繰り返したり、 paintメソッドの中に延々記述が続いて見難くなるから、できれば避けたいんだが・・・ あまりに計算を繰り返されるんでboolean型変数で封鎖したら、どこにもtrueにする文がないのに勝手にtrueになって処理が続く有様だし。
荒らすなよ低脳ゴミ
>>352 ダブルバッファリングオフにして、自分でオフスクリーンイメージ準備して、paintメソッドではそれを書くだけにすれば?
いろいろ勉強したほうがいいんだろうな。 最近は言語初級者がGUIから始めるのがはやりなの?
Javaから始める時点で終わってるから。
時代はphpだよな!
>>352 できるけど、そんな理由なら止めた方がいいよ
基本的な話として、処理と描画は分けるべき
通常、paint()は必要になった時に何度でも呼ばれるものだし(別のウィンドウで隠れていた領域が手前にきた場合など)
>paintメソッドの中に延々記述が続いて見難くなる
別のメソッドに分割することすら思いつかないようなプログラミング自体の初心者なら、
GUIの前にコンソールアプリケーションで勉強した方がいい気はする
自分の作成した辞書(単語セットのようなもの)を優先した予測変換ができるようにしたいのですが どうやれば実現できるのか色々検索してもわかりません。はじめの一歩すら出ない状態です。 使えるクラス、メソッドなどあれば教えていただきたいです。よろしくお願いします。
重み付けのアルゴリズムのことだろう。
重み付けのアルゴリズムってケースに応じて自分で考えるもんじゃないの?
アルゴリズムの問題なら、使えるクラス、メソッドなどあれば教えて、っていう質問は変だろう 文字列操作と数値計算だけじゃないか
質問が変かどうかなんて質問してる方に判断付くわけないだろ。 付かないから質問してんだから。
ならjava関係なく勉強不足なだけだ。
そうだそうだ。
次の質問どうぞ。
ファイルにバイナリのダンプが 30 31 32 0D 0A のようにあり、これを読み取って、byte配列として byte b = new byte[]{(byte)0x30, (byte)0x31, (byte)0x32, (byte)0x0D, (byte)0x0A}; のように持たせることはできるでしょうか?
FileInputStream
単純にそれで読んだら、バイナリ値は 33 30 20 33 31 20... とかってなるだろ。
372 :
369 :2010/01/20(水) 21:05:22
すみません、書き漏れてました。 バイナリの16進の値がテキストファイルに吐かれており、 それをbyte値として復元したかったのです。 なお、自己解決しました、失礼しました。
まあそんなテキスト作るほうがどうかしてるけどね。
さすがJavaスレ 日本中の頭の悪い連中を集めたかのようなスレだ
376 :
デフォルトの名無しさん :2010/01/20(水) 23:54:54
読んだよ
>>374 働いているけど、そんな仕様のデータを受け渡すシステムは
いまだかつて見たことがない。
バイナリデータをASCIIに開く必要性はどこにあるわけ?
モトローラSレコード とかインテルHex とか、 今の若いもんは知らんのだろうな・・・。
今の若いもんもなにも、ROM焼きは今だって必要でしょ。
自分が見たことないからって、おまえの見てる世界なんて業界の極小範囲だけだろ。 なんでこの業界ってこういう知見の狭いアフォが多いんだろ。
まあ378の言いたいことも分かるけどね。 俺もバイナリをテキストで表現するのは(容量的にも処理工数的にも)効率悪いと思うし。
>バイナリデータをASCIIに開く必要性 デバッグ用途でも監視系でも何だろうと、 HEX文字列でバイナリを参照するなんてよくあることだと思うんだが。 電文通信系だと、過去の通信内容なんてダンプログでしか残ってないなんてことはざらにあるし。
javaはシリアルのライブラリもあるしその貧弱OSでvmが動くならプログラミングしやすいのは確かだ。
385 :
360 :2010/01/21(木) 08:56:20
誰もわからないみたいですので諦めます。 初心者質問スレだけあって、自分と同レベルのしかいないみたいですしW
もう来ないでください
387 :
360 :2010/01/21(木) 09:28:54
どこかのスレの名前が残っていました、名前欄は気にしないで下さい。
なにこれ自作自演しようとして失敗?
391 :
デフォルトの名無しさん :2010/01/21(木) 10:04:19
さすがJavaスレ 日本中の頭の悪い連中を集めたかのようなスレだ
392 :
デフォルトの名無しさん :2010/01/21(木) 10:58:36
サーバサイドのBeanてMVC的にBean自体にDB通信機能持たせるのが定石? たとえばUserクラスがあるとして class User{ String id; String pass; .... .... void loadUser(String id){ DBと通信してidから値を取得してフィールドにセット } ..setter/getter } みたいな感じでBean自体が取得するの? それともUserManagerみたいの作ってそれがフィールドに値をセットしてあげる感じ?
一瞬xmlスレでEXIの話してんのかと思ったらjavaスレだった。
Javaスレとか匂いで分かるだろ
396 :
デフォルトの名無しさん :2010/01/21(木) 17:06:01
激しくガイシュツのような気がしますが・・・ ざっとググったりした範囲ではわからなかったので質問します。 List <String> list ・・・ for ( String s : list ) { ・・・ } のような記述で、ループの中で index の値を知るにはどうすればいいのでしょうか?
無理らしいっす 未来のjavaでは取れるようになったらいいなーって議論もあるようです
398 :
396 :2010/01/21(木) 17:14:49
>>397 ありがとうございます。
現状、index が必要な場合はJava1.4以前と同様、
for ( int index = 0; index < list.size(); ++index ) {
String s = list.get(index);
・・・
}
と書くしかないということですね。
そういうこった
さすがJavaスレ悪臭やべぇ
やっぱC#の方がええわw
キーボードで入力中に確定前の文章を取得する事ってできます?
しらない
可能
>>402 AWTかSwingだったらjava.awt.im
MS932 と Windows-31J って全く同じ? CharsetEncoder#canEncode() の結果が違うんだけど。
次の方どうぞー
( ^ω^)おっおっおっ
Charset ms932 = Charset.forName("MS932"); Charset windows31j = Charset.forName("Windows-31J"); System.out.println(ms932); System.out.println(windows31j); System.out.println(ms932.equals(windows31j)); CharsetEncoder ms932e = ms932.newEncoder(); CharsetEncoder windows31je = windows31j.newEncoder(); for (int i = Character.MIN_VALUE; i < Character.MAX_VALUE; i++) { if (ms932e.canEncode((char) i) != windows31je.canEncode((char) i)) { System.out.printf("%04X(%s)%n", i, (char) i); } } 同じに見えるがー
http://oshiete1.goo.ne.jp/qa1719728.html このあたりは確認したのですが、
java applet で データベース(mysql)を操作するということは本当に可能なのでしょうか?
アプレットはリモートのwebサーバ上にあり、 データベースもwebサーバと同じマシン上にあります。
データベースへの接続を行うjavaアプリケーションは期待通りの実行結果が確認できたので、
同じ設定でデータベースに接続するappletを実行したいのです
<APPLET archive=.... code=... > と jarファイルも確認済みです。
このアプレットにグローバルなアドレスでアクセスして、アプレットを通してデータベースにアクセスしたいのですが、
データベース接続の際に
CommunicationsException Communications link failure due to underlying exception
などのエラーです。
何か設定上 他に 確認しておく ことは何があるでしょうか
また "jdbc:mysql://localhost/database" と指定しているのですが
アプレットはローカルのブラウザで実行されていて、データベースに接続する元はローカルマシンなのではないかと だとすると この localhost でいいのでしょうか?
他のサイトなどでは、webサーバのデータベースにアクセスする際にも、ホスト名をlocalhostとして、
webサーバと同じマシンにアプレットがあればlocalhostで良いと言っているようなコードが幾つもあったのですが
>>412 つヒント my.cnf の bind-address
localhost = ブラウザが動いているマシン。 そのマシンで MySQL が動いていなければエラーに成って当然。
415 :
デフォルトの名無しさん :2010/01/21(木) 23:02:38
>>412 ><APPLET archive=.... code=... > と jarファイルも確認済みです。
jdbcドライバは?
ms932はdosのCPでそれのIANA名がwin-31Jだがunicodeとは互換性ないからそれから変換すると合わないかもな。
お聞きしたいことがあるのですが、 l2 = 750; h2l = (h * 750) / l; if(h2l > 300){ h2l = 300; } // 梁の側面表示 g.drawLine(100, 250 - (int)h2l / 2, 100 + (int)l2, 250 - (int)h2l / 2); // 上線 g.drawLine(100, 250 + (int)h2l / 2, 100 + (int)l2, 250 + (int)h2l / 2);// 下線 g.drawLine(100, 250 - (int)h2l / 2,100 , 250 + (int)h2l / 2 ); // 左線 g.drawLine(100 + (int)l2, 250 - (int)h2l / 2,100 + (int)l2, 250 + (int)h2l / 2); // 右線 数値を入力したら指定された範囲に出る四角形が出てくるのですがこの四角形の左下と右下に、 int xp[]={75,100,125}; int yp[]={440,400,440}; g.drawPolygon(xp,yp,3); int ap[]={825,850,875}; int bp[]={440,400,440}; g.drawPolygon(ap,bp,3); この大きさの三角形を常に表示させるるようにしたいのですがどのようにしたらいいか教えていただけませんでしょうか…? お願いします・・・
急いでますので早くお答えして頂けると助かります・・・
コード片だけみせられてもふーんとしかいいようがない
だったら出てくるな
421 :
417 :2010/01/22(金) 00:16:14
急いでると書いたのは自分ではないのでw これだけ書いただけじゃ論外でしたか・・・
>>407 GoogleなんてJavaScriptで実現してんじゃん
何でグーグル?
何でそこ?
JavaとJavascriptの違いぐらい完全に理解してないとプログラマー失格だな
理解してればJSよりJavaのがやりやすいことは分かるよな
理解していればJavaよりJavaScriptの方がやりやすいことは明らかだね。
何がやりやすいって?
JSなら、文系短大卒のオニャノコでも簡単に覚えられるから、 仲良くなれる。 Javaは、もうちょっと面倒だから、教える方のスキルが低い と、キレられて嫌われる。 JSのほうが、オニャノコと仲良くなりやすい。
Javaなら、短大どころか高卒でも立派にPGがつとまるらしい。
javascriptよりJavaの方が簡単だろ… コピペだけのなんちゃってjavascriptなら簡単だが本格的に覚えると結構やっかいだぞ
で、何がやりやすいって?
この流れは要するに、可能な事なのに不可能と言ってしまった人がふぁびょって ひたすら粘着して質問をし続けて相手のボロを出させようとしているわけですね
セックス!
ゆとりは小学校で一生勉強してろ
437 :
デフォルトの名無しさん :2010/01/22(金) 15:35:07
中学校で小学校の復習をし、 高校で中学校の復習をし、 大学で高校の復習をするのがゆとり教育。
やる気さえあれば高卒でも 人から教わらなくても人の真似して(盗んで)覚えられる VBAやJavaScriptのほうが楽 Javaはソース隠されたら辛い 社会人は上の人からいかに技術を盗むかが勝負
439 :
デフォルトの名無しさん :2010/01/22(金) 15:55:49
ゆとり乙
440 :
デフォルトの名無しさん :2010/01/22(金) 16:02:13
上の人というのはJakartaやJbossの中にいる人を指してるんだよな?
JakartaやJbossの中では妖精さんが頑張ってくれてます。
なんでJSとJavaの習得難易度の話になってるんだ?
>>428 の文意が本気で分かってないバカが居ると言うのか・・・
444 :
デフォルトの名無しさん :2010/01/22(金) 16:26:42
445 :
デフォルトの名無しさん :2010/01/22(金) 16:29:12
ゆとり乙
JSみたいなブラウザベースのスクリプトよりJavaの方がローカル環境の情報を幅広く取得出来るから JSで実現出来てJavaで実現出来ない機能は存在しえないと言うことだ原理的に GoogleがJSで実現してる時点でJavaで可能なことも自明ってことだ
グーグルが何だって?(笑)
ただの煽りは荒らしだ
451 :
デフォルトの名無しさん :2010/01/22(金) 17:17:25
ゆとり(笑)
System.out.println("Yコンビネータ");
System.outはSystem.errと区別できないのでしょうか? DOS窓で出力しても同じ見え方で困ります。
455 :
デフォルトの名無しさん :2010/01/22(金) 18:18:21
JAVAじゃむりだろ。JS当然最強だしw
JavaScriptはFlashプレイヤーを作れるくらいだから
457 :
デフォルトの名無しさん :2010/01/22(金) 18:40:22
ゆとり乙
うちの会社を見るとjavascriptエスキパートはすごく重宝されてる。 仕様書を一から読み直したりブラウザ間の動作の違いとかprototypeやjquery等のライブラリの内部実装の理解、javascript2.0の機能、 そういうのをちゃんと勉強してる奴ってあまりいないからね。
Java厨にはクロージャとか理解できないだろうしね
htmlでjavascript系以外のスクリプトでDOMりたいんですけどWEBっぽい人はそういう時どうやるんですか?
もっとまともに質問できないのか
できます
464 :
デフォルトの名無しさん :2010/01/22(金) 20:44:46
.:::::::;' ';:::::::. :::::::::i l::::::::. ::::::::::! i:::::::: ::: 最強言語Rubyを覚えておけば ::: ' ― ―‐ -- 」 L_::::: 間違いない  ̄ ̄ ̄ __,. -┐ _ ,. -‐ '' ´ :::::::::', これは神の啓示である r::- _ :::::::::'、 /:::::::: ´` ' ::::::::':、 ,.:'::::::: ::::::::ヽ / ̄\ /::::::: ::::::::丶 | Matz | ,.::':::::::::: ::::/ ,:、 \_/ _,..:':::::::::: / ,..':::::::> _|__ ... く:::::::::: / ,.:::::::: /\ , , /\ `、 \ / ,.∩ / <●> <●>\.`、 \∩ / , ' l ヽ∩ / (__人__) \ ∩ノ j / , ヽ ノ | |::::::| | ヽ ノ \ / , ' | ヽ \ ` ⌒´ / / j \ / , ' \  ̄  ̄ / `、 \ ./ , ' \ / `、 \
WebProg池
>仕様書を一から読み直したりブラウザ間の動作の違いとかprototypeやjquery等のライブラリの内部実装の理解、javascript2.0 程度が知れてるな。
ジャバスクリプトのエキスパートが登場です
ゆとり乙
(´・ω・`)(´・ω・)(´・ω・)(´・ω・)(´・ω・) どういたまして
誰も ECMAScript だとは言わない程度の興味の低さ。
>>472 どうしてもと言う事ならスクリプトからアプレット + HTML パーサに委託するが、そこまでする程のことかね。
javaはスクリプトなんですか? やっぱりrubyとかじゃDOMには触れないんですね。
すれ違いなのもわかんねーほど頭わいてんのか? pythonでも使っとけよハゲ
JavaやってるならScalaがいいでしょ。 アホには薦めないが。
>>473 ECMAScriptとjavascriptが同じもんだと思ってるのはおまえだけじゃね?
そういう事を言っていると思ってるのはおまえだけじゃね?
MEノートPCでjavaの勉強はキツイから新品PC買うわ プログラマお勧めのPCって何
チンコ レッツ マック
試してないがDellのアダモとかどうだい? SSD128GBのノートPCだから、EclipseやNetBeansもさくっと立ち上がるだろう。
VAIO Zの新モデル
ノートはおすすめしない 画面は小さいしキーボードは打ちづらいし価格の割にスペックは低いし、いいことないよ 喫茶店でプログラミングしたいなら別だが
開発マシンはまともで大画面な液晶。あとは性能のいいCPUとMEMとHDDだけあればいい。 余計なもんがあると別用途(特にゲーム)に使いはじめるからお勧めしない。 キーボードは好きなタッチで選ぶ。メカニカルを深夜に打ちまくると家族から苦情がくるから注意な。 ノートにスペック求めるのはやめたほうがいいかも。 一台持ってると便利ではあるから、手ごろなサブとして考えるのはあり。 どうせ一番スペック不足を感じるのは自分の手と頭だ。 思考を邪魔されない程度にコンパイル時間が収まってればなんでもいいよ。
フーン
hpかdellあたりの一番安いやつでいいよ。 どうせすぐ飽きるんだろ。
ヘー
ハ _ ‖ヾ ハ ‖::::|l ‖:||. ||:::::::|| ||:::|| |{:::::‖. . .||:::|| _」ゝ/'--―- 、|{::ノ! / __ `'〈 ../´ /´ ● __ ヽ / ゝ....ノ /´● i …で? ... { ゝ- ′ | 厶-― r l> | ∠ヽ ゝ-― `r-ト、_,) | レ^ヾ ヽ>' ̄ LL/ 、 / .l ヾ:ヽ ` 、_ \\ ' l ヾ:ヽ ト`ー-r-;;y‐T^ | ヾ `ニニ「〈〉フ /‖. j
広いに越したことはないがノートの 1024x765 で十分鬼のようにコード書けるけどな。 最近の 1280x800 とかなら十分じゃないのか。 ただし GUI エディタ使うなら全然足りない。俺は GridBagLayout 手書き派だから良いけど。
でもノートだと、そのまま偉い人の所に持っていけば教えてもらえるけどな。 まず偉い人を見つけて仲良く成れば、手取り足取り教えてもらえるはずじゃ。 まあ若くて美人が有利だろうw
sukebejijii!
496 :
デフォルトの名無しさん :2010/01/23(土) 09:15:08
>1024x765 何だこの解像度、存在するのか?
498 :
412 :2010/01/23(土) 11:42:33
若くて美人でスレンダーなので自己解決しました
499 :
デフォルトの名無しさん :2010/01/23(土) 11:49:27
>>459 それでその会社は給料いくらだすんですか?
500 :
デフォルトの名無しさん :2010/01/24(日) 01:08:56
JNDIが何者なのかさっぱりわかりません。 何のためのものなんですか?
名前解決のため
何のためにDNSやLDAPを使うのかを考えれば自明じゃないか? それらをまとめただけなんだから。
505 :
デフォルトの名無しさん :2010/01/24(日) 01:31:42
LDAPは検索するためと思っています。 LDAPで考えると、 JNDIをつかえばLDAPをjavaで使用することができ、 JNDIのルックアップでldapsearchと同じことができると 思ってよいですか?
507 :
デフォルトの名無しさん :2010/01/24(日) 01:52:12
ありがとうございます、ルックアップ = ldapsearchではないのですね。 ルックアップは何をしているのですか?
508 :
デフォルトの名無しさん :2010/01/24(日) 01:58:44
>>504 に書いてある限りでは、
J2EEコンテナ上でバインディングされたものを
取ってきてるように読める
509 :
デフォルトの名無しさん :2010/01/24(日) 02:25:20
504を読んでから出直します。
うむ!そうするがよい!
ぶっちゃけJavaEE界隈で仕事してても JNDIが何だか分かってない痛い中堅が驚くほど多くて萎えるw
>>511 JNDIをよく理解していらっしゃる方だとお見受けいたします。
何卒ご教示頂けないでしょうか?
なにがわからんの?使いどころか? 要するにリソースをどこか別の(自分のJavaVMと無関係)場所に集約して、 名前を元にそれらの情報(実際には特定のオブジェクト)を取得するための仕組み。 ディレクトリサービスの部分はファイルシステムのディレクトリと一緒で、 複数のリソースをグループで管理して、リソース間の関係をわかりやすくまとめたもの。 LDAPで言えば氏名と電話番号と部署その他がセット(グループ)になっていたりする。 なので、氏名が分かれば電話番号も検索できる。
両方のリソースがちゃんと登録されてればだけどな。 データ欲しいならjdbcでdbから拾って来たほうがうまく逝く。 idとpassみたいな、そんなものいちいちjdbcでdbに問い合わせするなよって軽い用途で使う時に、ldapがあればjndiでごにょごにょしとくと便利ってだけ。 実際は認証だけじゃ済まなくて、データの出し入れも含んだりするから、結局dbで集中管理しちゃえよに成りがち。 あちこちにデータ分散させても手間増えるだけだし。
但し、JNDIは
>>504 に書いてるように
色んなリソースの名前解決をするから避けては通れないです
特にEJBを使うときとか、あとはJ2EEサーバの種類にもよるし
>>514 分かってるようで肝心なところが分かってないね。
結局DBとJNIDIはどこが大きく違うわけ?
JNDIとJNIは名前が仁杉だと思う
おなじく
JNDI じんでぃー JNI じにー
なんか論点がよく見えないな。 なんでDBとJNDIが同列に語られる必要があるわけ? まったく別ものなんすけど。
DBとかいってるのは素人だからスルーしる
まあぶっちゃけ、ディレクトリサービスってのは、 「特定の用途に特化したDB」だから。 「一般的な(オラクルとかmySQLとかの)DB」と何が違うのか、 って言ったら、 あらかじめデータ構造まで使い方がある程度決まっていて、 サーバの実装やAPIがあらかじめ用意されてる。 ってことじゃね? ディレクトリサービスのコアを一般のDBにして実装しても 一向構わんわけだし。
結局分かってないんじゃん(笑)
524 :
デフォルトの名無しさん :2010/01/24(日) 12:31:40
LDAPのストレージにRDBが使われることもあるし LDAPはRDBよりも少し人間よりのデータ格納庫という認識でいいと思うよ
>>524 そのあたりをJAVAじゃない人にも優れたIT記事のように上手に説明できると、サンはオラクルに吸収されちゃうことはなかったと思いますよ。
Sunのトップページって異常にわかりにくいよね お前ら何作ってるんだっていう
527 :
デフォルトの名無しさん :2010/01/24(日) 13:47:45
オンラインで対戦出来る将棋のウェブアプリを作ろうと思っています。 で、yahoo将棋というのがあったので見てみたらJavaで作られているようでした。 将棋のウェブアプリの場合、基本的に対戦している2者間の間だけで必要なデータをやりとりする 必要が生じると思います。例えば、先手が一手売った瞬間に後手のブラウザの方にもそれが反映されるといったような。 自分はphpとかrubyみたいな基本的なCGIのウェブアプリしか作ったことなくて、 こういう2者間での通信の制御をどうやったらいいのか分からないのですが、 Javaの場合だとこういったことが簡単にできるのでしょうか? どういった仕組みを利用してそれを実現するのでしょう? 教えていただけますと幸いですm(_ _)m
528 :
デフォルトの名無しさん :2010/01/24(日) 14:10:00
>>527 想像だが、両対局者がそれぞれサーバに接続して非同期通信を行っている
A → サーバ 着手(▲7六歩)
B ← サーバ 指し手(▲7六歩)
B → サーバ 着手(△3四歩)
A ← サーバ 指し手(△3四歩)
Socket通信でゴリゴリやるのみではないかと
2者間だとLANの中に入ってるクライアント同士の宛先解決が面倒そうだね。 そこが解決すればJavaのnio使って非同期通信するだけだし (Java7がでれば非同期通信により向いてるAPIが追加されるって記事をどこかで見たけど 宛先解決はわかんない)
532 :
527 :2010/01/24(日) 17:43:04
>>529 >>530 >>531 レスありがとうございます。
なるほど、socket通信というのがあるんですね。
対戦1つにつき、プロセスが一個発生してリクエストを受け付ける感じでしょうか。
概念がよくわかってないので調べてみようと思います。ありがとうございますm(_ _)m
でも確かに、同じLAN内だと色々面倒くさそうですね。どうするんだろう。
ちなみに、rubyでもソケット通信と言うのはできるようなんですが、
http://www.ftnk.jp/~fumi/cl/2007-11-24-1.html やはりrubyとかphpではソケット通信というのはあんまり向いてないのですかね?
Javaはソケット通信というのがやりやすいので、yahoo将棋もJavaを採用したのかな?
と思ったのですが、そういう考えで合ってるでしょうか?
>>532 サーバクライアント通信の基礎を勉強してからの方がいいよ。
LAN内完結であれば難しくないけど、LAN-WAN-LAN越しの直接通信は色々解決すべき問題がある。
Javaを採用したのはブラウザからのアクセス性を考慮したのが大きいと思う。
GUIの実装を別問題とすれば、基本的なサーバクライアントはどんな言語を使っても問題なく作成できる。(phpはしらんが)
>>535 JavaでLAN-WAN-LANってどうすれば構築できるんですか?
一旦LAN上の両クライアントがサーバにつなぎに行って、
それからサーバを介さずにクライアント同士でやり取りする方法をとる
アプリを作りたいと考えてるんですけど
既存のAPiだけじゃやっぱりダメなんでしょうか
>>536 WAN越し直接通信がしたいからといっても、別にJava特有の難しさはないはず。
相手のグローバルIPアドレス(の特定ポート)にパケット投げた場合、
相手のプログラムがそれを受け取ってくれるかどうかが問題になる。
多くの場合はルータ越しに接続しているから、
グローバルIPアドレスが相手のローカルIPアドレスに正しく変換されるかどうかは相手のルータ設定次第。
サーバを中継するなら、相手からサーバに接続してくるだけなので、
コネクションが張れるかどうかの問題がない。
>>537 なるほどサンクスです。
サーバ中継を初回に絞るのはまず試してみます
yahooゲームは毎回サーバに送ってるだろ明らかに
そもそもクライアント間直接通信だと対局中リストをサーバ側で管理できないからね。
できないね。。。。。。。。。。。。。。。。。。。。。。。。。。
Javaアプレットって元サーバとしか通信できないだろ??
署名しろよ
全然詳しく無くて、当てずっぽうなんだけど jiniとか? あれってUPnPみたいなものなんだよね?
そうです。
そうではないですお。
どっちなんだお
私のいってるほうが正しいです!
いいえ、私の方です
どっちもただしいお
JWS使えばsunの署名がついてくるから何もしなくても外と通信できるのに。
ごめん、本当はできないんだ・・・
遅レスだけど、Webアプリゲームをクライアント間通信にするのはお勧めできない。 面倒くさいとかそういう次元じゃなくて、拡張性が無いから。今時流行らない。
遅レスだけど、Webアプリゲームをクライアント間通信にするのはお勧めできない。 面倒くさいとかそういう次元じゃなくて、拡張性が無いから。今時流行らない。
ネットの将棋とかマージャンとか昔からあるが、そもそも流行ってたのか?
>>556 徘徊お爺さん、ここはJavaスレですよw
JAppletを作成しているんですが、 File f = new File(filename); BufferedImage image = ImageIO.read(f); のような形で画像ファイルを読み込んでいます。 NetBeans上のファイルを実行では通常に動作するのに、 実際にhtml上でappletを読み込むようにすると、 java.security.AccessControlException: access denied (java.io.FilePermission 〜filename) と言われます。これはどう対処したら良いのでしょうか? WindowsでNetbeans IDE 6.5を使っています。
アプレットはファイル読み込みできないように制限されてる
>>559 そうだったんですか・・。
BufferedImage を利用したいんですが、appletでは不可能ということでしょうか?
Image img = getImage(〜)
のような形は問題なかったので、普通にできるものと思ってました。
署名すればいいらしいよ
>>561 やはり署名にいきつくんですね。
とりあえず問題の根本がわかったので、あとは何とか調べてみます。
ありがとうございました。
どういうアプレットを作っているかによる。 ユーザーが選んだ画像ファイルを開きたいのであれば署名が必要。 そうでないならURLから読めばいい。
JNLPてアプレットから全機能使えるの?
Javaアプレットの署名ってオレオレ証明書でも ローカルファイルにアクセスできますか?
アプレットを使おうとする人が、その証明書を認めれば。 俺はそんなアプレットは断固拒否させてもらうが、無知なユーザは素直に実行するかもしれん。
なるほど じゃあ社内システムには使えますね
activexなんか問答無用でインストされるんだがセキュリティ的にはそれよりはまし。
>>568 つうか、社内システムの場合は、マニュアルにそういうことは書くだろう。
あと、社内のセキュリティ方針との整合の問題もあるし。
571 :
527 :2010/01/25(月) 18:35:08
レスありがとうございました! 色々参考になりましたm(_ _)m
Stringに格納されている値が01や1なら以下を実行という条件判定をしたいのですが String Number = "1"; if (Number == "1"|"01"){ //1番目の命令実行 } や if ( Number.equals("1"|"01") ){ } など書いてもコンパイルエラーになってしまいます。 どういった文法が正しいのでしょうか?
o ゜ ○ ゜ 。 o 。 ゜゚ ゚ . o ○o \丶 r⌒ヽ (⌒⌒) r⌒ヽ/, / /, ヽ 、、;(⌒ヾ . (((⌒⌒))) /⌒) ), , 、ヾ (ゝ /, 、\(⌒ゝ;(⌒ヾ ( ゚д゚ ) ⌒)/)) ., / ((⌒-丶(;;;(⌒ゝ;;⌒ヾ. O┬O ,⌒⌒);;;;;)))⌒) (;;;;(⌒(⌒;;( ( .∩.| )))⌒));;;;)-⌒)) ゞ (⌒⌒=─ \ ι| |j. / ─=⌒⌒)ノ;;ノ;;;::) ((⌒≡=─. \∪/ ─=≡⌒)丿;;丿ノ
if(Number.equals("1") || Number.equals("01")){ … }
>>572 if(Number.matches("1|01")){
…
}
まあ普通は
>>574 でしょうね。
576 :
572 :2010/01/25(月) 21:23:51
・<span class="date">2008-10-24</span> ・<h2 class="date">2009年06月14日</h2> ・<li class="date">2008-06-23 (月) 14:30</li> ・<p class="date">2009/05/22</p> 任意のページに対して、上記のようなclass="date"を持つ要素を取得したいのですが どうすればいいでしょうか?
HTML はスレ違い。 Java で XML での話なら XPath で "//*[@class='date']"
すいません、どこで質問すればいいんでしょうか?><
>>577 jQueryなら$(".date")でおk
goto Web 作成板;
>>577 NekoHtml使ってます。
import org.cyberneko.html.parsers.DOMParser;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class MyParser {
public static void main(String args[]) throws Exception {
DOMParser parser = new DOMParser();
parser.parse("
http://www.hatena.ne.jp ");
Document document = parser.getDocument();
NodeList nodeList = document.getElementsByTagName("*");
for (int i = 0; i < nodeList.getLength(); i++) {
Element element = (Element) nodeList.item(i);
if (element.getAttribute("class").equals("open")) {
System.out.println("text: " + element.getTextContent());
}
}
}
}
あ、 NodeList nodeList = XPathAPI.selectNodeList(document, "//*[@class='open']"); で良いんですね。
mainにthrowsを記述するケースってどのような場合でしょうか?
>>584 普通のメソッドと同じで、キャッチしないといけない例外が飛ぶ可能性がある場合、だと思うけど。
書かなくてもキャッチしなくて良い例外は飛ぶ可能性がある訳だし、
わざわざmainメソッドの中身全体をtry-catchでくくる必要も無いでしょ。
何が不満なんだ
どこに投げるんだ よそからstaticでmainを呼ぶなら設計見直しの方がいい気がするが
トリビア: JDK 1.0, 0.9 の頃は main() だけ特別に throws を書かなくても良かった。
>>588 シェルから呼んでも例外飛ばすとステータスコード1になるし。
他にも値が必要ならcatchしてSystem.exitだろうけど。
>>584 コールスタックの先で発生した例外について、
mainまであがって来てもリカバリ不能なままであるのなら書けばいい。
クライアントが(途中のクライアントも含めて)
なぜチェック例外を投げてきたのかを考えましょう。
クライアントっつーのは普通呼び出し側を指すわけだが
>>584 ちょろちょろっとしたツールや実験用のコード数行〜十数行程度を書くためにいちいちtry-catchとか面倒な場合
素人ですが、 java(当方が作成しているのはi-appli)において、 任意の座標に置かれた2点の角度を求めて その角度の線を(任意の位置に任意の長さで)描画することは可能でしょうか? 可能ならば方法を教えていただければ幸いです。
ゆとりすぎる
>>596 答えられないあなたの方がゆとりすぎます。
ゆとり、なめてるw
にしてもJavaの質問じゃなかろうて
595のものです。
確かに
>>599 の方の仰るようにJavaの質問というよりは
アルゴリズム的な質問になってしまいました。すみません。
こういった質問はどこでするのが適当でしょうか?
601 :
デフォルトの名無しさん :2010/01/26(火) 12:30:26
ゆとりすぎるw
中学生かな?高校以上なら数学で習うよね角度とか。
603 :
デフォルトの名無しさん :2010/01/26(火) 12:34:28
ゆとり乙
>>602 三角関数で角度は出せるっていうのは分かっているのですが、
おそらくi-appliではFastMathクラス等のメソッドを使えば
いいのだろうと予測しています。
ですが
その角度の線を描画する方法はどうすればよいのでしょうか?
その角度から目標の座標を計算して線を引けばいいでしょ。
>>605 なんかすみません。。答えて頂いてありがとうございます。
本当はもっと複雑なことしてるんですが
文章で説明するのが難しいので、皆さんに誤解を与えてしまって
申し訳ありませんでした。
失礼しました。
角度の線というのはなんだ? 最近のゆとり教育で教わったのか?
なじゃそりゃ うぜーもう二度とくんな
すみません、言い方変えるなら傾きの線というか あ、もう二度と来ませんすみません。
こんなことも出来ずに何が複雑なことだよ ゆとりにとって複雑なだけだろw
しかもマルチポストと来た
ゆとり(藁)
昼間からゆとり連呼厨が湧いてますね
次の方どうぞ〜
ゆとりってバカなんですか?
空気読めないおまいがバカです。
public class Yutori { } 属性と操作は誰か任せた。 何かを継承してそうだな。
public String teachMe(String query) throws BeyondUnderstandingException { } 結果を理解できないと例外を投げます。 これはむしろRuntimeExceptionのサブクラスである気がしないでもない。 まずはinterfaceの定義からするべきなんだろう。
なんでゆとりインスタンスにクエリーを渡すんだ? インターフェース設計のセンスない奴が無理すんな。
というかマ板でやれチンカスども
トマトってデータベースに必要なんですよね?
すいません Tomcatでした(汗
このミスは思わずときめくw
虚偽の事実は伝えるべきではない
いまどきtomcatとかはやらん。
でも代替案は提示しないのね
glassfish一択だろ
IIS一択だろ
jettyいいよjetty
ジェイボスが好きです
636 :
デフォルトの名無しさん :2010/01/26(火) 21:08:22
P2Pで絵チャットを作りたいんだけど、なんか参考になるものはないかのう
今時のAPサーバならGlassfishでいいよ。 JPA2.0で悲観的ロックがサポートされてるし Faceletsと合せて使えばStrutsよりいいんじゃない?
>>636 メッセージにGraphics2Dメソッドの呼び出しの制御機能を加えればいいだけじゃね?
例えば /draw line 0 0 50 50 255 0 0 とか送って / を制御メッセージとして扱えばいい。
マルチにやりたきゃ履歴をホストがキャッシュして接続時に経過分を送信してやればいい。
ふーん
glassfishだとお金かかるんでしょ?
はあ?
J2EE関連のライブラリだけ落としたかったのに、勝手にglassfishが入ってウザい
だってせっかく使い方覚えたんだし商用利用でもお金出したくないじゃん。
商用利用といっても大規模とかじゃなくてせいぜい30人ぐらいの事務所とかね。 java知ってるとcgiとかperlとかphpとかうざすぎ(ていうかcgiって設計からしてキモイじゃん)。
俺は全角数字を書くヤツは信用しない
Glassfishは商用環境への導入は無料だぞ。 Sunとサブスクリプション契約を結ぶことが可能ってだけの緩いライセンス。 JBossとかもそうだ。
>>643 内容は文字列だけどSocketExceptionをキャッチしたら?
>>643 SocketExceptionのサブクラスがいくつかあるので、サブクラスの方で
catchするとか、instanceofで調べればそれらについては判別できる。
getCause()すれば何か別の例外が入ってるかもしれんね。
いや、そうじゃなくて、ライセンス的にソース出したくないでしょ。 開発者間ではソース共有・オープン万歳もいいけど、いざビジネスとなると客にソース提供する意味ないし。 それならライセンス的にアパッチとかMSでいいかなって思うよ。 いくらそのパッケージが他と比べて秀でていても、たいした効率とか速度とかアレとかコレとか細かいところを除けば、cgiよりマシなMSとかでもWEBサービスとして機能的なところは差はないし。
何言ってんだ?GPLv2 ClassPath Exceptionはデプロイコードに感染はしない。
>>650 言ってる意味がよくわからないんだが、JavaEEサーバ/Servletコンテナそのものをいじろうとしてるのか?
サーバの上に載ってるWebアプリはサーバ自身のライセンスとは関係ないぞ?
サーバコンテナいじらないでどうやってカスタムするんだよ? 100台ぐらいのウェブサーバ(やコンテナ)のサーバ間の連携を考えてみろよ。 それをしないWEBアプリなら別にcgiでもいいでしょ。 結局現在のWEBアプリのほぼ全てと同じで、DBの方に依存が増してしまうだろけどね。 それにソース提供して、顧客が勝手に改造したら「サポート外ですけど・・・」なんていってもビジネスじゃそういう建前は通用しないだろ。 SUNはもともとソフト企業なのにGPLに歩み寄りすぎて、しかし売上に繋がらず潰れたんだろうな。 ソフト・ハード共に技術力はとても高い企業だったのに商売は下手だったし、今後は社員半分レイオフだろ?かわいそうに・・・ アメリカの場合は、オープンプロジェクトにしてあるからリストラされても技術者だったら別になんてことないんだろうけど。
WebSphere でも使えよ零細
は?
100 台連携さすのにコンテナいじる??? かなり明後日の方向のスキルが高い方がいらっしゃるようで…
コンテナ依存の実装をするのは3流。 そんな理由でコンテナに手を入れるのは5流。 なんのための標準仕様なのか考えろよw
働いた経験が無い連中が多そうだな
5流会社で働いた経験自慢されてもな。
何が標準仕様だよ。 五年前じゃ考えもしなかっただろうけど今じゃ会社本体が潰れちゃって社員半分は首切りだろ? オープンソース万歳もいいけど実はそういうビジネスモデルは間違ってたってことだと俺は思う。
話が抽象的すぎていまいちよくわからん。 サーバ100台連携といっても、コンテナの実装に手を入れないと どうにもならないほど複雑な構成ってどんなんだ? 本当にそれだけ複雑なものを本気でやるなら、 変な小細工せずに ESB とか使うのが本道じゃねえの?
釣り堀があると聞いて
閉店しました
>>662 アホかおまえ?w
次世代ライブラリの話しをしてるんだよ。
いつもその時代時代の定番ライブラリばかり使っておんぶに抱っこなくせにジャバマスター名乗ってるような奴じゃ一生理解できないだろうな。
何だネタか
>>665 / ̄\
| |
\_/
|
/  ̄  ̄ \
/ \ / \
/ ⌒ ⌒ \ よくがんばった。
| (__人__) | 褒美としてジャバマスターに認定してやる
\ ` ⌒´ / ☆
/ヽ、--ー、__,-‐´ \─/
/ > ヽ▼●▼<\ ||ー、.
/ ヽ、 \ i |。| |/ ヽ (ニ、`ヽ.
.l ヽ l |。| | r-、y `ニ ノ \
l | |ー─ |  ̄ l `~ヽ_ノ
>>665 職場での夕方の陰欝な気持ちを吹き飛ばしてくれて感謝
仕事でJava使ってる時点で99%は残念な人達だろ
ジャバマスターに認定された
>>665 がうらやましい
買収完了したら今までのサンの方向性はネットワーク重視だったのどんどんデータベース重視の方向になるんだろうな。 これじゃ時代に逆行していくと思うよ。 ジャバマスターが扱うコンピュータってのは、コンテンツ作成業界(例えばDTPとか)じゃないんだし。 最近このスレはphpとかperlみたいな昔のVBレベルからジャバに移行してくるのも多くてつまらなかったけど、 ネットワークというかゴスリンというか、サンとかジャバが目指していた方向性を理解しているのがかなり減ってるな。 MSのmsoffice販売の変化と同じで、5−8年後ぐらいにDBじゃ時代に逆行していたってことが一般に認知されるんだろうと思う。
業務アプリ専門言語って位置付けからは抜けられないのかな? 趣味レベルでJava使う気になれない。 勉強してても本質より周りのフレームワークの勉強に費やされるからプログラマとしての成長を感じられない。
>>671 では、あなたをマスターオブベーションに認定しましょう。
javaアプリケーション(webじゃない)でデータソースを作りたいのですが、 DBのConnectionまでは作れるのですが、肝心のDataSourceが作れません。 どこのサイトもウェブコンテナが作ったデータソースを取得するところだけで、 作る方法が見当たりません。 ぜひ、作り方を教えてください。
肝心なのはConnectionなんじゃないのか? InitialContext ic = new InitialContext(); DataSource ds = (DataSource)ic.lookup("java:comp/env/jdbc/MySQL"); Connection con = ds.getConnection(); こういう記述をみっけたが?
>>675 Apache Commons の DBPL? とか何とかいう奴に DataSource 実装が入ってる。
明らかに手段が目的になってると気付くだろうに、何故放置しないのか。。。
>>675 たとえば、Oracleであれば以下のようなコード
import oracle.jdbc.pool.OracleDataSource;
OracleDataSource ds = new OracleDataSource();
ds.setUser("scott");
ds.setPassword("tiger");
ds.setURL("jdbc:oracle:thin:@//host/servicename");
Connection con = ds.getConnection();
681 :
sage :2010/01/27(水) 21:02:22
さっき新しくバージョン6アップデート18にしたのですが コマンドプロンプトで 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。C:\Program Files\Java\jdk1.6.0_18-b07\bin とでるので 環境変数を変更しました C:\Program Files\Java\jdk1.6.0_18\bin と打って確認したのですが 動作してくれません 環境変数を間違えてるのでしょうか? 助言お願いします
javacって普通path通ってないでしょ。 環境変数の具体的に何を変えたわけ? echo %PATH%の結果さらしてみ。 あとdir "C:\Program Files\Java\jdk1.6.0_18\bin\javac.exe"の結果な。
>>681 set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18-b07
set PATH=%PATH%;%JAVA_HOME%\bin
普通はこんな感じ。
ネットワークの先にいる相手しか見てないのは分かった。 相手の後ろで動いているDBの存在が見えていないんだってことも。
ぐだぐだ言わずにただ質問に答えればいいんだよ
ぐだぐだ言わずにただ質問すればいいんだよ
Java厨はどうして頭が悪いのですか?
「javaってデータベースアプリ?」って勘違いしている奴が多いんだな。
public void start() { System.out.println("Startを開始します"); Thread t = new Thread(new Runnable() { public void run() { while(true) { System.out.println("スレッドの中身を処理中"); } } }); t.run(); for(int i = 0; i < 100; i++) { System.out.println("Startの終わり"); } } こんなコードを書いてみたのですが、run()の中身が終了しないと start()も終了することができないのですか?
start()で始めます^^
ちょっと和んだ。 Thread のヘルプの頭でやり方は書いてあるから、再確認ね。
692 :
689 :2010/01/27(水) 22:44:31
うわぁ〜、久しぶりにThreadクラスを使ったから完全に忘れている
>>690-691 指摘、ありがとございました
693 :
デフォルトの名無しさん :2010/01/27(水) 23:15:37
JMXってなんですか?
694 :
643 :2010/01/27(水) 23:16:25
xdocletを使ってweb.xmlにresource-ref属性を書き出すことって出来ますか?
@web.resource-ref name="hoge/name" type="hogefactory" auth="auth" scope="Shareable" とかでいけるっぽ。
>>696 ありがとうございます
eclipseからjboss用のweb.xmlをwebdocletで自動生成したいのですが、もう少し頑張ってみます
LinkedHashMapはmap.values().iterator()とmap.keySet().iterator()共に追加した順番を保証しますか? LinkedHashMapのjavadocみると両方とも実装しなおしていないので、保証するかしないかわからなくなりました…
します
703 :
デフォルトの名無しさん :2010/01/28(木) 18:50:15
Java SE 5で使えていたimport staticの構文 これを、意味を変えないでJava 6だとなんと書くべきなんだろう? 初心者的内容でどっかにFAQか何かありそうだったが 見つけられなかった・・・でも何で使えなくなったのだろう?
704 :
デフォルトの名無しさん :2010/01/28(木) 19:26:22
結局import static使えなかったら、数千行プログラム 書き換えなくてはならん・・・・ もしくはJava6でありながら5準拠でのコンパイル・・・
お前は一体何を言っているんだ?
コーディング規約か何かで禁止されてるから振替手段はないかって話だろ。 定数だけならインターフェースに定義してそれを implement しる。
エスパー過ぎてワロタ
>>707 定数インタフェースアンチパターンか
でもそれしかないかもなぁ
定数IFは邪道です、あれはクラスの振る舞いを定義するものです でもあたしは使います
>>706 本当?冗談じゃなく・・・・
Eclipse3.5上でJava1.6準拠でコンパイルするとエラーがでてコンパイルできない。
そのエラーのメッセージが
import staticはJava1.5準拠じゃないと使えません
という感じのエラーが出てくるんだが。
で1.5準拠に変えると、問題なくコンパイル通る。
Javaは今の最新のJava6のアップデート18が入ってる。
だから、1.6だと使えないのかなと思ったんだが。
>>707 ヒントありがとうございます。
しかし、なんか古い(僕がかかわる前)のソースみると、IFを今の
その形に書き換えているんだよね・・・・
特に規約ではどちらにも禁止事項としてはないのだけど。
死ねばいいのに…
>>711 eclipse3.5で1.6準拠で普通に使えるぞ
>>711 Javaの言語仕様は策定の際に後方互換性には一応注意を払ってるから
一旦取り入れた仕様を次のバージョンで無くすようなドラスティックなことはしない
EE6は面白いな。早く実践したい。 単体テストもしやすいし、LL系より生産性も高い気がする。
ある程度規模のあるプロジェクトだと 型安全な開発の方がいいしね。 weldに期待してるよ。DI無しじゃなにもしたくない。
静的言語が安全ってもうほとんど幻想のような… 月間2億PVのサイトもRailsで開発される時代 JavaじゃないとだめなWebサービスってあるの?
いわゆる汎用機からの機能移管がベースになっているような アプリを考えるとイメージしやすいと思う。 そういった案件で扱うアプリは、Webインターフェースから バッチ処理の実行指示を行うようなケースがままある。 たとえば、数十万行の大量データを複雑な業務ルールのチェックを適用しつつ、 100を超えるテーブルにストアしていくような処理を開発する場合、 LL系で手軽に済ませようとするのはかえって厳しいと思う。 JavaEEにとっては、そういった用途も十分想定の範囲内。
インスタンス化したオブジェクトがどれくらいのメモリを食っているかを調べる方法は無いでしょうか。
720 :
デフォルトの名無しさん :2010/01/29(金) 08:31:55
sizeof
>>713 >
>>711 >eclipse3.5で1.6準拠で普通に使えるぞ
ありがとうございます
他に原因があるということですね
もう少し調べてみます
722 :
デフォルトの名無しさん :2010/01/29(金) 14:19:41
うんこに指さすなエンガチョ
724 :
デフォルトの名無しさん :2010/01/29(金) 15:25:21
ゆとりってやっぱり馬鹿だったんですか?
括弧の対応が合っていない { の数と } の数を数えてみるべき
727 :
721 :2010/01/29(金) 16:16:15
う〜〜む。 やっぱり 「構文エラー。static インポートはソース・レベルが 5.0 の場合にのみ使用可能です。」 とでるな・・・・
728 :
デフォルトの名無しさん :2010/01/29(金) 16:17:45
正確には、 「構文エラー。static インポートはソース・レベルが 1.5 の場合にのみ使用可能です」 か。
729 :
デフォルトの名無しさん :2010/01/29(金) 16:25:01
プロジェクトの設定のJava−コンパイラで、 コンパイラー準拠レベル1.6のままで、 デフォルトの準拠設定の使用のチェックはずして、 ソースの互換性を1.5にしたら、 「構文エラー。static インポートはソース・レベルが 1.5 の場合にのみ使用可能です」 のエラーが消える・・・・・
正規表現でマルチバイト文字を検索する方法で、以下の正規表現を試しましたが、英文もマッチしてしまいます。 考え方はascii以外を検索でいけると思ったのですが? 何か方法はあるでしょうか?
732 :
デフォルトの名無しさん :2010/01/29(金) 18:21:57
>>459 それでその会社は給料いくらだすんですか?
733 :
デフォルトの名無しさん :2010/01/29(金) 20:53:20
コンパイル通るけど?
735 :
デフォルトの名無しさん :2010/01/29(金) 21:09:59
動作してますか? 赤字エラーは出てないのにビルドできないんですよね…なんでだろ
RMIあげてないから動かんけどコンパイルはできるよ。 ビルドできないって具体的になにがどうなるわけ? エスパー力は低いんでそこんとこよろしく。
java.lang.ArrayIndexOutOfBoundsException: 0 at dcj.util.Collaborative.RMICollaboratorImpl.main(RMICollaboratorImpl.java:70) Caught exception: ってエラーが出るのですが…引数に問題があるのでしょうか
class foo{ public foo{ this.a(); } private a(){ .... } } class baa extends foo{ public baa{ super(); } private a(){ ....... } } って感じで継承した先でメソッドaをオーバライドして使いたいんだけど これってできないの? このままやると、スーパークラスのメソッドaを使うのだが・・・
privateじゃむり
privateは継承できないと言われなかったかな
昔static importって書いてて何時間も悩んでたのを思い出した どっかのサイトがstatic importを使ってみよう!とか書くのが悪いんだ きっとそうだ
Script API ってスクリプトの実行だけをサンドボックスの中でやったりできない?
>>729 - インストール済みのJREの設定は正しい?
- Javaのビルドパス→ライブラリー→JREシステムライブラリーの設定は正しい?
- (JavaEE) プロジェクト毎のプロパティで、プロジェクト・ファセットのJavaの項目のバージョン設定は正しい?
ある処理からスレッド起動したものがあるとして、 スレッドから呼び出し元を落とすことはできますか? 呼び出し元はwhile(true)内でServerSocket#acceptで待ち受けを続けており、 そちらを落としたいと考えています。
起動したスレッドの方で正常終了フラグを立てて ServerSocket をクローズ。 落とされる方は IOException を catch して正常終了フラグが立ってたらエラー報告しないでそのまま終了。 または ServerSocket#setSoTimeout(3 * 1000) とかやって 3 秒程度おきに意図的に InterruptedIOException を発生させ、 自分のスレッドに割り込みがかかってないかチェック。起動したスレッドの方から元スレッドへ interrupt() してやる。 server.setSoTimeout(3 * 1000); while(! Thread.currentThread().isInterrupted()){ Socket client = null; try{ client = server.accept(); } catch(InterruptedIOException ex){ continue; } … } めんどくせー時は前者。ちゃんと書くときは後者。
748 :
sage :2010/01/30(土) 02:51:59
>>682 >>683 ありがとうございます
681さんのようにやってもできませんでした;
JAVA_HOMEは変数でC:\Program Files\Java\jdk1.6.0_18-b07は値でいいのでしょうか?
682さん PATHを変更というか追加しました
よくみたら、下の変数のところにPathがあったので、
その後に追加してみたのですがそれでも無理でした。
echo %PATH%したらC:\Program Files\Java\jdk6\binだったので変えてみて
やってみたのですが無理でした。
dir "C:\Program Files\Java\jdk1.6.0_18\bin\javac.exe"の結果は
パスが見つかりませんでした。
749 :
デフォルトの名無しさん :2010/01/30(土) 02:54:33
もうだめだ 諦めろ
自分で調べる意識は無いのかね… JAVA_HOMEで検索すればいくらでも出てくるのに
751 :
sage :2010/01/30(土) 03:04:59
上の者です すみませんC:\Program Files\Java\jre6\binでした dir "C:\Program Files\Java\jre6\javac.exe"の結果は ドライブCのボリュームラベルとシリアル番号がでてきて C:\Program Files\Java\jre6のディレクトリ ファイルが見つかりません と出てきました PATHもjre6に変更してやってみたのですが無理でした どうすればいいのでしょうか
752 :
デフォルトの名無しさん :2010/01/30(土) 03:37:22
荒らすな氏ね
支援おねw
>>751 元からjre6の下にjavac.exeは無い。
・C:\Program Filesの下にJavaディレクトリはあるのか?
→ 無かったら、Javaがインストールされていないか、
別のドライブ/ディレクトリにインストールしたんじゃないのか?
・Javaディレクトリの下に、jdk1.6.0_NN (NNは数字)はあるのか?
→ 無かったら、おまいのインストールしたのは、JDK(コンパイラ有り)じゃない。JRE(コンパイラ無し)だ。
・jdk1.6.0_NNの下にbinディレクトリはあるのか?
→ 無かったら、Javaの環境が壊れている。一旦アンインスールしてJDKを入れ直せ。
・binディレクトリの下にjavac.exeはあるのか?
→ 無かったら、同上。
・あったら、PATHを設定すればちゃんと動くはずだ。
756 :
デフォルトの名無しさん :2010/01/30(土) 13:29:46
すみません。一昨日からJavaの勉強を始めた者なんですが、 public static void main(String[] args)を入れてあるのにもかかわらず、 Exception in thread "main" java.lang.NoSuchMethodError: mainとエラーが 出ます。 色々探してみたんですが、このエラーが出るときは、 public static void main(String[] args)が無いからと言う回答しか無くて、 原因がさっぱりなんです。 どなたか教えてください。
・mainがあるクラスとは違う別のクラスを実行しようとした ・mainがない状態でコンパイルしたあとmainを書き足したがコンパイルし直していない ・mainと書くつもりでnainと書いてしまった等スペルミスをしている ・mainが public static でなかったり引数が (String[] args) でない
758 :
デフォルトの名無しさん :2010/01/30(土) 15:54:19
>>757 どうもです。
二つ目と三つ目は大丈夫です。
一つ目も大丈夫だと思うんですが、四つ目の意味がよくわかりません。すみません。
ちなみに以下がソースです。
//parameter.java
import java.io.*;
class parameter
{
private int SP;
private int At;
private int De;
parameter(int x){
SP=x;
At=1;
De=1;
}
void powerup(){
if(SP==1){
At+=1;
De+=1;
System.out.println("At"+At+"です。");
System.out.println("De"+De+"です。");
}
759 :
デフォルトの名無しさん :2010/01/30(土) 15:56:24
>>758 の続き
else if(SP==2){
At+=2;
De+=2;
System.out.println("At"+At+"です。");
System.out.println("De"+De+"です。");
}
else if(SP==3){
At+=3;
De+=3;
System.out.println("At"+At+"です。");
System.out.println("De"+De+"です。");
}
else{
System.out.println("SPは一度に3までしか使えません。もう一度入力し直してください。");
}
}
}
760 :
デフォルトの名無しさん :2010/01/30(土) 15:57:41
>>759 の続き(最後)
class execute
{
public static void main(String[] args)throws IOException{
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
System.out.println("使用するSPの値(1-3)を入力してください。");
String SP=br.readLine();
int n=Integer.parseInt(SP);
parameter yuusha=new parameter(n);
System.out.println("新しいステータスは以下の通りです。");
yuusha.powerup();
System.out.println("引き続き魔王を倒す旅を頑張ってください。");
}
}
突っ込みどころがありすぎるけど とりあえず、そのプログラムをどうやって実行したの?
762 :
デフォルトの名無しさん :2010/01/30(土) 16:15:35
SPは一度に3までしか使えません。引き続き魔王を倒す旅を頑張ってください。
763 :
デフォルトの名無しさん :2010/01/30(土) 16:22:44
>>761 ,762
すみません、初めてなもんで…。
ええと、コマンドプロンプトでコンパイルして、その後
java parameterで実行しようとしてできませんでした。
少ない知識で欲張りすぎたんですかね…??
そのコードだとmainがあるクラスはexecuteでは?
765 :
デフォルトの名無しさん :2010/01/30(土) 17:02:56
そう…ですね。 実は他のソースコードを元に少し改変してみたんです。 その元のソースコードもこのようにコンストラクタがあるクラスと、mainが あるクラスが用意されていたんですが、そっちはちゃんと実行できたんですよね。 何となく見た目は近く作ったつもりなので、どこが悪いのかよくわからないんです。
766 :
デフォルトの名無しさん :2010/01/30(土) 17:03:54
>>765 ちなみに参考にしたソースコード
//rocketsample.java
import java.io.*;
class rocket
{
private int nenryo;
private int sokudo;
rocket(int x){
nenryo=x;
sokudo=0;
}
void kasoku(){
if(nenryo>=2){
sokudo+=2;
nenryo-=2;
System.out.println("現在の燃料は"+nenryo+"です。");
System.out.println("現在の速度は"+sokudo+"です。");
}
else{
System.out.println("燃料切れです。加速できません。漂流します。");
}
}
}
767 :
デフォルトの名無しさん :2010/01/30(土) 17:04:44
>>766 の続き。素人目には大きな違いが無いように見えるんですが…。
class rocketsample
{
public static void main(String[] args)throws IOException{
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
System.out.println("ロケットをメモリ上に作ります。燃料(整数)を入力してください。");
String str=br.readLine();
int n=Integer.parseInt(str);
rocket ohtori=new rocket(n);
System.out.println("加速します。");
ohtori.kasoku();
System.out.println("また、加速します。");
ohtori.kasoku();
System.out.println("またまた、加速します。");
ohtori.kasoku();
System.out.println("鳳号の冒険は終わりました。");
}
}
769 :
デフォルトの名無しさん :2010/01/30(土) 17:12:58
>>768 mainがあるクラスはexecute…?
すみません、よくわかりません。
これを実行するには、どうしたらいいんですかね??
何か基本的なことをわかってないみたいですね。
勉強の仕方が悪いのか、Javaに向いてないのか…?
770 :
デフォルトの名無しさん :2010/01/30(土) 17:14:26
鳳号の冒険は終わりました。
771 :
デフォルトの名無しさん :2010/01/30(土) 17:15:06
772 :
デフォルトの名無しさん :2010/01/30(土) 17:18:12
ジャバプログラムの起動すら出来ないんだろ? ジャバ初心者向けのサイトがいっぱいあるからそっちで少し勉強して、ジャバ言語自体をある程度やってからの方がいいだろう。
773 :
デフォルトの名無しさん :2010/01/30(土) 17:20:13
またまた、加速します。
774 :
デフォルトの名無しさん :2010/01/30(土) 17:22:10
>>772 もっと簡単なのはできるんですけどね。
ちょっと冒険しすぎたかも。
出なおします…
> java parameterで実行しようとしてできませんでした。 あなたはparameterクラスを実行しようとしたわけだか、 parameterクラスにはmainがないので実行できなかったということ。
776 :
デフォルトの名無しさん :2010/01/30(土) 17:32:30
>>775 わかりました!そして実行出来るようになりました!
これって要するに、複数のクラスが一つのjavaファイルに入ってる場合、
javaファイル名とmainが入ってるクラスの名前を一致させておかないと
いけないってことですよね?
…あってます??
777 :
デフォルトの名無しさん :2010/01/30(土) 17:34:24
加速します。
779 :
デフォルトの名無しさん :2010/01/30(土) 17:36:09
780 :
デフォルトの名無しさん :2010/01/30(土) 17:43:31
ロケットをメモリ上に作ります。燃料(整数)を入力してください。
いつの間にここは質問初心者向けスレに戻ったんだ?
782 :
デフォルトの名無しさん :2010/01/30(土) 18:02:53
ゆとりって馬鹿だよね
@Statelessビーンの@PostConstructメソッドで、データベースを操作するにはどうしたらいいの? コンテナ管理だとUserTransactionは使えないみたいだし、テストデータをどう放り込んだらいいのやら。
自己解決。単一のEJBで頑張らずに@Singletonビーン経由でやることにした。
LuaJavaっていうLuaスクリプト・Java間バインダを試しているんですが、 Classクラス以外のインスタンスのメソッドは呼び出せますが、 Classクラスのインスタンスのメソッドを呼び出すとNullPointerException がおきる。(lua5.1.4 / java1.4.2) 転送処理のjavaコードを見る限り、「リフレクションを使ってLua側で 指定した名前のMethodを検索・呼び出し」みたいな処理になっている。 ただし、Classクラスインスタンスだけ例外的に処理している。 if (obj instanceof Class) { clazz = (Class) obj; } else { clazz = obj.getClass(); } //clazzより指定した名前でMethodを検索。 if (obj instanceof Class) { ret = method.invoke(null, objs); //** } else { ret = method.invoke(obj, objs); } おそらく(**)の場所ヌルポがおきていると思われますが、 何でこんな処理してるか想像つきますか? (過去のClassはstaticメソッドしかなかった?とか)
786 :
デフォルトの名無しさん :2010/01/30(土) 23:05:33
まずひとつ言えるのは 「指定した名前でMethodを検索」してるわけではない ということだ
787 :
785 :2010/01/30(土) 23:17:20
コメントの行で検索をおこない methodにそれを代入してるとの意味です
javaには正確な意味でのメタクラスはないからでしょ。 そのコードはSmalltalではこう書く。 | clazz | clazz := obj. clazz method: objs. 変数は無意味なので普通はこう書く。 obj method: objs. そういう話じゃなくて?
なんでそのバインディング書いた人に聞かないの?
790 :
デフォルトの名無しさん :2010/01/30(土) 23:46:42
>>787 何でそんな処理してるか想像つきますか?
私はそれを見てないので想像つきません
//clazzより指定した名前でMethodを検索。 ↑ ここのコードは?
792 :
785 :2010/01/31(日) 00:36:23
補足 やってること:luaからjavaを呼び出す lua側実体(l_obj)にはjavaの実体オブジェクト(型はObject、以後j_obj)が 関連ずいているとして、 Lua> l_obj:someMethod() とやったときl_objからj_objをたどって、java側で Java> Class clazz=j_obj.getClass() Java> foreach(method <- clazz.getMethods()) //疑似コード Java> if (method.getName() == "someMethod") break; Java> method.invoke(j_obj,objs); // objsは引数 ってなコードが走ります。 ただj_objがClassオブジェクトの時だけ例外的に扱ってる (>785のように)せいで、Classオブジェクトのメソッド だけうまく機能しません。例外を取っ払うと想定通り の挙動をするようです。
>>785 Classクラスのインスタンスについては、そのインスタンスが表現するク
ラスのstaticメソッドを呼ぶという仕様なんじゃない?
見た通り Class のインスタンスメソッドが呼び出されるのを想定していないだけだろ。 どうしてそうしたかなんて知らん。作者に聞け。
795 :
785 :2010/01/31(日) 10:32:42
>>793 ,794
もう少し詳しく追ってみましたがどうやらそのようです。
しかも単に処理共通化がもくてきでやってそうなので
なんとかなりそうです
お手数おかけしました
EE6のCDIって微妙に使い道が思い浮かばない。 4層アーキテクチャにはそれぞれ既に担当者が居るから、 実態はユーティリティビーンって感じになるのか? ローカルSLSBよりコストは安いらしいけど、 ユーザに@EJBか@Injectか使い分けさせるのも間違いの元じゃね?
ネットワークからデータを取得し、worker thread(?)にデータを渡したいのですが ・どうやって、動いているスレッドにデータを渡すか ・全てのデータを渡した時に、どうやってworker threadを止めればいいのか ・IOが遅く、IO待ちになった時worker threadをどう管理するか が、わかりません。何方かお力をお貸しください
キューをひとつ用意する ワーカースレッドはときどきキューを見て、データがあったら取り出して処理し、なければ寝る EOFのマークが付いてたら終了する I/Oスレッドは受信したデータをキューにいれ、そのときワーカースレッドが寝てたら起こす データが終わったらキューにEOFのマークを置く
799 :
797 :2010/01/31(日) 21:47:05
>>798 わかりやすい説明、ありがとうございます。
1つだけ質問があります
Queue#poll()のjavadocを見ると、戻り値の説明が↓になっています
>キューの先頭。キューが空の場合は null
javaにはEOFが無い(?)のでnullをEOFの代用にしようとしていたのですが、
何か良い方法はありませんか?
>>799 入れる型にもよるけど例えばbyte配列だったら長さゼロの new byte[0] をEOFの目印にするとか
キューと別のところにフラグを持ってもいいし
OCNは普通にやばいでしょw
final Object EOF_TAG = new Object(); こういうのでいいんじゃね?
>>801 そうか、Oracleに回収されたからか
jp.sun.comは今まで通りだったから、DNSが汚染されたのかなぁ〜と
806 :
800 :2010/01/31(日) 22:07:33
おまえの頭が汚染されてんじゃね?w
public static syncronizedとしたメソッドは、1つのJavaプロセス上で必ず1スレッドしか そのメソッドを実行できないのでしょうか?
>>808 基本的にはそれでいいけど、
厳密に言えば複数のスレッドから実行できる。
複数のClassLoader使って同じクラス読み込むと
各クラスローダ毎に別々のクラスの扱いになるから。
別々のクラスのsynchronizedメソッドは同時平行して実行可能。
>>809 なるほど、クラスローダが異なれば別クラスと扱うことができるんですね。
ありがとうございます。
もうひとつ、すみません。
複数のスレッドが同じクラスローダを使い、同時に同じクラスをロードした場合、
複数のクラスがロードされるのですか?
それとも、クラスのロードはスレッドセーフなのでしょうか。
public void removeContext(Context c) { synchronized(alreadyLoad) { Context load = alreadyLoad.get(c); if(load != null) { alreadyLoad.remove(load); //ここでreturn } else { //ここでreturn } } } 上のようなコードを書きました。 もしも、コメントの所でreturnしたら永遠に、alreadyLoadはブロックされた状態なのですか? voidは無視してください
>>810 複数のスレッドが同一のクラスローダにロードされたクラスであれば、
それらのスレッドからロードされるクラスも同一のクラスローダにロードされます。
一つのクラスローダに、同じFQNを持つクラスが複数ロードされることはありません。
>>811 synchronizedブロックを抜けた後もそのスレッドが
モニタロックを保持し続けることはありません。
synchronized static だとどのオブジェクトがロックオブジェクトになるわけ?
じゃstaticだし影響大きいでしょ 後々のためにモニターにちゃんと報告しないとダメだよな(OOP的に)
おまえは何を言っているんだ?
Servletのセッション変数についてなのですが セッション変数は通常メモリで管理されていると思いますが これをDBとかファイルで管理することは可能でしょうか? (自分で実装するという感じではなく)
Webアプリのクラスタリングは、通常セッション情報を複数のサーバで共有します。 セッション情報の共有はマルチキャストによる通信や、DBへの永続化によって行われます。 上記はアプリケーションサーバの機能によって実現されます。
819 :
デフォルトの名無しさん :2010/02/01(月) 10:38:23
JAVA厨うぜえから巣から出てくんなや
820 :
デフォルトの名無しさん :2010/02/01(月) 10:40:56
>>819 現実だけでは物足りず、2chでもいじめられたいのか?
821 :
デフォルトの名無しさん :2010/02/01(月) 10:58:20
>>820 しょうもねえ言語でイキってんじゃねーよ(プゲラ
無職はお引き取り下さい
価格コムみたいなWebAPIを使った際に結果がXMLなどで返ってきますが、 結果をデータクラスみたいな形に変換できないでしょうか? class Hoge { private String productId; public String getProductId() { return this.productId; } } みたいなソースを自動生成できればと思っています。
xmlからdomでデータ取り出す
825 :
デフォルトの名無しさん :2010/02/01(月) 13:44:58
違った digesterでxmlからJavaクラスにデータを込める
JAXBてxml to javaはできないの? て、ソース吐くのか
などど意味不明なことをわめいており
828 :
デフォルトの名無しさん :2010/02/01(月) 17:45:33
ニート笑
昨日javaを始めたプログラム歴のない24歳ニートです 図書館で参考書を借りてきてそれに沿って 簡単なプログラム(ウィンドウ表示して文字付ボタンつけて場合分け程度)は作れたのですが 構文(?)のようなものの仕組みがよく分かりません コマンドは必ず一定の形式で書かなければならないのでしょうか? もしそうだとすると書き方というのは覚えなければならないのでしょうか? 教えてください><
>>829 プログラムなんて基本的に書き方覚えないと書けないでしょう
googleで検索しまくって勉強しまっし
>>830 分かりました・・・ありがとうございました><
真面目に暗記なんて大学の卒業試験以来だお・・・無茶すぎるお
>>831 KIAIだねえ
eclipseとか開発環境使ってる?
あれはちょっと書いてCTRL+スペースで補完が働くから
うろ覚えでも書けるようになるよ
833 :
デフォルトの名無しさん :2010/02/01(月) 18:24:11
糞言語(笑)
834 :
デフォルトの名無しさん :2010/02/01(月) 18:28:38
ていうか ゆとり乙
>>832 本当ですか!?ありがとうございます!
ちなみに皆さんのオヌヌヌのライティングソフトってありますか?><
メモ帳だと整理しづらくて・・・
836 :
デフォルトの名無しさん :2010/02/01(月) 19:15:38
ゆとり ウザイ(><)
現在40歳未満の者を「ゆとり」世代といいます
昭和生まれは老人
今ある最新のjavaは18ですが、旧バージョンの17はどこでインストールできるんでしょうか?
840 :
デフォルトの名無しさん :2010/02/01(月) 19:37:04
ニート街道まっしぐら!!
例外処理でExceptionでキャッチしてinstance ofで例外の種類を見て そのあと例外処理を分類するのってやっちゃだめ?
ダメってことはないが、catchがやってくれることを何故自分でやるの?
844 :
811 :2010/02/01(月) 20:13:28
昭和生まれは加齢臭が酷い
>>837 おいおい、共通一次5教科7科目世代もゆとりにはいるのか?
>>841 情報ありがとうございます
ダウンロードしてインストールしようとしたら、カスタムセットアップみたいなのが
出てきたんですが、どうしたら良いんでしょうか?
昭和生まれは脂ぎってる
荒らすなゆとり
852 :
デフォルトの名無しさん :2010/02/01(月) 21:40:37
ゆとりは一昔前の日本人よりも英語オンチ
昭和生まれが息が臭い
854 :
デフォルトの名無しさん :2010/02/01(月) 21:47:25
855 :
デフォルトの名無しさん :2010/02/01(月) 21:54:42
ゆとりの英語力は江戸時代レベル
JUnit4で TestSuite A TestSuite A1 TestCase A1-1 TestCase A1-2 ... -TestSuite A2 ... このように、テストスイートにスイートを追加してテストを構成しています。 ここで、TestCaseA1-1でfail()させると、TestSuite Aが失敗したとなり、以降のA1-2....A2-...を実行せずに終了してしまいます。 これをTestCase A1-1だけの失敗で終わらせる方法はあるのでしょうか? または、その他の代替手段があれば教えてください。
すみません。インデント効いてなかった上に、完全に勘違いでした。
平成生まれが昭和生まれをどうこう言うのは仕方ないな 俺だって昭和生まれだが ヘイセイジャンプ?平成生まれのAV女優?石川りょう?ゆとり乙って思ってるしな
antでshemagen.exeを使いたいんですが、 引数がわからないので教えてください。 たぶん以下のような形になると思うんですが、 詳細がwebで調べてもなかなかでてこないもので…… <exec executable="schemagen"> ####<arg path="-classpath JAVA_HOME\bin\tool.jar"/> ####<arg file="input.java"/> ####<arg file="output.xsd"/> </exec>
860 :
デフォルトの名無しさん :2010/02/02(火) 08:21:27
Javaは終了、時代遅れの過去の技術( ´,_ゝ`)
<property environment="env" /> <exec dir="." executable="${env.JAVA_HOME}/bin/xjc.exe"> ... </exec>
配列型のプロパティに対して、さまざまな場面でcloneすべきか、っていう定石みたいなもんてありますでしょうか。 class Hoge { int[] values; // A public int[] getValues() { ... } // B public void setValues(int[] a) { ... } // C, D, E }; みたいなクラスがあるとき、 A: オブジェクトがフィールド値として保持する配列。 B: getterの戻り値となる配列。 C: setterの引数として渡される配列。 D: PropertyChangeEvent の oldValue E: PropertyChangeEvent の newValue の5つの場面で配列が出てきます。 ・すべて、cloneした独立の配列。 ・すべて、cloneしない。 ・C→A、A→Bだけclone。 などなど。すべてcloneするのが隠蔽の観点からはいいんでしょうけど、cloneのコストも気になります。 sunのコーディングガイドでこうなってる、とかeffective javaでこうなってる、みたいなのありますでしょうか。
>>862 Effective Javaの方針で言えば
・そのクラスの使用者は不変条件を破壊するために徹底的した努力をする、
と仮定して防衛的にプログラムしたほうがいいよ
・速いプログラムよりも良いプログラムを書くようにしようよ
だから、全部 clone 推奨っぽ。
最適化必要なら配列でやりとりせずに添え字でアクセスさせるメソッド作ってもいいわけだし。
864 :
862 :2010/02/02(火) 13:07:58
ありがとうございます。 やっぱ、全cloneですか。 >cloneのコストも気になります。 cloneのコストじゃなくて、cloneした結果、PropertyChangeEvent発火前とかの等価チェックが常に 配列比較になるのが気になったのを思い出しました。 cloneせずに使いまわすなら、参照比較で済むところもでてくるんでしょうけど。
865 :
デフォルトの名無しさん :2010/02/02(火) 16:33:34
てst
866 :
デフォルトの名無しさん :2010/02/02(火) 20:10:18
配列だけに限らないと思うけど。 おれならC→A、A→Bはクローンしないけどな。 setter、getterはごちゃごちゃ操作すると混乱する。 各フレームワークから勝手に使われたりするし、 他の開発者もそこでクローンされる認識をしないんじゃないか?
サブスレッドからメインスレッドのメソッドを呼び出すには どうすればよいですか?
クローンすると混乱するって==で比較しようとして失敗するぐらいしか思いつかんけど 他になんかある?
>>862 cloneするのは隠蔽のためでなく整合性のため。
Hogeクラスがどのような責務を持たせているかによって
どうするかが決まる
870 :
デフォルトの名無しさん :2010/02/02(火) 20:54:41
>>868 getやらsetして値を変えた時にHogeの中が変わってない
>>869 の言うとおり、Hogeクラスの責務次第だろうけど。
あっそ!
>>870 setter,getter経由の参照弄ってプロパティの値が変更される事を期待するのも相当アレだと思うが
webアプリの話はここでいいのかな。 サーブレット/JSPを配置する場合みなさんどうやってますかね。 業務ツールのようなJSPの更新があまり無いものならwarでdeploy一発でしょうが、 JSPを頻繁に更新する場合もやっぱりwarに固めて更新してます?
warでデプロイして展開させればよい。 緊急でJSP差し替えたければ上書き。
875 :
デフォルトの名無しさん :2010/02/02(火) 21:39:34
JSPを頻繁に更新するというのがなんともだな。 tomcatならwarにしなくてもいけるから、 ディレクトリでデプロイするという手も。
頻繁に更新するようなのはPHPで作った方がいいよ
>>874 ,875
やはりそうなりますか・・
更新はデザイナさんがやっており、
新着情報的な物はDB設定で出せるのですが、
それでもJSPの更新・追加が週に1,2回あります。
WEB-INFを書き換えられないヒヤヒヤしてます。
>>877 ×WEB-INFを書き換えられないヒヤヒヤしてます。
○WEB-INFを書き換えられないかヒヤヒヤしてます。
879 :
873 :2010/02/02(火) 21:56:35
>>876 PHPは今回のようなページなら最適だと思います。
ただ、今回は周辺システムとの兼ね合いで・・
ASP.NETでもいいよ
>>877 subversionとかのリビジョン管理使って後はantで自動化するようにすればそんなにヒヤヒヤしないと思う
warでデプロイしてもディレクトリでデプロイしても手間そんなに変わらないから
882 :
デフォルトの名無しさん :2010/02/02(火) 22:39:22
883 :
デフォルトの名無しさん :2010/02/02(火) 22:54:46
>>882 青い枠が4つあるだろ?
1つ目の青い枠の
class HTMLDocument
の部分が1つ目の省略部分
3つ目の青い枠の
class HTML32Document extends HTMLDocument
の部分が2つ目の省略部分
>>882 Javaに向いてないんじゃないの?
もっと簡単な言語もあるし、基礎といわれているC言語から始めたほうがいいんじゃないのか。
885 :
デフォルトの名無しさん :2010/02/02(火) 23:02:58
>>883 それやってみたんだが何故かエラーが出るんだわ
文字リテラルが閉じられていないだとか式の開始が不正だとか
なんなのこれ?俺がダメなの?
886 :
デフォルトの名無しさん :2010/02/02(火) 23:05:25
>>885 向いてないも何も習った事ないし基礎もなんもないこともわかってるんだけどこの課題だけは出さないとダメなんだよね
完全にこの授業をとった俺のミス全てあんたのゆうとうりだよ
ソフトウェア開発は好きな人間だけがやるべきってのが 俺の持論
888 :
デフォルトの名無しさん :2010/02/02(火) 23:10:51
>>885 間違いなくお前がダメ
文字列リテラルが閉じられてないのと、
式の開始が不正なのが原因。
エラーと言われた部分、
全部ここにはりつけろ。
4つ目の青い枠の
doc32.source =
の部分はちゃんと一行にするんだぞ。
b =
の後ろで改行してないだろうな。
低能が混乱してるな・・・
890 :
デフォルトの名無しさん :2010/02/02(火) 23:17:01
>888 ありがとう恩人ホントにこんなに感謝したことないわこれで卒業出来そう ホントありがとうです
891 :
デフォルトの名無しさん :2010/02/02(火) 23:40:05
だめだこりゃ
なんか臭いと思ったら昭和生まれがいる
なんにせよ良かったな。
897 :
デフォルトの名無しさん :2010/02/03(水) 06:03:30
>>896 NetBeansだとなにが簡単にできるの?
手元でJSPを直すとサーバに置いてあるwarにも反映してくれるの?
もう時代は平成なのになw
こんにちは。 これまで2、3年ほどDelphiを使って開発の仕事をしていましたが、 今後の事を踏まえてJavaを勉強しようと思います。 Delphiも実地で覚えた付け焼刃ですが、これからJavaを始めるにあたって 何から始めればよいか、先輩方のご意見を聞きたいです。 良い書籍、サイトなどもありましたらご教授頂けるでしょうか。
900 :
デフォルトの名無しさん :2010/02/03(水) 14:54:21
>>900 嫌です!
他の方、ご教授頂けるでしょうか。
ハ,,ハ
( ゚ω゚ )
>>901 お断りします
_(__つ/ ̄ ̄ ̄/_
\/ /
904 :
デフォルトの名無しさん :2010/02/03(水) 15:39:20
905 :
899 :2010/02/03(水) 16:58:30
/⌒ヽ (ヽ´ω`) )) /つ( ̄`ヽO_ノ⌒ヽ ノ )# # \ )) レ \ヽ :: ノ:::: ) 丿 キ □ ,:' )) (( (___,,.;:-−''"´``'‐' /⌒ヽ (ヽ´ω`) ねるぽ / _ノ⌒⌒⌒`〜、_ ε( ̄⊂人 //⌒ キ ノ #ヽ) ⊂ニニニニニニニニニニニニニニ⊃
JavaよりC#のが有望だよ
ruby>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>java
はいはいC#有望有望。 はいはいruby最強最強。
分かればよい。下がってよいぞ
馬鹿はなにつかっても一緒
911 :
デフォルトの名無しさん :2010/02/03(水) 19:11:07
言えてる(笑
>>899 ですが、
>>901 も
>>905 も俺じゃないですww
>>900 ,904さんすいませんでした
良いスレ発見!と思って勢いあまって書いてしまった...
wiki、
>>1 にありましたね、失礼しました…
とりあえずwiki読んできます。ありがとうでした。
913 :
デフォルトの名無しさん :2010/02/03(水) 19:27:42
何を作りたいかによるけど、winならmsのノウハウを活かせるからdotnet(c#,vb)の方がいいと思うよ。 別にjavaのデスクトップアプリでもswingとかjavafxとかあるしmsの意味不明なテクノロジーなんかより分かりやすいんだけど、msの環境(ていうかwindows pc)しか知らないんでしょ。
そういや少し前にシーサーの開発者がRubyに嫉妬しまくってRuby本叩いてた記事を見たなぁ 何とも憐れだった
>>897 もちろん。IDEに最低限必要な機能ですよね。
916 :
デフォルトの名無しさん :2010/02/03(水) 19:46:57
rubyはグダグダだからjrubyの方がいいって話しだけど…
919 :
912 :2010/02/04(木) 08:52:42
/⌒ヽ (ヽ´ω`) )) /つ( ̄`ヽO_ノ⌒ヽ ノ )# # \ )) レ \ヽ :: ノ:::: ) 丿 キ □ ,:' )) (( (___,,.;:-−''"´``'‐' /⌒ヽ (ヽ´ω`) ねるぽ / _ノ⌒⌒⌒`〜、_ ε( ̄⊂人 //⌒ キ ノ #ヽ) ⊂ニニニニニニニニニニニニニニ⊃
920 :
デフォルトの名無しさん :2010/02/04(木) 16:55:28
java.util.regex.Pattern の生成方法を、 Pattern hoge = new Pattern( "正規表現文字列" ); ではなく、 Pattern hoge = new Pattern.compile( "正規表現文字列" ); としなければならなかった理由は何でしょう?
さぁ? 「コンパイルするから時間かかるんだぞ」っていうことを強調したかったのかもしれない
Socketの質問です。 Client側: NICが2枚刺さっている。それぞれ 192.168.0.100と192.168.0.150のIPアドレスを持っているとする。 ※これが意味が無いだろ、ってのはおいといて。 ServerSocket側: port30000でacceptしてある。 このマシンのIPは192.168.0.1とする。 Clientからconnectするとき、 new Socket("192.168.0.1", 30000); とすれば繋がるが、この時ClientはどっちのNICを使うか選びたいのです。 ほっとけばhostsだったりルーティングだったりからデフォルトが選ばれてるんじゃないかと思ってます。 ClientSocketでもbind()すればよいのかと思いきや、 bind()にはportもいるから、どうしたものか? ClientのportはServerSocketに振ってもらいたいから、Client側で指定したくないんです。 つまり Socket s = new Socket("192.168.0.1", 30000); if (hoge) s.bind("192.168.0.100", xxx); else s.bind("192.168.0.150", xxx); のようにしたいのですが、xxxはClientでは指定したくないんです。 どんな手があるでしょうか?
試してないけど、ポート0を指定したらいけるんじゃない? InetSocketAddressのコンストラクタの説明には > 有効なポート番号は 0 から 65535 の範囲です。ポート番号が 0 の場合は、 > bind 操作で一時的なポートが選択されます。 って書いてありますよ
>>920 >Pattern hoge = new Pattern.compile( "正規表現文字列" );
Pattern hoge = Pattern.compile( "正規表現文字列" );
だろ?
>>920 最適化の余地を残したんじゃねーの?
newを使うと自分自身をキャッシュできないしな。
Scriptingがテキスト処理に活用されはじめたら、
もしかすると内部はストラテジパターンに変わるかも。
>>920 最適化の余地を残したんじゃねーの?
newを使うと自分自身をキャッシュできないしな。
Scriptingがテキスト処理に活用されはじめたら、
もしかすると内部はストラテジパターンに変わるかも。
ん?
なに?
>>922 NICのネットワークアドレスが同じだが大丈夫ですか?
一体何をやりたいんだ?
>>929 /25なのかもしれない
まあ、考え方自体がいろいろ間違っているが
Socket socket = new Socket(); socket.bind(new InetSocketAddress("192.168.0.100", 0)); socket.connect(new InetSocketAddress("192.168.101.1", 30000));
>>920 >>924 にもあるけど、
> Pattern hoge = new Pattern.compile( "正規表現文字列" );
と比較したいの?それともこれ?
Pattern hoge = Pattern.compile( "正規表現文字列" );
コンストラクタじゃ大した処理書けねーってだけだろ 馬鹿じゃねーの
バカはおまえだ
おれがバカだ
俺はバカじゃない
バカのはか
どうぞどうぞ
─┬─┴─┤ ─┴─┬─┤ ─┬─┴─┤ ─┴─┬─┤ウズウズ・・・・ ─┬─┴─┤_ _ _,.-- 、 ─┴─┬─┤ `Y´ \てヽ \ ─┬─┴─┤ ΛΛ ヽ ヽ丿 ヽ ─┴─┬─┤/´`´゙ヽ ヽ ', ─┬─┴─┤_ _| || | | ─┴─┬─┤ |ノl/| | | ─┬─┴─┤ ○ | || ─┴─┬─┤ ///|/j/ l | ─┬─┴─┤ ̄ ̄ ̄| |l| | ─┴─┬─┤ | ,ハ| |l l ─┬─┴─┤ ...___ノ ,.イ | |||ノ ─┴─┬─┤―‐r‐i< | l | /ノ,ノ ─┬─┴─┤\Λ,イ :::l`| l |'´ ─┴─┬─┤\{__}/:::(_) | l |
944 :
899 :2010/02/05(金) 16:32:45
JAVA厨さっさと自殺しろマジで。この世から消えてしまえ
ハ,,ハ
( ゚ω゚ )
>>944 お断りします
_(__つ/ ̄ ̄ ̄/_
\/ /
946 :
899 :2010/02/05(金) 16:38:55
精子ピュッピュ!
947 :
デフォルトの名無しさん :2010/02/05(金) 16:58:34
うちの会社を見るとjavascriptエスキパートはすごく重宝されてる。 仕様書を一から読み直したりブラウザ間の動作の違いとかprototypeやjquery等のライブラリの内部実装の理解、javascript2.0の機能、 そういうのをちゃんと勉強してる奴ってあまりいないからね。
釣り針大きすぎんじゃねえの さすがに
エスキパート の検索結果 約 276 件中 1 - 10 件目 (0.19 秒)
エキスパート の検索結果 約 4,520,000 件中 1 - 10 件目 (0.11 秒) 61.06ppm。多いと見るか少ないと見るか
来るべき近未来、 人類は第三のエネルギー革命「シズマドライブ」の発明によって かつてない繁栄の時を迎えていた だがその輝かしい平和の影で激しくぶつかり合う二つの力があった
952 :
デフォルトの名無しさん :2010/02/05(金) 20:19:21
Javaプログラムをexeにはできないんですか。ソースコードをみられたくないんですが!
JETを使えば? それが無理ならProGuardとかで難読化で我慢かなぁ。
955 :
デフォルトの名無しさん :2010/02/05(金) 20:59:45
javaをexeにするのと、 ソースコードを見られないのとは別問題。 ソース見られたら困る問題でもあるん?
だって恥ずかしいんだもん・・
恥ずかしいソフトのコードなんて見る気にもならねーよ。
私の恥ずかしいソース売ります
JSmoothでラップしたexeからsrc取り出せます?
960 :
デフォルトの名無しさん :2010/02/05(金) 23:11:45
exeのもとのjarの中にsrcが入ってれば取り出せるだろうけど。 まあ、普通ははいってないわな。
jarにソースが含まれていなくてもclassファイルの逆コンパイルはかなりの精度で行えるため、含まれているようなもの。 説明するまでも無いと思うけれど、念のためね。
962 :
デフォルトの名無しさん :2010/02/05(金) 23:18:41
web.xmlってこういう風に書いて大丈夫でしょうか? <web-app> <servlet> <servlet-name>Test1</servlet-name> <servlet-class>Test1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test1</servlet-name> <url-pattern>/Test1</url-pattern> </servlet-mapping> <servlet> <servlet-name>Test2</servlet-name> <servlet-class>Test2</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test2</servlet-name> <url-pattern>/Test2</url-pattern> </servlet-mapping> </web-app>
たぶん
<servlet>タグの存在価値が昔からよくわからんかった。今もだが。 <servlet-mapping>だけでいいじゃんとか誰もが思ったはずだ。
965 :
デフォルトの名無しさん :2010/02/05(金) 23:35:11
Javaというか基本的な算数の話になっちゃうと思うんですが、 GMT+1 のタイムゾーンの現地時間って 通常は東京時間から8時間引いて サマータイムだと7時間引くっていう計算でいいんでしょうか?
いいですよ
パズル的にはあってるが、何が”通常”なのかが分からない。 システム的にはUTC(≒GMT)を基準にしてるわけだし。挙げ足でしかないけど。
968 :
デフォルトの名無しさん :2010/02/05(金) 23:48:34
>966 >967ありがとうございます。 通常=サマータイム以外(冬時間?)のつもりだったんですが・・・ ごめんなさい。
ここのおかげでようやく日本語ドキュメントを手に入れた 探しまくっても手に入らなくて困っていたけど 久々に心のそこから2ちゃんに感謝しました みなさまありがとう
970 :
デフォルトの名無しさん :2010/02/06(土) 08:16:24
public static void xxx(PrintWriter pw){ ・・・ pw.println(・・・); ・・・ } こんなメソッドなんですが、 このメソッドが動いたときにできる文章をファイルに出力する場合どうしたらいいんでしょうか?
971 :
デフォルトの名無しさん :2010/02/06(土) 08:24:06
HttpURLConnectionを使ってネットと通信してるのですが、 3万回くらい接続すると1回くらい(3日に1回くらい) IOException: Connection refused: connect が返されます。 これの原因を予想できませんか?
972 :
デフォルトの名無しさん :2010/02/06(土) 08:44:43
>>971 サーバ側の接続数オーバー?
もしくは、ネットワークの調子が悪いとか?
サーバ側のログは見れないの?
973 :
デフォルトの名無しさん :2010/02/06(土) 08:45:47
>>970 PrintWriterってのはファイルを出力しようとしてるのか?
closeしてないとかってオチか?
いっそのことプログラム全部はってくれ。
974 :
デフォルトの名無しさん :2010/02/06(土) 09:05:52
975 :
デフォルトの名無しさん :2010/02/06(土) 09:13:29
>>974 出力先を変えずにファイルにも出力するってことだよな?
じゃ、statInfoメソッドで、
pw.printlnに一行ずつ出力せずに、
いったん文字列を作成しておいて、
ファイル出力してから、
pw.printlnすればいいんじゃね?
976 :
デフォルトの名無しさん :2010/02/06(土) 09:38:54
>>975 出力先を画面ではなく、ファイルにだけpw.printlnの内容を出力するようにしたいです。
977 :
デフォルトの名無しさん :2010/02/06(土) 09:48:55
>>976 ならこれで。
public clientProc(Socket s) throws IOException {
this.s = s;
in = new BufferedReader(new InputStreamReader(
s.getInputStream()));
// out = new PrintWriter(s.getOutputStream());
out = new PrintWriter(new BufferedWriter(new FileWriter("出力したいファイル名")));
}
978 :
デフォルトの名無しさん :2010/02/06(土) 10:04:45
979 :
899 :2010/02/06(土) 14:01:42
もうええわ。ほな
980 :
971 :2010/02/06(土) 14:11:11
>>972 すいません、間違えました。
約10秒一回ペースで通信して2000回に一回くらいIOExceptionが発生します。
ログが見れればいいんですが、残念ながらログは見れません。
サーバの backlog がいっぱい。 ルーターのキャパシティがいっぱい。 ファイアウォールに攻撃認定された。
>>980 なんにせよConnection Refusedならサーバー側の問題じゃね?
クライアントに問題あるかどうか知りたいなら、
同じプログラムでURL変えて別のとこつっついてみたら?
読書感想文はもう結構 お前自身がどういった問題に直面し、どのように考え、どうやって解決したのかを語ってみろ
984 :
デフォルトの名無しさん :2010/02/07(日) 01:11:37
どこのなにが感想文だって?w
画像を大きくするとき、 img.getHeightに値を掛けると拡大するんだけど、 内部処理はどうなっているかわかりますか? 線形補間とかが勝手に行われるんですか?
>>980 パフォーマンスや可用性にシビアなシステムじゃなきゃ、
そのぐらいのエラーは、処理上は何回かリトライして繋がれば
それでよし、で済ましてしまうのが一般的だと思う。
どうしても原因が追求したければ、とりあえず、
近場のマシン(設定が好き勝手できて、通信経路も自分で掌握できるマシン)
でサーバー立てて、そこで再現するか調べるべき。
それで再現しないなら、通信経路の問題で、多分 java の知識だけでは
どうにもならない。
>>985 線形補間とかしないでスケーリングはできない。
スカスカの離散dotならできるが、スケーリングとは言わないよな。
abstractだから内部処理はプラットフォーム実装によるんだろう。
>>965 Javaの中で処理しようとしてるなら、そういう余計な計算するよりも、日時関係のAPIに現地に対応したLocale情報渡した方がいいんじゃね?
>>985 Graphics2D で画像を拡大して描画することを言っているのなら、
RenderingHints で補間の種類を指定できる。
デフォルト値は実装依存(?)
その辺のapiが存在するかを調べる手段が無いし、任せても、表示が間違ってれば、プログラマに苦情は来るだろうな。 設定が間違ってるとか、機能が無いとかまでサジェスチョンしてやるべき?
コンストラクタ = 初期化(リセット)ってことでしょうか? 今シューティングゲームのソース見てるんですが スコアはリセットメソッドを作りそこで初期化してるようです。 コンストラクタになぜ入れないんですか?
コンストラクタはオブジェクトが生成されるときの初期化のためのメソッド リセットしつつ使い回す必要があるなら初期化用のメソッド作るんじゃない
誰か新スレを立ててくれ
>>991 一般的には、
コンストラクタ=作成(インスタンスの生成)
です。
標準APIのドキュメントの日本語版でも、コンストラクタの説明は、
「○○(クラス名)を作成します」のようになっています。
ついでに初期化も行うことが多いですが、必ずしも初期化を行うとは限りません。
ゲームのスコアなどについて考えると、コンティニューを行う場合など、
値だけ初期化されればよくてインスタンスを作り直す必要がないので、
そのようになっているのだろうと思います。(ほかにも理由はあるかもしれませんが)
コンストラクタはメモリのアロケーションおよび初期化を行います。 初期化コードを書かない場合は、デフォルトで0, 0.0, nullなどで初期化されます。 そのゲームプログラムでリセットメソッドを使っているのは メモリアロケーションのコストを嫌ってのものかと思われます。 ゲームでは例えば60fpsなら1フレームあたり16ミリ秒以内に描画を含めた全ての処理を 終える必要があるため、メモリアロケーションは大きなコストとなります。 また、中途半端に寿命の長いオブジェクトを残すとガーベッジコレクションが働くため、 最後まで使い回すオブジェクトと1フレーム内で破棄するオブジェクトの仕分けが重要となります。
>>991-995 コンストラクタ=初期化の方が正しい。(リセットではないが)
オブジェクトの生成(メモリ割り当て)はnew演算子の、つまり言語の機能。
new演算子によって、(メモリ割り当て後に)初期化処理であるコンストラクタが呼び出される。
>>997 new演算子がなくてもメモリの割り当てはできるんだが・・・
ええっ、知らない。ファクトリとか言わないよねもちろん。
答えはCMの後
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。