トップページ⇒tech
1001コメント320KB

Java低速GUI Swing 5

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/10/18(水) 11:50:09
ハードウェアの高スペック化、JavaVMのホットスポットの高速化に伴い、
パフォーマンスの問題は徐々にですが改善されつつあります。
しかしながら、"Java"というだけで未だに敬遠されるのが現状。
そんなSwingと引き続き付き合っていくみんなのスレッドです。

Java低速GUI Swing 4 (前スレ)
http://pc8.2ch.net/test/read.cgi/tech/1140533866/
Java低速GUI Swing 3
http://pc8.2ch.net/test/read.cgi/tech/1121700954/
Java低速GUI Swing 2
http://pc8.2ch.net/test/read.cgi/tech/1095398949/
Java低速GUI Swing
http://pc5.2ch.net/test/read.cgi/tech/1062271447/l50
0413デフォルトの名無しさん2007/05/25(金) 21:50:21
TextField を f1,f2,f3,f4,f5,f6,f7

と言う名で作りました。
あらかじめNetBeansで個数分貼り付けちゃいました。

それぞれにある一定の処理をしたいのですが。
forなど繰り返し処理のなかで出来るようにしたいです。

JTextFieldの配列などに繋げれば出来そうですが、
それでは最初に全部個数分繋げる作業が必要になるわけです。
JTextFieldの数が大量になった場合大変ですから。

なんとか名前の数字を変更してアクセスする方法ないでしょうか。
よろしくお願いします。
0414デフォルトの名無しさん2007/05/25(金) 22:41:50
JTextFieldだけを乗せるJPanel(というかContainer)を作って、getComponentsを呼び出せばいいかもね
0415デフォルトの名無しさん2007/05/26(土) 01:28:30
メンバー変数としてf1,f2,...があるのならリフレクションで取れるよ。
ローカル変数だと出来ないけど。
0416デフォルトの名無しさん2007/05/26(土) 01:38:03
>>413
f1,f2,f3,f4,f5,f6,f7 は、とりあえず そのままにしといて、
配列必要になったら new JTextField[]{f1,f2,f3,f4,f5,f6,f7} して配列作るとかすれば?
0417デフォルトの名無しさん2007/05/26(土) 02:37:48
>>414さん、>>415さん、>>416さん
ありがさうございました。(^v^)
0418デフォルトの名無しさん2007/05/27(日) 04:38:44
>>415
そんな事はできてもする設計にしてはいけない・・・・
>>417
>>414案が妥当だと思った。が、別に特別にPanelを用意せずにnameプロパティに
何か分かりやすいのを振っておいてコンポネントをより分ければいいと思う。
0419デフォルトの名無しさん2007/05/27(日) 07:37:22
>>410
ありがと、できたよ。ソースコード見てみたけどJTree#getTooltipText(MouseEvent)が
回りくどい実装してたんだね。
0420デフォルトの名無しさん2007/05/27(日) 13:55:22
>>418
> そんな事はできてもする設計にしてはいけない

同じようなことをたくさんやるときに、利用するのはとても効率的だと思うよ。
リフレクション使って配列に格納するメソッドを用意しておいて、実際の利用は配列を使うというのがいいかと。
nameプロパティ使うのと、本質的な差はあまりないと思う。
0421デフォルトの名無しさん2007/05/27(日) 16:29:51
リフレクションってのは、フレームワークレベルで使うのはいいと思うが
一般のコードには入れない方がいいと思うんだ・・・・
だから>>420 の利用する部分との分離がいいな
0422デフォルトの名無しさん2007/05/28(月) 11:45:44
>>421
リフレクションを使うってことは,せっかく(記述が面倒な)Javaを使うことで得られる
強力なコンパイラの型チェックをスルーしてアクセスするわけだからライブラリや
フレームワークにしてそれなりにテストした上で使うのがいい使い方なんだろうね…
# ってかリフレクションを無駄に使ってるJavaアプリケーション見るとそれならもっと動的な言語使えよとか思う…
0423デフォルトの名無しさん2007/05/28(月) 11:51:13
プライベートなものも自由に触れるからな
アプリ側で出てきたときにはそれはもはや実装のバグとよんでもよいかと
0424デフォルトの名無しさん2007/05/28(月) 12:01:45
リフレクションって、どっちかっつーとコンストラクタ貰ってきて
インスタンス生成みたいな用途が多いと思ってたんだけど、

