★★Java質問・相談スレッド157★★at TECH
★★Java質問・相談スレッド157★★ - 暇つぶし2ch123:デフォルトの名無しさん
12/09/18 23:18:50.78
JAVAを使って格好つけようとしないで、普通にVB.NET勉強して普通にWINDOWSで作ってください。

124:デフォルトの名無しさん
12/09/18 23:29:21.78
win98の頃メモリ64MBでcpu300Mhzの使ってたな
懐かしい 当時28万で買ったのに今じゃゴミ性能だよなあ

125:デフォルトの名無しさん
12/09/18 23:32:10.68
そのゴミ、もちろんもう捨てたんですよね?

126:デフォルトの名無しさん
12/09/18 23:34:23.57
ああ捨てたよ

127:デフォルトの名無しさん
12/09/18 23:44:27.29
>>122
何と比べてか知らないが難しくない。webappの基本。
和暦の方が追加されたの最近だからサンプル少なそう。

128:デフォルトの名無しさん
12/09/18 23:49:46.70
CPU16MHzのメモリ2MBならまだ持ってる。

129:デフォルトの名無しさん
12/09/19 00:00:43.54
win98を使っていたころは、初めはmodem 56kでやっていて、1999年にケーブルのインターネットにしてLAN接続(1M bps多分)だったかな。
pcでは、winmxとか2chとかflashが出始めたころで、今のyoutube(コンテンツ)とかtwitter,facebook(ソーシャル)とかとあまり変わってない。
唯一クラウドとウェブアプリがなかったけど、javafxを見てるとjavaone2012で何を出してくるか分からないけど、オラクルさんはクラウドとウェブアプリとかでクライアント・サイドを本当でやるようには見えないな。
windows+ie+windowsphoneはマイクロソフト王国の囲い込みでしかないから、マイクロソフト・プラットに投資を続けることは早々に見切りをつけて、mobile/web標準jvmプラット・mobile/web標準ネイティブ言語に方向転換した方がいい。
いまのmobileはcpu 1.4 core 2ってところでしょ。その性能ならjava se 5はフルセットでも余裕で動くね。

130:デフォルトの名無しさん
12/09/19 00:05:19.13
>>121

131:108
12/09/19 02:01:22.95
>>113-120
普通に書いてるから。ヴォケ。
あん? >>108 は釣りに決まってる。

いやもうホントここは掃き溜めだね。
迷ったけど >>109 に何となく救われた。

次期 ver. をどの言語で行くか(現行xxxは無理ゲー)で悩んで釣っただけのことよ。
分かれボンクラども。

132:デフォルトの名無しさん
12/09/19 03:46:16.48
sin30°をプログラムの中で計算するソースコードを教えてください。

133:デフォルトの名無しさん
12/09/19 04:46:08.63
足し算、掛け算でできるよ

たとえば、テイラー級数、テイラー展開
そういうのをぐぐれ

マクローリン展開(2)
URLリンク(chaosweb.complex.eng.hokudai.ac.jp)
URLリンク(chaosweb.complex.eng.hokudai.ac.jp)

134:デフォルトの名無しさん
12/09/19 04:51:21.46
いや、そういう難しいのじゃなくてMathクラスを使って構わない。


135:デフォルトの名無しさん
12/09/19 05:18:43.94
すみません。自己解決しました。

URLリンク(ideone.com)
しかし、なぜ答えに0.5と出てきてほしいはずのに、0.49999999999999994と出て
しまうのでしょうか?

また、0.5と出すにはどうすればいいのでしょうか?

136:デフォルトの名無しさん
12/09/19 05:30:03.28
import java.lang.Math;

public class Sin30 {
  static final double M = 10000000000000000.;

  public static void main(String[] args) {
    double degrees = 30;
    double d = degrees*Math.PI/180;
    double e = Math.sin(d);
    double f, g;

    f = M*e;
    g = Math.floor( f + 0.5 );
    e = g/M;
    System.out.println(e);
  }
}

/*

D:\work>javac Sin30.java

D:\work>java Sin30
0.5

*/


137:デフォルトの名無しさん
12/09/19 05:44:43.46
>>136
ありがとうございます。
ただ、
f = M*e;
g = Math.floor( f + 0.5 );
e = g/M;
System.out.println(e);
でなにをやっているのか分かりません。

