【初心者】Java質問・相談スレッド114【歓迎】at TECH
【初心者】Java質問・相談スレッド114【歓迎】 - 暇つぶし2ch921:デフォルトの名無しさん
08/05/09 13:27:28
>>920
SimpleDateFormatでパースして、得られたDateを
Date#getTimeして、Timestampのコンストラクタに与えたらどうだろうか。

922:900
08/05/09 14:36:32
>>901
レスどうもありがとうございます。

URLリンク(java.sun.com)
の P14 には、

URLリンク(java.sun.com)
において Server VM が選択された場合はデフォルトで Parallel Collector が使われ、
それ以外のケースは Serial Collector がデフォルトになるとありました。

923:920
08/05/09 14:45:09
>>921
それで行けました!ありがとうございます!

924:デフォルトの名無しさん
08/05/09 14:51:06
>>919
FileDialogというかDialogやWindowに関しては1.4ではshowは非推奨メソッドではない。
deprecatedになってsetVisibleを使用しろとされたのは1.5から。
Componentは1.1からshowは非推奨だったので、
非推奨になるのが遅かったのはトップレベルウインドウ特有の何か事情があったんじゃないかと思う。

925:915
08/05/09 17:15:00
>>917,919,924
レスありがとうございます。
getFileをgetDirectoryにしてみたり、showをsetVisibleにしてみたりしましたがやはりだめなようです。
ファイルの保存自体はできているのですが・・・・・・、なぜなんでしょうかね・・・


926:デフォルトの名無しさん
08/05/09 17:31:31
>>925
File file = new File(fd.getDirectory(), fd.getFile());
fos = new FileOutputStream(file);

927:デフォルトの名無しさん
08/05/09 17:33:55
>>925
FileDialogやめてJFileChooser使ってみれば?

928:デフォルトの名無しさん
08/05/09 17:53:06
プログラムを動かすとブラウザでホームページを表示できるようにしたいんですけど、どんな感じで書けばいいですか?誰かお願いします!

929:デフォルトの名無しさん
08/05/09 17:55:20
Desktop クラス使え

930:デフォルトの名無しさん
08/05/09 17:59:43
>>928
java.awt.Desktop.getDesktop().browse(new java.net.URI("URLリンク(www.google.co.jp)"));

931:デフォルトの名無しさん
08/05/09 19:09:47
>>929
>>930
ありがとうございますm(_ _)m

932:デフォルトの名無しさん
08/05/09 23:31:12
<T> XXX<T> hoge(XXX<T> xxx){...}

という関数があったときに、返り値の型の
<T> XXX<T>

はどういう意味があるのでしょう?

933:デフォルトの名無しさん
08/05/09 23:34:56
Tという名前の型引数を使いますよ

934:デフォルトの名無しさん
08/05/09 23:41:23
>>933
Tの型は、
hoge(new XXX<YYY>());
と書いたときに決まっているのでは?

<T> XXX<T> hoge(XXX<T> xxx){...}
と、
XXX<T> hoge(XXX<T> xxx){...}
が同じということでしょうか?

935:デフォルトの名無しさん
08/05/09 23:47:29
ジェネリクスは型だけじゃなくてメソッドでも使えるんだよ

936:デフォルトの名無しさん
08/05/09 23:52:36
template<typename T> XXX<T> hoge(XXX<T> xxx){...}
ということですか、納得です。

ありがとうございました。

937:デフォルトの名無しさん
08/05/10 00:00:33
うむ
精進しろよ

938:デフォルトの名無しさん
08/05/10 00:05:07
そんな感じ
C++の化け物テンプレートほどの威力は無いが・・・・

939:デフォルトの名無しさん
08/05/10 00:07:49
っていうか並べて比べるのもおこがましい程度

940:デフォルトの名無しさん
08/05/10 00:20:44
そもそも比較すること自体が間違ってる。

941:デフォルトの名無しさん
08/05/10 00:24:56
templateはわかめみたいにふえていくからなあ

942:デフォルトの名無しさん
08/05/10 01:08:02
>>934
ごめん
その方法で生成した任意の型の出力が可能ってことでいいのかな

