1

メソッドからの出力として、文字列と a を表示しようとしていますBufferedImageJFrameを画像から分離できないStringため、両方を に追加する必要がありJFrameます。

ここに私がこれまでに行ったコードがあり、何も表示されていません。よろしくお願いいたします。

String path = getUserInfo("abc123"); <-- method that returns a string and a buffered image
BufferedImage image = null;
try {
    image = ImageIO.read(new File(path));
} catch (IOException ex) {
    Logger.getLogger(InstagramClient.class.getName()).log(Level.SEVERE, null, ex);
}
JFrame f = new JFrame();
f.setSize(400,400);
f.setVisible(true);
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon, JLabel.CENTER);
JOptionPane.showMessageDialog(null, label, "icon", -1);
4

3 に答える 3

3

ここdrawString()に示すように、を使用して画像上に文字列をレンダリングできます。

または、ここlabel.setText()に示すように、ラベルの水平方向と垂直方向の配置を使用して配置することもできます。

于 2013-03-13T03:56:35.517 に答える
3

基本的に、ラベルのsetTextメソッドを使用して、ラベルのテキスト値を指定できます。

また、フレームにラベルを「追加」する必要があります。そうしないと、何も表示されません。

String path = getUserInfo("abc123"); <-- method that returns a string and a buffered image
BufferedImage image = null;
try {
    image = ImageIO.read(new File(path));
} catch (IOException ex) {
    Logger.getLogger(InstagramClient.class.getName()).log(Level.SEVERE, null, ex);
}
JFrame f = new JFrame();
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel("This is some text", icon, JLabel.CENTER);
f.add(label);
f.setVisible(true);
于 2013-03-13T04:06:44.643 に答える