138:デフォルトの名無しさん
12/09/19 10:17:22.02
>>129
マイクロソフト王国って…いまどき感覚古臭過ぎない?
いまやオラクル帝国の属州になりさがっちまったJavaにこれから方向転換せよとかアホみたい
あちらさん(C#)はまがりなりにもISOやECMAで標準化されているしね

139:デフォルトの名無しさん
12/09/19 10:57:10.58
>>138
標準化されてるからといって特許フリーであるわけじゃない
C#は関連特許が切れるまであまり普及しなさそう
関連特許が切れたらオープンソース版が普及するかもね

140:デフォルトの名無しさん
12/09/19 11:08:24.84
JavaMEを使うことによるOracleへのみかじめ料回避のため
GoogleがDalvikが出してきたくらい

Oracleさんは標準云々なんかよりライセンス料徴収に全力だった

141:デフォルトの名無しさん
12/09/19 11:21:11.98
普及しなさそうというのは言いすぎだった
Windows以外のプラットフォームでは普及しないという意味

142:デフォルトの名無しさん
12/09/19 11:25:54.73
今日はマイクロソフト税の納税日ですよ!
(マイクロソフト・オッフィス税とマイクロソフト・インターネット税は同時に収めることが出来ます)

143:デフォルトの名無しさん
12/09/19 11:36:34.71
URLリンク(mshiltonj.com)
Empire Gatesbill of Microsoft

144:デフォルトの名無しさん
12/09/19 15:58:04.13
>>96
ありがとう
お父さんにお願いするようにします

145:デフォルトの名無しさん
12/09/19 18:27:06.27
わかりやすいJavaという本より良い本ありますか?

146:デフォルトの名無しさん
12/09/19 21:12:57.54
わかりやすいJavaという本以外全部です

147:デフォルトの名無しさん
12/09/19 21:16:03.53
わかりやすいJAVAって駄目なの?イイってよく聞くけど

148:デフォルトの名無しさん
12/09/19 21:16:17.01
>>145
Javaの絵本 がいいよw

149:デフォルトの名無しさん
12/09/19 22:38:55.09
>>137
四捨五入するには、0.5をたして、きりすてます

150:デフォルトの名無しさん
12/09/19 22:50:48.39
実は
30.0 * Math.PI / 180.0
この時点で 0.5 ULPより大きい誤差が出てる...かもしれない

public static void main(String[] args) {
BigDecimal PI = new BigDecimal("3.141592653589793238462643383280");
BigDecimal expected = PI.multiply(new BigDecimal("30")).divide(new BigDecimal("180"), RoundingMode.HALF_EVEN);
BigDecimal target1 = new BigDecimal(Math.toRadians(30));
BigDecimal target2 = new BigDecimal(FastMath.toRadians(30));

System.out.println(expected);
System.out.println(target1);
System.out.println(target2);
System.out.println(target1.subtract(expected));
System.out.println(target2.subtract(expected));
}

(要Commons Math)

おいらのマシンの実行結果:
0.523598775598298873077107230547
0.52359877559829881565889309058547951281070709228515625
0.5235987755982989266811955531011335551738739013671875
-5.741821413996152048718929290771484375E-17
5.36040883225541335551738739013671875E-17


151:デフォルトの名無しさん
12/09/19 22:55:02.28
FastMath.toRadians ってどこのクラスですか?

152:デフォルトの名無しさん
12/09/19 22:57:23.64
なんだ。
見たことあると思ったらアパッチか。
ところでnew BigDecimal(double)を使うのはどうしてですか?

153:デフォルトの名無しさん
12/09/19 23:38:57.24
keyListenerでKeyPressedのイベント発生するのにラグがあるんですがどうしたらいいですか

154:145
12/09/20 00:12:55.05
>146
Amazonで「Java」で検索して1位の本を見てみろ。

>148
初心者向けですよね、あの本は。

155: ◆QZaw55cn4c
12/09/20 03:23:08.87
>>139
つmono

156:デフォルトの名無しさん
12/09/20 07:04:51.86
KeyListenerわからない馬鹿どもですか?誰か>>153に答えろ

157:デフォルトの名無しさん
12/09/20 07:23:49.14
>>156
おまえにまかせる

158:デフォルトの名無しさん
12/09/20 07:39:31.26
>>156
馬鹿ですがなにか?

159:デフォルトの名無しさん
12/09/20 08:27:43.92
桜庭ななみ

160:デフォルトの名無しさん
12/09/20 11:36:58.12
馬鹿には無理

161:デフォルトの名無しさん
12/09/20 17:36:45.52
馬鹿でも答えられる質問しか受け付けません

162:デフォルトの名無しさん
12/09/20 17:58:48.21
>>121

163:デフォルトの名無しさん
12/09/20 18:23:05.06
JavaFXはSwingベースですのでXAMLベースのMetroにはなりません

164:デフォルトの名無しさん
12/09/20 18:35:54.61
JavaFXがJava8で同封されてもWindows8のMetro Sytleにも対応してないしWindows Phone (Tablet)とかApple iphone (ipad)でも動かない(当然Androidでも動かない)ですよね。
JavaFXは、今後2ー3年の主流モバイル端末で全滅で、デスクトップではマイクロソフト・プラットフォームからは煙たがれ、
現在のJava向けIDEやデザイナーではVisual Studioにまったく勝てないので、出る前からオワコンって聞いたんですけど、JavaFXはオワコンって本当ですよね?

165:デフォルトの名無しさん
12/09/20 19:04:36.97
そんなもんです。

166:デフォルトの名無しさん
12/09/20 19:25:54.37
何か目的があるわけでもなく、問題というものを抽象化し、適当な理論に基づいた設計を行い、一般化(汎用ライブラリ)を目指すばかりの思考だったから、もともとは手段だったのにいつのまにかJavaの資産で全てを汎用化することが目的になってしまったんだろう。

167:デフォルトの名無しさん
12/09/20 19:33:31.47
VMに関して言えば問題は無いな。

APIには色々言いたいことがあるのはわかるが。

168:デフォルトの名無しさん
12/09/20 20:16:53.52
javafxってjavaでfxのソフト作るためのパッケージですか!?
すごい楽しみです!ソフト作ってお金儲けですね!

169:デフォルトの名無しさん
12/09/20 20:23:57.98
jvmはまだまだ10年は持ちますがvmもうかうかしてられませんよ。
jvm, jvm bytecode は中間コードとコード実行の最適化理論がつまってますが、所詮はそのcpuで利用可能な機能かどうかを抽象化したソフト的なものであり、小手先技の集大成でしかありません。
cpuが2000Mhz、整数マルチコア2-8、メモリも4000Mを越えた今では、ハードでゴリ押しもあるし、llvm的なアプローチ(特に動的コンパイルと並列ノードなど)もあるし、用途は違いますがvmware,vbox,qemuなどx86 vmも成熟してきたし、
結局jvm bytecodeとその高速化だけではイニシアチブをとれないでしょうね。

170:デフォルトの名無しさん
12/09/20 20:30:54.33
>>117

171:デフォルトの名無しさん
12/09/20 20:37:48.10
jvmとvmwareを同列に語るって…

仮想環境上のjvmをどうしたら最適化できるかとか最近の話題だからなぁ。
追っかけてないからしらんけどw

172:デフォルトの名無しさん
12/09/20 21:00:28.29
10年スパンの展望で書いたんですけど、そのうち「仮想環境」の意味はもちろん同一PC(同一巨体ラック)上のメモリである、という前提が崩れるんじゃないですかね。
メモリとデータが同一PC(cpu)と言う前提ではないので、jvmbytecodeもx86codeも区別する必要はありません。

173:デフォルトの名無しさん
12/09/20 21:10:50.66
ほうほう

174:デフォルトの名無しさん
12/09/20 21:17:25.99
The Network is the Computer.

175:デフォルトの名無しさん
12/09/20 21:19:28.62
そうかなぁ?やっぱり比較対象としてはおかしいと思うなぁ。

> そのうち「仮想環境」の意味はもちろん同一PC(同一巨体ラック)上のメモリである、という前提が崩れるんじゃないですかね。
すでにエンタープライズはデータセンター越しでマイグレーションする状態なんだけどなぁ。
でそれはVMWareとかのサーバ仮想化のレイヤーであって、JVMはその上で動く単なるプロセスの一つなだけだと思うが。

ただ、物理的なハードウェアの進化には対応する必要があって、
あなたが書いた、多コア、多メモリ環境への進化は着々とやってると思うけどね。
fork,joinもその一つだし。

176:デフォルトの名無しさん
12/09/20 21:35:17.63
そうそうよく読んでますね。
ただ一つあなたに足りないのは、javafxやjavaseの話題が中心であって、java se, java eeは巨砲エンタープライズでなくあくまで中小規模クライアントかその開発者のためのものであり、
目的がはっきりしているシステムを作ると初めから分かってるなら何も汎用化して設計する意味は全くないという観点です。

177:デフォルトの名無しさん
12/09/20 22:06:45.29
といっても 重厚長大産業はIT利益率高いし稼ぎ頭だから、オラクルじゃいつまでも中小規模クライアントは本気でやらないでしょうけどね。
小規模だとマイクロソフトの稼ぎ頭5-30人程度officeとそのwebserver (fileserver,mail system) / web datacenter (office datacloud)ですけど、ここにオラクルの本気度が見えないので、普通の開発者がjavaを勉強してもいつまでもjava,javafxでは儲けられないでしょうね。

例えば、アップルはandroid端末(サムスン)潰しに本気ですが、オラクルがandroid os/vm(グーグル)潰しに本気なら、裁判内外で適当な戯言を言い合ってるだけでなく、
android osの代わりにsolarisをモバイル・(tablet)シンクライアントにカスタム(もちろんjava仕様)して出したりするマーケティングもあるでしょう。
しかしオラクルはsolaris,openofficeを早々と引っ込めたので多分やらないでしょうけど。

オラクル(java)には、未だにマイクロソフト製品(windows)に依存してばかりで、未だにjavaエコシステムがないのが最大の問題じゃないですか。
つまり、javaをいくら勉強してもwindowsアプリレベルの普通の開発者はいつまでもjavaでは(クライアントがいないので)稼げないってことです。

178:デフォルトの名無しさん
12/09/20 22:17:37.28
>>117

179:デフォルトの名無しさん
12/09/20 22:24:03.36
>>172
日本語がわからないところあるが、バイナリでもいろいろなcpuに対応が当たり前になるってこと?
GNUのソフトなんかはいろいろなアーキテクチャでコンパイルできるし、Unix系ではネットワークマウントで共有するの普通だし、FHSではlibとか/usr/shareとか複数アーキテクチャへの対応を考えているのでは。
問題なのはwindowsのドライブレターとか、ハードウェアアクセスの利用みたいな互換性のなさなんじゃないの。

180:デフォルトの名無しさん
12/09/20 22:42:35.00
javafx 2.2がlinux(ubuntu12.04)でもちゃんと動けばjava/oracleの言い分も少しは信用したんだけど、こんなコアダンプを毎回見てればoracleが何を言っても信用できるはずない。
windowsではほぼ問題なく動くだろうけど、linuxではjavafx開発はバグだらけで出来ないしopengl(3d)も動かないし、所詮oracleの技術力と目指しているものはこの程度でしょ。
windowsで開発するならjavaを一切触わらずvs,msdnライセンスを買って初めからc#,html5(js)だけでやるわ。

# JRE version: 7.0_06-b24
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.2-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libX11.so.6+0x33c58] XQueryExtension+0x28