943:デフォルトの名無しさん
08/05/10 09:16:29
テンプレートパターンというのを知らない池沼がいるから困るwwww

944:デフォルトの名無しさん
08/05/10 09:20:46
久しぶり

945:デフォルトの名無しさん
08/05/10 10:13:22
今からでもランタイムサポートできないのかな

946:デフォルトの名無しさん
08/05/10 10:26:18
やりたきゃ自分でVMを実装するんだな
言語名はJava++ みたいな感じでwww

947:デフォルトの名無しさん
08/05/10 10:51:58
ジェネリクスがキャスト挿入のシンタックスシュガーだというのは
実装次第じゃなくて言語仕様で決まってることなの?

948:デフォルトの名無しさん
08/05/10 10:58:08
決まってる。

949:デフォルトの名無しさん
08/05/10 11:13:24
URLリンク(www.objectclub.jp)
ここの「JavaへのGenerics導入の方針」参照。


950:デフォルトの名無しさん
08/05/10 11:17:50
java7っていつ出るの?

951:デフォルトの名無しさん
08/05/10 11:19:20
来年。(予定は未定)

952:デフォルトの名無しさん
08/05/10 11:25:58
もうjava5以前のクソ仕様な部分はすべて後方互換性無視して
作り替えて欲しい。java5以降は神だが、それ以前はめちゃくちゃ。

