画像を表示したいなら、普通に考えるとウィンドウが必要ですね。
Java言語限定なら、Javaアプレット
ですかね。Javaアプレットってまだ使える??
他には、Processing
ですかね。
VS Codeのウィンドウに表示するのは、ハードルが高そう(Javaでは無理かも)。
Like!
【Java VSCode】
【目的】
キーボードで"うさぎ"と入力されたら、
うさぎの画像が表示されるような
プログラムをつくりたいです。
初心者ですが、下のコードを書いてみました。
if文で"うさぎ"が入力された時に画像を表示したいです。
途中のコード↓
import java.util.Scanner;
class ImageDisplay{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
String num = scanner.nextLine();
if(num.equals("うさぎ")){
//うさぎの画像の表示
}
}
}
画像を表示したいなら、普通に考えるとウィンドウが必要ですね。
Java言語限定なら、Javaアプレット
ですかね。Javaアプレットってまだ使える??
他には、Processing
ですかね。
VS Codeのウィンドウに表示するのは、ハードルが高そう(Javaでは無理かも)。
Swingフレームワークを使用すれば、簡単に画像が表示できました。
以下のコードでsample.png
を表示できることを確認しましたので、文字列の入力と判定を追加して、画像ファイルのファイル名を切り替えるようにすれば、やりたいことが実現できると思います。
import javax.swing.*;
import java.awt.*;
import java.io.File;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
public class ImageDisplay extends JFrame {
private BufferedImage image;
public ImageDisplay(String filename) {
try {
// sample.png ファイルを読み込む
image = ImageIO.read(new File(filename));
} catch (IOException e) {
e.printStackTrace();
System.exit(1);
}
// JFrameの設定
setTitle("Image Display");
setSize(image.getWidth(), image.getHeight() + 30);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null); // 画面中央に表示
}
@Override
public void paint(Graphics g) {
super.paint(g);
// 画像を描画する
g.drawImage(image, 0, 30, this);
}
public static void main(String[] args) {
// JFrameを表示
SwingUtilities.invokeLater(() -> {
ImageDisplay frame = new ImageDisplay("sample.png");
frame.setVisible(true);
});
}
}