181:デフォルトの名無しさん
12/09/20 23:22:59.65
>>123

182:デフォルトの名無しさん
12/09/21 01:47:32.43
なんでこんなに荒らされてるの?

183:デフォルトの名無しさん
12/09/21 03:17:18.47
>>182

184:デフォルトの名無しさん
12/09/21 03:23:22.54
LinuxのGUI環境って全然知らないんだけど、Swingはちゃんと動くの?

185:デフォルトの名無しさん
12/09/21 03:45:03.81
netbeansは一応ちゃんと動くみたいですよ。
ただしlinux(gnome)だとほとんどのjavaプログラムの日本語入力がおかしくなることがあるようなのでwindowsだけで考えた方がいいんじゃないですか。

186:デフォルトの名無しさん
12/09/21 16:28:43.18
やられた!

ArrayList<Integer> a = new ArrayList<>();
Integer x = 1000;
int y = 2000;
a.add(x);
a.add(y);
a.remove(x);
a.remove(y);

autoboxing 死ね!

187:デフォルトの名無しさん
12/09/21 16:56:35.18
autoboxingの仕様作ったやつちょうあほ

188:デフォルトの名無しさん
12/09/21 17:45:19.07
HashSet<Integer> s = new HashSet<>();
Integer x = 1000;
int y = 2000;
s.add(x);
s.add(y);
s.remove(x);
s.remove(y);