953:デフォルトの名無しさん
08/05/10 11:49:15
import java.security.SecurityException;
import java.io.IOException;
import java.io.File;
public class Sample{
public static void main(String[] args){
File f = new File("c:/test.txt");
try{
if(f.exeists()){
System.out.println("ファイルは存在します。");
if(f.canRead()){
System.out.println("ファイルは存在し、かつ、ファイルは読込めます。");
if(f.setReadOnly(){
System.out.println("ファイルを読取専用にしました。");
if(f.delete()==false){
System.out.println("ファイルを削除できません。");
}else{ System.out.println("ファイルを削除しました。"); }
}else{ System.out.println("ファイルを読取専用にできません。"); }
}else{ System.out.println("ファイルは読込めません。"); }
}else{ System.out.println("ファイルは存在しません。"); }
}catch(IOException e){ System.out.println(e);
}catch(SecurityException e){ System.out.println(e);
}
}
}


954:デフォルトの名無しさん
08/05/10 11:50:07
ファイル操作関連で、2点質問があります。
使用OSは、Windows xp Pro SP2で、c:/test.txtを作成後、上記プログラム実行時、ファイルを削除できないようにしたいですが、どうもうまくいきません。
ファイル作成時、ファイルのプロパティで、読み取り専用チェックボックスにチェックを入れてみた後、削除ができてしまうのも、なぜなのか、ちょっとわからないです。
読取専用なのに、削除ができることが、おかしいと思うのですが、ちがいますか。
Windowsの場合は、どうやったら、削除できなくすることができるのでしょうか。
それと、ファイルの読込み権限について教えてほしいです。
ファイルは存在し、かつ、フィルが読込めない時(権限がない場合)、プログラム実行時、ファイルが読込めないようにするには、どうすればよいでしょうか。
よろしくおねがいします。

955:デフォルトの名無しさん
08/05/10 12:02:16
>>950
JavaOne2008の時点では来年夏予定。

956:デフォルトの名無しさん
08/05/10 12:08:53
ファイルに対する読み取り専用ってのは、
(ファイルを存在させたままで)内容を変えることが出来ないということ。


957:デフォルトの名無しさん
08/05/10 12:19:00
>>954
それ、Javaの質問なんか?

958:915
08/05/10 13:47:35
>>926
できました!ありがとうございます。
Fileクラスというのを使えば良かったのですね。
ちゃんと指定した場所に保存する事が出来ました。
どうもお騒がせしてすみませんでした。

959:デフォルトの名無しさん
08/05/10 20:01:14
画像データを byte配列に持ってて、ある位置に○を描画したり、
他画像を貼り付けたりするのってどうやるのでしょうか。。。

960:デフォルトの名無しさん
08/05/10 21:05:08
byte配列を画像データに展開して、○を描画したり他画像を貼り付けてから、byte配列に戻す

961:デフォルトの名無しさん
08/05/10 21:35:45
>959
1.画像データを読み込んで表示するプログラムの作り方を覚える
2.○とか簡単な図形を表示するプログラムの(ry
3.表示した画像と図形を画像データに変換するプログラムの(ry

962:デフォルトの名無しさん
08/05/10 23:13:17
>>960-961
トンクスです!
なんとなく、何から始めればよいか分かった気がします!

963:962
08/05/10 23:41:42
簡単な例ですが出来ました!

BufferedImage srcImage = ImageIO.read(new File("src.gif"));
Graphics2D graph = readImage.createGraphics();
graph.setPaint(Color.BLACK);
graph.draw(new Ellipse2D.Double(100 100, 100 , 100));
ImageIO.write(srcImage, "gif", new File(workdir + "dest.gif"));

964:デフォルトの名無しさん
08/05/11 00:01:19
こんにちは。以下のソースをコンパイルすると、”Test.java の操作は、未チェックまたは安全ではありません。 注:詳細については, -Xlint:unchecked オプションを指定して再コンパイルして下さい。”
という警告(無検査キャスト)がでるのですが、ソースを書き換えて警告が出ないようにする方法はないのでしょうか?
javac -source 1.4でコンパイルするか、@SuppressWarnings("unchecked") を頭に付けると出なくはなるのですが…。

public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{
req.setCharacterEncoding("Windows-31J");
int index = Integer.parseInt(req.getParameter("test"));
res.setContentType("text/html;charset=Windows-31J");
PrintWriter pw = res.getWriter();

//この辺でhtmlの前半生成・この直後まで削ると警告は出ない

HttpSession session = req.getSession();
ArrayList<String> list = (ArrayList<String>)session.getAttribute("testArray");

//これ以降を削っても警告が出る
if(list == null){
list = new ArrayList<String>();
}
list.add(testValues[index]); //testValues[]はインスタンス変数で宣言済み
//この辺でhtml生成
session.setAttribute("testArray",list);
//この辺で</body></html>生成
}

965:デフォルトの名無しさん
08/05/11 00:07:47
>>964
無理。
@SuppressWarnings("unchecked") を ArrayList<String> list に付けるしかない。

966:964
08/05/11 00:25:34
>>965
ありがとうございます。
session.getAttribute()の戻り値がObject型だから、
Stringにキャストできるかどうかわからない…のかと思ったのですが、
それで合ってるのでしょうか?

967:デフォルトの名無しさん
08/05/11 00:31:41
>>964
「@SuppressWarnings("unchecked") を頭に付ける」が正しい
1.4互換のソースとあわせて使う場合は仕方なし。

どうしても気持ち悪いっていうならば、@SuppressWarningsを許可するUtilクラスなんかを作成しておくのはあり。
@SuppressWarnings("unchecked")
public class SessionUtil {
  public List<String> getAttributeList(HttpSession sesstion, String key) {
    return (List<String>) session.getAttribute(key);
  }
}

968:デフォルトの名無しさん
08/05/11 00:33:26
>>966
それで正しいよ。
静的なレベルではどんな型か解らない。
ただ、仕様としてList<String> 以外はありえない。
Tigerの拡張で、静的にList<String> 以外はいれられない/取得できないって制限をかけることが可能になった

969:964
08/05/11 00:54:16
>>967>>968
ありがとうございます。
getAttributeで得たものを変数に格納しようとすると、
必ず出てしまう警告だということですね。
何か落ち着きませんが…次からは@SuppressWarningsを許可するクラスを作って対応しようと思います。

970:デフォルトの名無しさん
08/05/11 02:23:50
JSPでカレンダーを作ってます。
今月は問題なく表示できましたが、
先月、次月という2つのボタンを配置してボタンを押してそれぞれ表示させようと思うのですがどうすればいいのでしょう。
現在は先月、次月のボタンを配置したところまではやりましたが実行してボタンを押してみると、
先月はうまくいきましたが次月を押すと、先月と同じ動きをします。
リクエストパラメータを使う?とかなんとか聞いたのですがよくわかりません。



971:デフォルトの名無しさん
08/05/11 02:50:42
>>954
ファイルそのものじゃなくて、そのファイルがあるディレクトリを読み
取り専用にすればいいじゃないかな。



972:デフォルトの名無しさん
08/05/11 03:09:50
>>970
リクエストパラメータを使って何月のカレンダーを表示するかをサーバに渡せばいい。
わからなかったらリクエストパラメータとJSPでぐぐってから質問しろ

973:970
08/05/11 11:03:33
>>970
すいません。

>リクエストパラメータを使って何月のカレンダーを表示するかをサーバに渡せばいい。

これがググってもわからなかったので質問させてもらったんですが。

<form method="post" action="calendar.jsp?year=<%=intYear%>&month=<%=intMonth-1%>">
<input type="submit" value="先月">
<b><%=intYear%>年<%=intMonth%>月</b>
<form method="post" action="calendar.jsp?year=<%=intYear%>&month=<%=intMonth+1%>">
<input type="submit" value="次月>
</form>

今はこんな状態です。一体どこにどうリクエストパラメータをつかうのかがよくわかりません。

974:デフォルトの名無しさん
08/05/11 11:33:47
>973
Java以前の話だ。
「HTTP POST GET パラメータ HTML FORM 」あたりのキーワードで調べろ

975:デフォルトの名無しさん
08/05/11 14:04:06
swingの勉強中なのですが、ImageIconクラスを使った画像の読み込みで
画像が表示されません。
自分でやってみてもダメだったので本に付属のソースをインポートしてやってみたのですがやはり表示されませんでした。
下記が本のソースで、画像ファイルstream.jpgはjavaファイルと同じディレクトリ(pkggui/以下)にインポートしてあります。
本のソースで表示されないあたり画像ファイルの置き場所が間違っているような気がするのですが、どうしたら良いのか教えてください。

public class ImageLabel01 extends JFrame {

  public static void main(String[] args) {
    ImageLabel01 w = new ImageLabel01( "Imagelabel01" );
    w.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    w.setSize( 350, 250 );
    w.setVisible( true );
  }
  public ImageLabel01( String title ){
    super( title );
    JLabel panel = new JLabel( new ImageIcon( "stream.jpg" ) );
    getContentPane().add( panel );
  }
}


976:デフォルトの名無しさん
08/05/11 14:26:37
Javaファイル(ソース)ではなく、クラスファイルと同じ場所に配置しているか?

977:デフォルトの名無しさん
08/05/11 14:40:55
>>976
そっちか!!と思ったのですが、
eclipseがbin/pkggui以下に勝手に置いてくれてたっぽくて今見たらありましたorz

ちょっとどうしても分からないので自分の状態が分かるよう
作業画面と実行画面をSSにしてみました。
こんな感じなのですが、どうでしょうか?orz
URLリンク(roo.moo.jp)

978:デフォルトの名無しさん
08/05/11 14:51:47
ファイル名だけど、pkggui/sample.jpg じゃね?
URLリンク(java.sun.com)(java.lang.String)


979:デフォルトの名無しさん
08/05/11 15:22:30
>>978
アドバイスありがとうございます!
今絶対パス指定したり色々やってみたのですが、どうやらここでのファイル名はカレントディレクトリとして
プロジェクトのディレクトリを参照しているらしく、そこにファイルを置くか./bin/stream.jpgとすることで解決出来ました!

以前、ImageIO.read(getClass().getResource(image))で描画処理をした時は
imageに使うファイルはパッケージ以下に入れてファイル名だけを記述して行う形でOKだったため
参照しているディレクトリが同様かと思い勘違いしました><;

980:デフォルトの名無しさん
08/05/11 15:42:11
>>975
new ImageIcon(getClass().getResource("stream.jpg")) とすればいいと思う

981:デフォルトの名無しさん
08/05/11 17:47:16
入社して業務でJavaを使うので一から学びたいのですが、良い書籍などあれば教えていただけないでしょうか?
オブジェクト指向についての解説もあれば尚良いのですが

982:デフォルトの名無しさん
08/05/11 17:51:20
>>981
他の言語の経験は?

983:デフォルトの名無しさん
08/05/11 17:54:24
入門程度ならやさしいjava以外ならなんでも良いんじゃない。

984:デフォルトの名無しさん
08/05/11 17:57:18
SJC-Pの問題集をやるのもあり
2ヶ月もあれば大雑把に概要は学べるだろ

985:デフォルトの名無しさん
08/05/11 18:02:41
今だとどんな本があるんだろか、と思って調べたら柴田望洋氏が何か書いてるな
明解C言語は良かったが、Javaはどうなんだろ

いずれにしても、古いものは避けたほうがいい
JDK5.0以降に対応しているもの

986:981
08/05/11 18:30:04
すみません、経験書いていませんでしたね
学校でC++、Java、VBについては一応習いましたがあまり真面目でなかったことと、
卒業してから遊び呆けて全く書かなくなっていたツケが回って現在は忘れまくって酷い有様です。
先ほどちょっとJavaで四則演算のみの計算機作ろうと思ったら変数宣言の仕方までわからない状態でした。
Dim x as Integerって確かVBの方ですよね・・・なんでこれで通らないのかと悩んでみたり
まぁ一応一度は習っていた経験は再習得には役立つと思うのですが、流石に変数宣言の仕方も忘れているようでは
何も知らないものと考えて一からと思っています。

Java以外の言語についても同様の状態です。
一応WhileやFor、If等は覚えていますが関数は殆ど忘れてます。
ちょっと上で挙げて頂いた本について調べてみます。

987:デフォルトの名無しさん
08/05/11 18:35:48
こういうレスを見るたびに悲しくなる

988:デフォルトの名無しさん
08/05/11 18:39:52
卒業して1ヶ月くらいプログラミングから離れていただけで知識が混濁するようではこの先やっていけないんじゃないか?

989:デフォルトの名無しさん
08/05/11 18:40:13
何しに学校行ってたんだ?時間の無駄はよくないよ

990:981
08/05/11 18:43:34
自分には適正が無いという事かもしれません・・・が、悔やんでも仕方ないのでこれからはしっかり勉強して能力を維持していかなくてはと決意を新たに頑張りたいところです

991:デフォルトの名無しさん
08/05/11 18:43:52
あれだろ?
レポート提出週は演習室で宴会みたいに大騒ぎしてたやつだろ
んでレポートはDQNグループの中で一番頭いいやつのコピー
レポート提出は考察とかを自分でまとめただけ

992:デフォルトの名無しさん
08/05/11 18:45:06
テストは過去ウラヤマシス
けど、前年度と違う教授や、問題変わってたら落としてやがったwww
あれは腹痛くなるまで笑ったぜww


993:デフォルトの名無しさん
08/05/11 18:46:26
>>990
とにかく書店行って入門書を斜め読みしてみ
一度とにかくやったことがあるなら、メタ的な知識はあるはず

994:デフォルトの名無しさん
08/05/11 18:48:05
適正がないと自分で判断したなら辞めるのは正しいよ
こんな糞業界、適正でもないとやってられん

995:デフォルトの名無しさん
08/05/11 18:49:56
今学校でVBとかもやるんだな
ちょっとびっくり

996:デフォルトの名無しさん
08/05/11 18:51:19
かたやDelphi、かたやScheme いろいろやるみたいですね

997:981
08/05/11 18:54:24
>991
不真面目とはいえ提出物はちゃんと自分で仕上げていましたよ
悲しいかな当時学んだ内容が脳に定着してくれなかった訳ですがそれは卒業後のだらけだけが原因ではなく、
学生当時の勉強への力の入れ方が足りなかったのもあったのだろうという事ですorz

>993
そうですね、そうしてみます。ただ定期圏内にあまり大きな本屋が無いのが残念ですが・・・

998:デフォルトの名無しさん
08/05/11 18:57:59
無闇にCの作法が混ざりこんできてるのが感じられるなあ
かえって混乱が起きてるようにも感じるが


999:デフォルトの名無しさん
08/05/11 19:07:35
おれ、ハカーになれるかも知れない・・・

1000:デフォルトの名無しさん
08/05/11 19:08:39
1000 なら Java 死滅

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch