質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

2074閲覧

JAVAで自分のフォルダの中に入ってる写真を背景として表示させようとしても表示されない

pancy

総合スコア11

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/05/01 03:29

###前提・実現したいこと

JAVAで最終的には対戦型の格闘ゲームを目標に作っています。
参考にしたサイト

###発生している問題・エラーメッセージ

画像を保存する場所がよくないのでしょうか エラーメッセージ

###該当のソースコード

JAVA

1ここにご自身が実行したソースコードを書いてください 2```import javax.swing.JFrame; 3import javax.swing.JPanel; 4import javax.swing.JLabel; 5import javax.swing.ImageIcon; 6import java.awt.Container; 7import java.awt.BorderLayout; 8 9class gazou_1 extends JFrame{ 10 public static void main(String args[]){ 11 gazou frame = new gazou("タイトル"); 12 frame.setVisible(true); 13 } 14 15 gazou(String title){ 16 setTitle(title); 17 setBounds(100, 100, 300, 250); 18 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 19 20 JPanel p = new JPanel(); 21 22 ImageIcon icon1 = new ImageIcon("./syute.png"); 23 ImageIcon icon2 = new ImageIcon("./world.png"); 24 25 JLabel label1 = new JLabel(icon1); 26 27 JLabel label2 = new JLabel(); 28 label2.setIcon(icon2); 29 30 p.add(label1); 31 p.add(label2); 32 33 Container contentPane = getContentPane(); 34 contentPane.add(p, BorderLayout.CENTER); 35 } 36} 37 38###試したこと 39ほかのサイトのものも試してみたんですが、うまくいかなかったです 40[[ほかに試したサイト](https://www.javadrive.jp/tutorial/imageicon/index4.html) 41[ほかに試したサイト2](https://www.javadrive.jp/jfreechart/plot/index9.html) 42など 43###補足情報(言語/FW/ツール等のバージョンなど) 44より詳細な情報 45![イメージ説明](78a793a025d9fa7b6c8842db9c32f894.png)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masaya_ohashi

2017/05/01 03:44

使っているIDEはなんですか?EclipseとかNetBeansとか…それとも自分でjavac等でコンパイルしていますでしょうか。それと、ビルドする前の状態のフォルダ構成も書いてください。
pancy

2017/05/02 00:35

Eclipse。ビルドする前のフォルダ構成というのは何の事でしょうか。何分独学の故、知識不足なのでもしよろしかったら、教えてもらえますでしょうか。
masaya_ohashi

2017/05/02 01:36

Eclipse等を聞いたことがないということは、メモ帳でJavaコードを書いて、コマンドプロンプトでjavacの実行等をされているかと思います。IDEというのは「総合開発環境」のことで、プログラミングの様々なことをサポートしてくれるソフトウェアを指します。ビルド前のフォルダ構成とは、あなたはbinフォルダという名前を作っているのでおそらくそれと対になるsrcというフォルダもあると思います。そちらのことをビルド前のもの、と指しています。
pancy

2017/05/02 01:43

srcというフォルダありました。
guest

回答1

0

ベストアンサー

2点おかしい点があります。
1点目ですがおそらくパスが間違っていると思います。
まずはフルパスでの実行をお勧めします。

例 "C:/workspace/syute.png"

その後動作確認ができれば以下を追加してパスを確認してから相対パスに切り替えるとよいと思います。

gazou_1の上に記載

import java.io.File;

gazou_1内に記載

String path = new File(".").getAbsoluteFile().getParent();
System.out.println(path);

2点目ですがコンストラクタ名が違います。
クラス名と同じにする必要があります。
間違い
gazou(String title){
正しい
gazou_1(String title){

投稿2017/05/01 07:15

jp0457982

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pancy

2017/05/02 00:58

ありがとうございます。うまく表示されました。 これから、画像の上にキャラを載せて動かせるようにしていきたいと思います。
pancy

2017/05/02 02:23

画像の表示サイズを変えるために //java.appletパッケージをimport宣言 //Graphicsクラスはawtパッケージに属しているのでawtパッケージもimport宣言 import java.applet.*; import java.awt.*; //Appletクラスを継承 public class AppletSample17 extends Applet{ //画像を格納するための変数を用意します。 Image img; //はじめに一度だけ実行するメソッド public void init(){ //Imageクラス型変数に画像データを入れる img = getImage(getDocumentBase(),"icon/hoseki.jpg"); public void paint(Graphics g){ //画像を表示する g.drawImage(img,10,10,64,48,this); g.drawImage(img,170,20,128,96,this); g.drawImage(img,470,30,192,144,this); } } ・・・・・・・・・・を・・・・・・・・ import java.awt.Container; import java.awt.Graphics; import java.awt.Image; import java.io.File; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; class gazou extends JFrame{ public static void main(String args[]){ String path = new File(".").getAbsoluteFile().getParent(); System.out.println(path); gazou frame = new gazou("~Dream Match~"); frame.setVisible(true); } gazou(String title){ setTitle(title); setBounds(100, 100, 1000, 800); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); ImageIcon icon1 = new ImageIcon("Z:/Java/gazou1/bin/gazou1/syute.png"); // ImageIcon icon2 = new ImageIcon("Z:/Java/gazou1/bin/gazou1/world.png"); JLabel label1 = new JLabel(icon1); // JLabel label2 = new JLabel(); // label2.setIcon(icon2); p.add(label1); // p.add(label2); class Applet extends { //画像を格納するための変数を用意します。 Image img; //はじめに一度だけ実行するメソッド public void init(){ //Imageクラス型変数に画像データを入れる img = getImage(getDocumentBase(),"Z:/Java/gazou1/bin/gazou1/syute.png"); } public void paint(Graphics g){ //画像を表示する g.drawImage(img,10,10,64,48,this); g.drawImage(img,170,20,128,96,this); g.drawImage(img,470,30,192,144,this); } } Container contentPane = getContentPane(); contentPane.add(p, BorderLayout.PAGE_END); } } のように貼り付けました。いろいろなサイトを見てみたら多重継承はできないやら何やらと書いてあり、どういうことなのか私なりに調べたのですが解決には至らなかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問