これはOKなんだよな~
紛らわしい!

189:デフォルトの名無しさん
12/09/21 17:50:16.00
そりゃSetにはindexでremoveするメソッドとか無いし。

190:デフォルトの名無しさん
12/09/21 20:24:01.75
死ねとか紛らわしいとかいう前にオートボクシング・アンボクシングとかコレクションについて勉強したほうがいいと思うよ

191:デフォルトの名無しさん
12/09/21 23:37:21.42
仕様がおかしいという指摘に対し
仕様通りと返す奴はアスペ

192:デフォルトの名無しさん
12/09/22 00:08:59.25
>>191
それはない

193:デフォルトの名無しさん
12/09/22 00:12:23.07
後から追加された仕様だからなぁ。
最初からオートボクシングがあったら、
listのインターフェイスも考えようがあったんだろうけど。

listにintを入れた事がなかったから、そのハマりは経験したことがなかったな。
それより、内容は同じだけどオブジェクトの違うLong同士を==で比較してハマった方が辛かったw

194:デフォルトの名無しさん
12/09/22 01:21:46.62
>>186
a.remove(y) のとこだよね?
(これは2000番目の要素を削除するという動作になる)
「remove」という同じメソッド名なのに引数によってまったく異なった動作になる。
StringBuilderクラスでは delete とか deleteCharAt ってメソッド名になってるから
Listも a.delete(y) とか a.deleteAt(y) みたいになってれば
混乱せずに済んだだろうね。
でもしかたないよ。今さらメソッド名を変更してもらえるとは思えない。
慣れるしかないな。

195:デフォルトの名無しさん
12/09/22 02:50:37.05
あほ言語の末路