アクセス制限を回避するなんてキチガイじみた目的がメインで使う人もいるのか……
0425デフォルトの名無しさん2007/05/28(月) 12:13:45
>>424
使ってないんじゃね? 思いつく用途がそれだけだっただけで。
0426デフォルトの名無しさん2007/05/28(月) 12:23:08
>>424
ライブラリやフレームワークで独自のシリアライズとかする場合には
private なインスタンス変数にアクセスする用途に使われる
まぁメインの用途ではないよね.普通の用途なら Bean の getter, setter呼ぶのに使うとか?
0427デフォルトの名無しさん2007/05/28(月) 13:04:55
>>424
DIとかフレームワーク側は普通に使うよ
0428デフォルトの名無しさん2007/05/28(月) 14:27:56
ここで反論する理由がひとつでもある人は、使ってもいいと思う。
宣言をprivateにしておいて、値は特別な仕組みでリフレクション使って設定するようにして、通常のコードからは値が変更できないようにしておくとか。
0429デフォルトの名無しさん2007/05/28(月) 14:29:52
フレームワークで使うのは誰も否定してないんじゃね?
0430デフォルトの名無しさん2007/05/28(月) 14:38:56
ちょっとスレから外れてきた。 Java 低速GUI ネタよろ…
0431デフォルトの名無しさん2007/05/28(月) 14:57:08
今回の件に関しては reflection 使わずに
interface 定義してどうのこうのの方がよろしくね?

add した時に add された側(コンテナじゃなくてコンポーネント)で
呼び出されるメソッド(イベント)とかって無いんだろうか。
0432デフォルトの名無しさん2007/05/28(月) 15:46:09
>>431
HierarchyListener#hierarchyChanged(HierarchyEvent)
イベント内容で判断しないといけないけど。
0433デフォルトの名無しさん2007/05/28(月) 16:42:08
>>424
イディオムになるくらいよく出てくるならそこだけ纏めても別にかまわないと思うが->変なリフレクション
というか纏めてくれないとぬっころすって事にならんか?
0434デフォルトの名無しさん2007/05/28(月) 21:58:32
こんな感じのメソッドを定義しておけばいいんだよね。
static <T> List<T> getInstances(Object parent, Class<T>, String prefix)
でこんな感じで使えるようにする。
List<JTextField> fields = getInstances(window, JTextField, "f");
0435デフォルトの名無しさん2007/05/28(月) 23:55:10
>>434
設計からやり直した方がよくないか?
テキストフィールドのコンテナクラスを自作するとか。その程度の手間で解決できそうじゃない?
0436デフォルトの名無しさん2007/05/29(火) 00:08:13
ポトペタで同じような部品を並べていくとその手の変数名が
数値部分だけ違うインスタンス変数が並ぶんだよな。
手で作れば真っ先に配列か何かにするところなんだが。
0437デフォルトの名無しさん2007/05/29(火) 01:56:41
ポトペタで配列作ればいいじゃんw
0438デフォルトの名無しさん2007/05/29(火) 04:42:38
>>435
配置の自由度が低すぎるので採用できる場面は少なそう。
いまさら手コーディングでGUIも作れんし。
VEなりNetBeansなりが、コンポーネント配列に対応してくれればいいのだけど。
0439デフォルトの名無しさん2007/05/29(火) 06:03:52
>>438
ああ、ようやっと変なリフレクションが欲しい場合の文脈が読めた。
GUIビルダーつかってデザインした複数フィールドの時はたしかに欲しいかも。

普段は手で作ってるからそんなに欲しいと思わないけど忙しい時だと欲しいかもしらん。
0440デフォルトの名無しさん2007/05/29(火) 08:11:52
NeXTやOSXにはあるね
0441デフォルトの名無しさん2007/05/29(火) 10:45:31
リフレクションとこのぽとぺたとは関係ないぞ
0442デフォルトの名無しさん2007/05/29(火) 11:15:12
>>483
いや、そっちのコンテナじゃなくてjavaでいうならコレクションみたいな感じ。
そのコレクションをコンポーネント間で共有するか誰か管理クラスに持たせて問い合わせるようにすれば
コレクションそのものも、フィールドへもアクセスの自由度は確保できる。
外の様子知るためだけにリフレクションは流石にアプリケーションソフトとしてはまずい。

てか、javaでデスクトップアプリ作っててコレクション使う場合が俺には
クラスの動的ロード+コンストラクタorファクトリメソッド呼び出ししか思いつかん。
webフレームワークとかjavascriptならね。
0443デフォルトの名無しさん2007/05/29(火) 11:27:18
デスクトップアプリでコレクション???
0444デフォルトの名無しさん2007/05/29(火) 14:00:09
>>442
日本語でお・ね・が・い♪
0445デフォルトの名無しさん2007/05/29(火) 17:04:37
JTextField から派生して
初期化時にインスタンス管理クラス呼び出して
自分を登録するようなクラス作成すれば
ポトペタでも管理出来る。けどキモいな。
0446デフォルトの名無しさん2007/05/29(火) 18:29:11
ContainerListenerを使って、JTextFieldが追加されたときにArrayList<JTextField>に追加していくって手もあるな
0447デフォルトの名無しさん2007/05/30(水) 02:06:07
それだと、結局リフレクションが一番手間が少ない。
0448デフォルトの名無しさん2007/05/30(水) 03:30:01
結論はポトペタ使わずに手で書く、です…
0449デフォルトの名無しさん2007/05/30(水) 11:23:39
>>446が一番エレガントで無難だな
0450デフォルトの名無しさん2007/05/30(水) 12:24:33
それだとJTextFieldの振り分けが必要になるんじゃない?
そのための名前をどうするか。
0451デフォルトの名無しさん2007/05/30(水) 12:34:39
JTextFieldを継承したコンポーネントを用意すればいいだけだから問題ないだろ
もちろん変数はJTextFieldのままでいい
0452デフォルトの名無しさん2007/05/30(水) 12:47:07
>>446
間にJPanel1枚挟んでレイアウトするケースもあるし、
そう単純には行かないんじゃない?
0453デフォルトの名無しさん2007/05/30(水) 13:44:12
>>448
ララァは賢いな。
0454デフォルトの名無しさん2007/05/30(水) 15:49:12
シャアぁぁぁぁぁぁぁっぁああああ!!
0455デフォルトの名無しさん2007/05/30(水) 18:08:48
ざれごとはやめろよ
0456デフォルトの名無しさん2007/05/31(木) 03:29:09
>>455
じゃまです。
0457デフォルトの名無しさん2007/05/31(木) 04:30:18
>>451
わざわざ継承使ってコンポーネント作るなら、他に特別な仕組みがいらないリフレクションの方がいいと思うよ。
普通にGUIエディタが使えるし。
順番の指定とかはどうすんの?
04584572007/05/31(木) 04:36:09
継承使うというのは、影響範囲がでかい。
単にコンポーネント配列のために継承使うのはあまりいいとは思えんのだが。
GUIエディタ使いたい場合だと、「変数名を適切に指定して、あるメソッドに食わせたら配列ができる」ってのが一番手軽で影響範囲が少ないと思うのだが。

ここでのリフレクション否定の意見って、「リフレクションだからリフレクションはダメ」という理由ばかりな気がする。
0459デフォルトの名無しさん2007/05/31(木) 04:38:04
>>456
そういうセリフあったっけ?
0460デフォルトの名無しさん2007/05/31(木) 05:35:58
クリリンのことか?
0461デフォルトの名無しさん2007/05/31(木) 09:38:42
>>459
シーンは違うがこれだな
ttp://www.geocities.co.jp/AnimeComic-Pastel/3829/words40_Gundam.html
0462デフォルトの名無しさん2007/05/31(木) 10:02:26
ああ、あったあった。
0463デフォルトの名無しさん2007/05/31(木) 11:43:19
>>457
GUIエディタってのがNetBeansなら継承やマーカーインターフェースは普通につけれるし
順番の制御をしたいのならなおさらかと
0464デフォルトの名無しさん2007/06/01(金) 11:37:19
どっちでもやりたいようにやればいいと言うことで。

順番制御とか考えなきゃならんなら
最初から手で書けよ感がするけど。
0465デフォルトの名無しさん2007/06/01(金) 21:38:57
JFrame に Java3D の Canvas3D を配置すると、
JMenuBar で作成したメニューが Canvas3D の背後に隠れてしまうんですが、
解決できないものでしょうか。
0466デフォルトの名無しさん2007/06/01(金) 21:45:35
Canvas3D ってJComponents継承してる?
04674652007/06/01(金) 21:48:55
継承していないです。↓こんなんです。
java.lang.Object
 extended by java.awt.Component
  extended by java.awt.Canvas
   extended by javax.media.j3d.Canvas3D
0468デフォルトの名無しさん2007/06/01(金) 21:49:57
>>465
JPopupMenu#setLightWeightPopupEnabled(boolean) に false渡してもだめ?
04694652007/06/01(金) 21:53:18
JMenuBar, JMenu, JMenuItem しか使っていないんですけど。。。
0470デフォルトの名無しさん2007/06/01(金) 21:58:08
>>469
http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/JMenu.html
> メニューというのは実質的には JPopupMenu が割り当てられたボタンのことです。

JMenu#getPopupMenu()
04714652007/06/01(金) 21:58:37
はっ!これでうまくいったー!ありがとー。
JMenu fileMenu = new JMenu("ファイル");
fileMenu.getPopupMenu().setLightWeightPopupEnabled(false);
0472デフォルトの名無しさん2007/06/01(金) 22:40:36
AWTの[コンポーネントと混ぜる時点でどうしようもないんだよな
JOGLだったらGLJPanelで問題なしだが
0473デフォルトの名無しさん2007/06/02(土) 10:24:38
Java3D 1.5だとJCanvas3Dがある。
0474デフォルトの名無しさん2007/06/02(土) 10:59:08
Java3D1.5ってOpenGL1.5要求するらしいから結構きついな
0475デフォルトの名無しさん2007/06/02(土) 11:08:55
まともに対応しようとしないintelうぜぇとか言ってみるテスト
0476デフォルトの名無しさん2007/06/02(土) 14:40:13
Intelのチップセット内蔵グラフィックスだとJava 2DのOpenGLアクセラレートが使えないのは辛いです。。。
Intelのドライバの問題で対応できないのか、対応しないだけなのか分からないけど。。。
0477デフォルトの名無しさん2007/06/02(土) 17:15:58
Java2DのOpenGLアクセラレーションは有効にしても描画が崩れるだけなので使い道がねぇ
0478デフォルトの名無しさん2007/06/11(月) 11:25:53
JFileChooserでダイアログを出すと

ttp://2sen.dip.jp:81/cgi-bin/upgun/up1/source/up5993.jpg

のようにフォントの大部分が太字になってしまいます。

試しに
JFileChooser chooser = new JFileChooser();
chooser.setFont(new Font("Dialog", Font.PLAIN, 12));
のようにしてもダメでした。

どうすればこの太字をFont.PLAINにできるのでしょうか?
識者の方々、どうかアドバイスをお願いいたします。

OS:Windows2000、XP
JDK:1.6.0、1.6.0_01
でそれぞれ試してみました。
0479デフォルトの名無しさん2007/06/11(月) 12:05:15
すみません、上げます
0480デフォルトの名無しさん2007/06/11(月) 13:15:32
http://e-class.center.yuge.ac.jp/jdk_docs/ja/api/java/awt/Font.html
0481デフォルトの名無しさん2007/06/11(月) 13:16:55
https://java.sun.com/javase/ja/6/docs/ja/api/java/awt/Font.html
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/Font.html
0482デフォルトの名無しさん2007/06/11(月) 14:05:12
>>478
UIManager.setLookAndFeel()
0483デフォルトの名無しさん2007/06/11(月) 14:23:31
>>478

http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/free?page=LookAndFeel

フォントを指定して起動する
SwingのデフォルトのLook & FeelであるMetalはメニュー等のフォントがBoldでいまいち見た目がよくありません(JDK1.3までは普通だったのですが…)。JavaVMに起動オプションを与えることで、このフォントを変更することができます。

java -Dswing.plaf.metal.controlFont=Dialog-12 alpha.AppMain

また、JDK1.5ではMetalLookAndFeelでPLAINなフォントを使用するために以下のオプションが利用可能です。

-Dswing.boldMetal=false

コマンドラインオプションではなく、Javaコード中で設定する場合には以下のようにします。

UIManager.put("swing.boldMetal", Boolean.FALSE);


04844782007/06/11(月) 15:58:38
>>483
おおお、ベストアンサーでした。
ありがとうございます!
これで他のコンポーネントもsetFont(new Font("Dialog", Font.PLAIN, 12))をしなくて済みました。

他にもレスをくださった皆様方ありがとうございました。
0485デフォルトの名無しさん2007/06/11(月) 16:16:40
これって何でボールドに変更したのか謎だよなぁ…
0486デフォルトの名無しさん2007/06/11(月) 17:23:13
MigLayout使ってる人って居る?
シンプルで結構良さげだったのだけど。
0487デフォルトの名無しさん2007/06/11(月) 17:38:11
まず>>486が使ってみてメリット、デメリットを押さえた感想を教えてくれ
0488デフォルトの名無しさん2007/06/11(月) 21:52:58
>>484
やってること同じかもしれないけど
http://terai.xrea.jp/Swing/FontChange.html

private void updateFont(final Font font) {
EventQueue.invokeLater(new Runnable() {
public void run() {
FontUIResource fontUIResource = new FontUIResource(font);
UIDefaults defaultTable = UIManager.getLookAndFeelDefaults();
for(Object o: defaultTable.keySet()) {
if(o.toString().toLowerCase().endsWith("font")) {
UIManager.put(o, fontUIResource);
}
}
//SwingUtilities.updateComponentTreeUI(MainPanel.this);
recursiveUpdateUI(MainPanel.this);
frame.pack();
}
});
}
private void recursiveUpdateUI(JComponent p) {
for(Component c: p.getComponents()) {
if(c instanceof JToolBar) {
continue;
}else if(c instanceof JComponent) {
JComponent jc = (JComponent)c;
jc.updateUI();
if(jc.getComponentCount()>0) recursiveUpdateUI(jc);
}
}
}
0489デフォルトの名無しさん2007/06/11(月) 22:22:00
>>485
英字さえ見栄えがよけりゃいいって感じかと
0490デフォルトの名無しさん2007/06/12(火) 02:50:08
スレ違いかもしれないが、質問。
Swingでアプリを作りたいんです、得意先台帳に送り状印刷機能がついたようなのなんですが。
Accessみたいにプリンタ(ドットインパクト)の指定と用紙サイズ(ヤマトだと15*4 1/2インチ)を指定して、
ボタン一発で印刷ってできるのでしょうか?
詳しい方教えてください。
よろしくお願いします。
0491デフォルトの名無しさん2007/06/12(火) 03:48:24
それを自分で作るんだろうが。
javaでドラクエ作れますか?て聞いてるのとかわらんな。
最近javaスレでこの流れ多いな。
0492デフォルトの名無しさん2007/06/12(火) 04:37:40
POIでいけるんじゃね?
0493デフォルトの名無しさん2007/06/12(火) 08:47:19
>>490
PrintRequestAttributeSet
0494デフォルトの名無しさん2007/06/12(火) 10:26:53
>>490
プリンタドライバ経由ならできるよ。
javax.printパッケージを見るといい。
0495デフォルトの名無しさん2007/06/12(火) 11:38:35
佐川やヤマトの送り状とか契約書とかドットインパクトでの印刷はよくやるな
業務系だと連帳は基本だしな

ただ、Swingとあまり関係のないところだな
ネイティブのプリンタのプロパティ使いたい場合awtのダイアログを使ったほうがいい場合もあったような

あとitextあたりでPDFを生成して印刷はAdobeReaderに任せるという方法もある

ヤマトならcsvとかXML作ってヤマトが無料配布している送り状印刷ソフト使う手もある
備考欄とかイマイチ文字数が足りないとかあるけど、細かいカスタマイズがしたいとかなら
予算次第(&個数)だがヤマトシステムに話をしたほうがいいかも
0496デフォルトの名無しさん2007/06/12(火) 12:32:14
毎月1000部くらい刷るって言ったらソフト作ってくれるのかな
0497デフォルトの名無しさん2007/06/12(火) 12:54:31
>>496
作ってくれるかどうかはお金次第でしょ。
0498デフォルトの名無しさん2007/06/12(火) 13:35:48
あとはシステムだけじゃなくそこの担当地区の営業さんの力次第ってのもある
地区によっては厳しいところもあるからそういうところはプッシュしてくれる

でも1000部程度で乗せるものによっては自前で印刷したほうがいいかも
長期間にわたって定期的に発送などならちゃんと契約すれば自前で印刷とか梱包もやる必要はないよ
資材とか送るとヤマトのほうで全部やってくれる

1000枚の送り状番号の管理とか印s夏して箱詰めとかが面倒だと思ったら
まずは近くの営業の人(ドライバーとか)に話をしてみるといいかと
0499デフォルトの名無しさん2007/06/12(火) 13:36:03
>>497
簡単なんだから自分で作れよ。
0500デフォルトの名無しさん2007/06/12(火) 23:59:02
皆さん(>491除く)、色々と有難う。

PDFを使うやり方や、ダイアログを使うやり方だと、
ボタン一発ではないので面倒くさがられてしまいます。
現在の使いかただと、キー入力のスピードに画面の表示が追いつかないくらいなので。

>>493,494氏にお教え頂いたのを勉強してみようと思います。
0501デフォルトの名無しさん2007/06/13(水) 00:25:39
PDFを使う利点はプレビューできるってとこだな
Accessとかで手軽にプレビュー作れてたシステムの置き換えに使うといい
あとダイアログはだす、ださないだけの違いだからどうにでも

現在の使い方だとキー入力に画面が追いつかないってのが意味不明
0502デフォルトの名無しさん2007/06/13(水) 00:31:46
javax.printだと、Graphicsに書き込むことには違いないから、JComponentのpaintComponentsからも同じ処理呼び出せばプレビュー自体は比較的簡単だよ。
標準で持ってて欲しいとも思うが。
0503デフォルトの名無しさん2007/06/13(水) 01:56:40
PDFを使う利点は偽造されにくいっていうのも
どこかのサイトに書いてあったけど本当?
0504デフォルトの名無しさん2007/06/13(水) 02:52:14
印刷の途中仮定という意味でなら、PDFなんて中間形式使わずに直接印刷したほうが偽造されにくい。
0505デフォルトの名無しさん2007/06/13(水) 08:43:41
xsl-foのこともたまにで良いので思い出してあげてください。
まさに組版並の印刷用途向け中間形式なんだが。
まあ、まともにサポートしてるライブラリは商用ライセンスだが。
xsl-foをjava2dにさえ描画できればあとはどうにでもなる。


てか、○○さん以外ありがとう
とか言ってる奴たまにいるけど馬鹿かこいつら?
0506デフォルトの名無しさん2007/06/13(水) 09:46:26
かわいそうな人はスルーした方がお互いのため。
0507デフォルトの名無しさん2007/06/13(水) 10:04:45
JPopupMenu#show を呼ぶと、デフォルトで、最初のメニュー項目が
選択されてしまうのですが、これを選択されないようにすることはできますか?
05084782007/06/13(水) 10:33:04
>>488
おお、情報提供ありがとうございます。
再帰的にコンポーネントをゲットしてフォントを変えていくんですね。
参考になります。
0509デフォルトの名無しさん2007/06/17(日) 23:55:36
すいません、swingで
javax.swing.JOptionPane.showMessageDialog(null, "hello");
で helloと表示されるダイアログが表示されるのですが、
このhelloのフォントってどうやって指定するのでしょうか?

リファレンスみたのですが、どうもそのような設定項目がなくて…

0510デフォルトの名無しさん2007/06/18(月) 00:12:28
一応出来るけど、OSがメッセージだすように環境依存ってことになるから
将来のバージョンで動作が保障されないとかそういうことになってもいいのかい?

カスタマイズしたダイアログがほしいなら自前で作成すべき

あと最初の引数をnullにする場合なんてありえんと思う
0511デフォルトの名無しさん2007/06/18(月) 00:30:00
>>510
コマンドラインから出したり。
0512デフォルトの名無しさん2007/06/18(月) 10:05:59
>>509
javax.swing.JOptionPane.showMessageDialog(null, "<html><font size=20 face=\"MS 明朝\">hello</font></html>");
■ このスレッドは過去ログ倉庫に格納されています