196:デフォルトの名無しさん
12/09/22 03:18:54.08
Javaは1.4からいじり始めたんだが、Java5以降から入ったやつにとっては
オートボクシングは意味不明だと思うわ……。

ジェネリクス、for-each、タイプセーフenumとかクソ便利なのに、オートボクシングは蛇足だよ…

197:デフォルトの名無しさん
12/09/22 03:50:58.56
必要ならラッパークラスのメソッドを使えばいいし、
オートボクシングは必ずしも使わないと困るような場面はぱっとは思いつかないなあ
Eclipseにも、オートボクシングに対してワーニングやエラーを出すようなオプションがあるぽいし


198:デフォルトの名無しさん
12/09/22 04:18:45.59
馬鹿には無理

199:デフォルトの名無しさん
12/09/22 06:59:49.73
オートボクシングじゃなくて
Javaの==がウンコだからじゃね?

200:デフォルトの名無しさん
12/09/22 07:22:09.65
while(true)
 if(!Java.equals("うんこ"))
  System.exit(1);

201:デフォルトの名無しさん
12/09/22 09:59:11.32
>>185
以前、Javaで日本語入力が効かなくなったことはあるけど今は大丈夫
この発言もubuntu上のV2Cで書いてる
Debianでも問題なし
V2CはすべてJavaで書かれた2chブラウザ


202:デフォルトの名無しさん
12/09/22 10:36:52.24
V2CはSwingでここまでできるという見本みたいなものという感じ
100%Javaで書かれた高機能な2chブラウザ

203:デフォルトの名無しさん
12/09/22 15:09:52.90
フォントの問題はあるけど

内緒

204:デフォルトの名無しさん
12/09/22 15:56:14.92
dialogを閉じるときにescで閉じるとよく発生して、それ以降キー入力を受付なくなるのでしょ。
たしか、java(swing)のバグじゃなくて、gnomeのimeのバグで、gnomeがいつまでも直さなかったからjava swingがいつまでもとばっちり受けてたってやつ。

205:デフォルトの名無しさん
12/09/22 16:03:22.81
とばっちりとか言ってるけど、文句言う前に上流にパッチ投げるくらいはしたのかしら?

206:デフォルトの名無しさん
12/09/22 16:21:00.17
>>203
MS Pゴシックとピッチが同じフォントならMonapoフォントとか他にもいろいろあるよ
Ubuntuならパッケージ化されてるからインストールも簡単

207:デフォルトの名無しさん
12/09/22 16:23:52.95
ていうか、osxに忙しいから、linuxはガン無視でしょ
次のjavaone2012は、javafxはipod,iphoneでも動きますよーが目玉だろうしw(多分)
windows上でapple製品を開発できるけどandroid,windowsphoneは動かないって、それってマヌケ

208:デフォルトの名無しさん
12/09/22 16:25:22.71
即レスかよ
このスレにはアンチJava厨がはりついてるのか

209:デフォルトの名無しさん
12/09/22 16:29:10.22
LinuxはOpenJDKがあるからそれでいいのでは?
Oracle純正の最新JVMを必ず使わなければいけないわけじゃないし
オープンソースに否定的なユーザはそもそもLinuxを使わないし

210:デフォルトの名無しさん
12/09/22 16:37:37.39
ubuntu unityでnetbeansを起動するとgtk theme (system default)になるけど、かなりいい加減な作りっての知らないでしょ。
menu popuoのウインドウ境界・淵のところにunityだとぼかしのエフェクトがあるけど、heavy/light weight windowサポートしたといっても、netbeans7.2ではgtk(system)のuiも再現できてない。
xrenderはv2cでは効果あるのに、netbeansでは効いてないっぽいし、linuxで開発するなんて夢物語だし、openjdkのlinuxサポートとかもう終わってる。

211:デフォルトの名無しさん
12/09/22 16:48:21.06
>>117

212:デフォルトの名無しさん
12/09/22 16:55:48.86
最近、このスレ荒らしがひどな
本当に終わってるなら一日中はりついて荒らす必要なんてないのに

213:デフォルトの名無しさん
12/09/22 17:01:41.47
>>206
それがねー、以外と難しいのよ

214:デフォルトの名無しさん
12/09/22 17:03:52.93
いいや
荒らしではなく現在のJava Platformの本当の姿を書いてくれてるんだよ
現在のJava SEはWindows専用のVMアプリに過ぎずOSX向けはJava7からやっと開発が始まったという程度のものでしかない
ORACLEのJAVAはSUNのころのJavaとはまったく違う

215:デフォルトの名無しさん
12/09/22 17:06:59.05
>>121

216: ◆QZaw55cn4c
12/09/22 17:50:12.63
windows8に凍死するのもどうですかね‥‥‥

217:デフォルトの名無しさん
12/09/22 17:51:59.44
>>213
ubuntuなら端末を開いて
sudo apt-get install fonts-monapo
この一行を実行するだけ
V2Cはフォントメニューを開くときにフォントを勝手に検索してくれるから
V2Cの[設定]メニューの[フォント]でmonapoフォントを選択するだけ

218:デフォルトの名無しさん
12/09/22 18:20:42.67
ubuntu unityだとデスクトップ・ショートカット・ランチャが簡単には作れないから、旧式のv2c.shを作って実行とかでやってる
そこに-Dawt.AA=とか-Dswing.defaultlaf=とか
java7になってもlinux(gnome)ではフォントもあまりさポートしてから各国スクリプト・カテゴリによるフォントグリフの国際化対応はまだおかしいかもね
linux gonmeとかlinux ide(eclipse,netbeans)とかの雑魚環境を体験してみると、windowsとvsがいかに値段が安くいかに高品質なのかって思い知るよ
アンチなわけではないけど、これが現在のoracle/javaの現実で、java seはwindows専用アプリと考えた方が正しい

219:デフォルトの名無しさん
12/09/22 18:22:21.47
>>9

220:デフォルトの名無しさん
12/09/22 18:56:06.90
apiのソースコード読んだら意味不明なんですが、
プロは読めるものなんですか?
英語もわからないし。

221:デフォルトの名無しさん
12/09/22 19:07:51.58
はい

222:デフォルトの名無しさん
12/09/22 19:23:23.85
すごいですね。
僕には無理だ。他の道を探そう。

223:デフォルトの名無しさん
12/09/22 19:36:42.75
>>218
DebianでもMonapoフォントはパッケージになっててスーパーユーザになって
apt-get install ttf-monapo
これで終わり
あとはV2Cを起動して[設定]メニューの[フォント]でMonapoフォントを指定するだけ
この発言はDebianから書いてます
正直、何が難しいのかわからない

224:デフォルトの名無しさん
12/09/22 19:40:07.00
誤解のないように書くけど
V2Cはフォントをいちいち指定しないと日本語が表示されないわけじゃなくて
アスキーアートの表示が崩れるからMonapoフォンを入れてV2Cで指定してるだけ

225:デフォルトの名無しさん
12/09/22 22:37:15.50
>>217
そんな話はしていない

java/swingのフォント設定

226:デフォルトの名無しさん
12/09/23 00:57:36.81
v2cは追いかけてないから確かじゃないけど、確かスレのブラウズのコンポーネントは、jtextpaneだと遅いからcanvas+graphicsで自前で開発したのでやってるっんじゃなかったか?
自前で用意するようなコンポーネント開発までやって、twitterクライアントもやるほど気合はいってるなら、netbeans platform rcp開発(特にplugin module)を考えてもいいんじゃないかと思う。

227:デフォルトの名無しさん
12/09/23 03:21:26.00
>>225
そんなの簡単だぞ
String fontName1[]= GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
これでフォントの一覧を取得できる
あとは
Font font1 = new Font(fontName1[i], Font.PLAIN, 16);
このようにフォントを作成してやるだけ


228:デフォルトの名無しさん
12/09/23 03:25:12.81
graphicsで自前なんだし難しいてのはfont mericsのことじゃないの?

229:デフォルトの名無しさん
12/09/23 07:08:11.37
>>227
だからそんな話をしてないって

以上

230:デフォルトの名無しさん
12/09/23 11:01:26.11
Javaはマイクロソフトのステマの攻撃ターゲットに設定されました

231:デフォルトの名無しさん
12/09/23 15:38:19.47
>>143

232:デフォルトの名無しさん
12/09/23 17:30:34.41
>>228
あぁ、それ俺もよくわからなかった

233:デフォルトの名無しさん
12/09/24 00:04:34.89
すみません、ネットで調べましたが、ヒント見つからず、
どうしても分かりませんでした。

質問は、以下のソースコードで、
ExClass35Array = subExClass35Arrayで、
subExClass35Arrayの参照情報をExClass35Arrayへ代入しているのですが、
System.out.println(ExClass35Array[0].a)がコンパイルエラーとなり、
期待している結果「4」と表示されません。何がいけないのでしょうか?

class ExClass35{
public static void main(String[]args){
ExClass35[] ExClass35Array;
subExClass35[] subExClass35Array = new subExClass35[5];
for( int i = 0 ; i < subExClass35Array.length ; i++){
subExClass35Array[i] = new subExClass35();
}
subExClass35Array[0].a = 4;
System.out.println(subExClass35Array[0].a);
ExClass35Array = subExClass35Array;
System.out.println(ExClass35Array[0].a);
}
}
class subExClass35 extends ExClass35{
int a ;
}

234:デフォルトの名無しさん
12/09/24 00:07:01.60
int aにpublic ってつければコンパイルは通るけど、
何かもっとちゃんとした資料で勉強した方がいい

235:デフォルトの名無しさん
12/09/24 00:35:50.96
234さん
ご回答有難うございます。

下記の部分では、問題なく「4」と表示されます。
subExClass35Array[0].a = 4;
System.out.println(subExClass35Array[0].a);

参照情報を代入(ExClass35Array = subExClass35Array)しただけなのに、
int a ; に publicをつけなければ、
System.out.println(ExClass35Array[0].a); で「4」と表示されないのでしょうか?

>>int aにpublic ってつければコンパイルは通るけど、
実際につけてみましたが、やはりコンパイルエラーになりました・・・。

すみません、混乱しております。

236:デフォルトの名無しさん
12/09/24 00:45:19.89
234だけど、publicをつければいいというのは今回とは別の話だった

ExClass35[]という型のExClass35Arrayという変数に
subExClass35[]という型のsubExClass35Arrayという変数を
ExClass35Array = subExClass35Array;
で代入しようとしているのがおかしい.
継承された型ならスーパークラスの型の変数に代入できるけど、
配列はできないよ

つかクラス名は大文字で始める、変数は小文字で始めるっていうお約束を
ことごとく守らないからすごく見づらい

237:デフォルトの名無しさん
12/09/24 00:56:40.61
234さん

早速のレス有難うございます。

>ExClass35Array = subExClass35Array;
>で代入しようとしているのがおかしい.

すみません、何をしようとしているのか、背景の説明が足りておりませんでした。

URLリンク(www.javaroad.jp)
⇒こちらのサイトの「【例3】変換元が配列型、変換先が配列型の例です。SuperClassクラスはSubClassクラスのスーパークラスであるとします。 」でソースコードがあります。
ここで配列の型変換が説明されており、それを元に、先ほどお伝えしたソースコードを私が作りました。

本当に代入による型変換が行われているのか?というのを確認するために、
ExClass35Array = subExClass35Arrayということを行い、
System.out.println(subExClass35Array[0].a); で「4」が表示されるか確認したい
というのが目的になります。

>継承された型ならスーパークラスの型の変数に代入できるけど、
>配列はできないよ
すみません、配列の型は代入できないのでしょうか?
サイトの情報が間違っているのでしょうか?

>つかクラス名は大文字で始める、変数は小文字で始めるっていうお約束を
>ことごとく守らないからすごく見づらい
この点は今のうちから守っていきます。すみません。。


238:デフォルトの名無しさん
12/09/24 00:58:52.44
荒らすな

239:デフォルトの名無しさん
12/09/24 01:05:32.79
ごめんなさい、俺があほでした

int aはsubExClass35というExClass35のサブクラスで初めて定義されているメンバなので、
ExClass35にアップキャストした後だと、 ExClass35というクラスにはaというメンバは存在しないから、
ExClass35の変数のaにアクセスしようとしても、そんなメンバは存在しないとエラーが起こる.
これが実際で、他の俺のレスは全部俺の勘違いだった… 配列でも普通にアップキャストできたごめん

240:デフォルトの名無しさん
12/09/24 01:11:23.82
荒らすな

241:デフォルトの名無しさん
12/09/24 01:34:32.38
>>233
まずはエラーメッセージをコピペする方法から学ぶんだ。

242:デフォルトの名無しさん
12/09/24 10:49:28.42
239さん

ご回答有難うございます。
頂いたアドバイスで理解することができました。
サブクラスの配列の変数からスーパークラスの配列の変数へ代入した場合、
スーパークラスが参照できる領域は、サブクラスに継承したメンバ変数・メソッドだけという制約がありました。
よって、
class ExClass35{int a; ・・・・以降省略}
class subExClass35 extends ExClass35{ int aは削除 }
とすることで、
System.out.println(ExClass35Array[0].a);
で、期待した「4」を表示させることができました。

大変助かりました。感謝です^^

241さん

そうですね、最初からエラーメッセージ書くべきでした。
事後ですが、以下のメッセージが出ていました。
=======
Exception in thread "main" java.lang.Error: コンパイル問題が未解決です:
a は解決できないか、フィールドではありません

at クラス.ExClass35.main(ExClass35.java:24)
=======

240さん
荒らしてしまって、すみません。。


243:デフォルトの名無しさん
12/09/24 10:54:41.86
>>238 >>240は常駐してる荒らしだから気にしなくていい

244:デフォルトの名無しさん
12/09/24 11:28:11.74
243さん
了解しました。有難うございます。

245:デフォルトの名無しさん
12/09/24 14:04:11.94
荒らすな

246:デフォルトの名無しさん
12/09/24 14:27:18.48
なおしときますね

247:デフォルトの名無しさん
12/09/24 15:55:46.11
素朴な質問ですが、Javaはなぜ大文字と小文字を混ぜているんでしょうかね
例:System.out.printlnというように
C言語みたいに小文字だけにすればいいようなかんじですが

248:デフォルトの名無しさん
12/09/24 16:06:36.01
なんとか記法

249:デフォルトの名無しさん
12/09/24 16:28:26.74
クラス名か変数/メソッド名か一目で分かるようにするため

250:デフォルトの名無しさん
12/09/24 16:30:48.01
>>249
どうもありがとうございました
クラス名・・・大文字が混ざっている小文字
変数/メソッド・・・小文字だけ
ということでよろしいですかね


251:デフォルトの名無しさん
12/09/24 16:36:33.11
荒らすな

252:デフォルトの名無しさん
12/09/24 16:44:15.65
>>250
クラス/インターフェイス・・・パスカルケース(単語先頭が大文字) 例:PascalCase
変数/メソッド・・・キャメルケース(先頭を除いて単語先頭が大文字) 例:camelCase
定数・・・大文字スネークケース(全て大文字アンダーバー区切り)例:SNAKE_CASE

253:デフォルトの名無しさん
12/09/24 16:53:28.87
X11Util.Display: Shutdown (close open / pending Displays: false, open (no close attempt): 1/1, pending (not closed, marked uncloseable): 1)
X11Util: Open X11 Display Connections: 1
X11Util: Open[0]: NamedX11Display[:0.0, 0x7f1c6410c6b0, refCount 1, unCloseable true]
X11Util: Pending X11 Display Connections: 1
X11Util: Pending[0]: NamedX11Display[:0.0, 0x7f1c5c001ec0, refCount 0, unCloseable true]
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f1cbd295c58, pid=8362, tid=139761430722304
#
# JRE version: 6.0_33-b03
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.8-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libX11.so.6+0x33c58] XQueryExtension+0x28
#
# An error report file with more information is saved as:
# /processing-2.0b3/hs_err_pid8362.log

254:デフォルトの名無しさん
12/09/24 17:15:54.90
なんだか知らんが

Linux板へ行け

255:デフォルトの名無しさん
12/09/24 17:21:47.70
馬鹿には無理

256:デフォルトの名無しさん
12/09/24 19:13:34.49
252さん
書き方の情報有難うございます。
今のうちから、その書き方を心がけておきたいと思います。

257:デフォルトの名無しさん
12/09/24 22:18:29.86
うんこちんちん

258:デフォルトの名無しさん
12/09/24 22:30:50.99
今日、アップキャストとダウンキャストを勉強していました。
ソースを見てもイメージできないと、なかなか理解が厳しいですね。


259:デフォルトの名無しさん
12/09/24 22:36:01.13
>>258
クラス図でイメージしてるかな。

260:デフォルトの名無しさん
12/09/24 23:03:10.31
javaの印刷APIで印刷させようと思っているのですが、wordやexcelで印刷要求した時に使われるトレイ以外から印刷しようとしているらしく
用紙がないとのエラーになってしまいます。

トレイや向きを指定するにはどうすればよろしいでしょうか?

261:デフォルトの名無しさん
12/09/24 23:05:48.99
javaってタブレットの手書きに対応したAPIてありますか?

262:デフォルトの名無しさん
12/09/24 23:15:20.77
タブレットの手書きが出来るjavaアプリって何かありますか?

263:デフォルトの名無しさん
12/09/25 01:31:06.26
こんなところで質問はもうやめるんだ
わかるだろ

264:デフォルトの名無しさん
12/09/25 01:43:05.79
うんち

265:デフォルトの名無しさん
12/09/25 03:08:42.42
jtabletとかjpenとか

266:デフォルトの名無しさん
12/09/25 15:32:36.87
今読んでるソースにクラス内でinterface宣言があるんですが、
これってどういう意味があるんでしょうか。


267:デフォルトの名無しさん
12/09/25 16:00:10.43
interface

268:デフォルトの名無しさん
12/09/25 16:05:19.39
レストン。
たとえばクラス内でインタフェース宣言したら
どこで継承すればいいのかな??さっぱりです


269:デフォルトの名無しさん
12/09/25 16:17:04.06
その定義が見える範囲(スコープ)で継承すればいいんじゃないの
「public class ***」の中で「public static interface ***」と定義されてるなら
どこからでも見えると思っていい
あと、interfaceの場合は継承(extends)でなく実装(implements)と呼ぶ

270:デフォルトの名無しさん
12/09/25 16:26:03.41
インターフェースにも継承あるだろ

271:デフォルトの名無しさん
12/09/25 16:26:34.52
ちゃんと勉強してから答えろな

272:デフォルトの名無しさん
12/09/25 16:28:00.52
アスペ?

273:デフォルトの名無しさん
12/09/25 16:29:54.94
うんち


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