1

我正在尝试将一个字符串和 a 显示BufferedImage到 a 上JFrame,它们都作为方法的输出。我无法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 回答
0

充满鳗鱼的气垫船实际上回答了我的问题。我想同时返回 String 和 BufferedImage 但现在我知道这是不可能的。感谢大家的帮助 :)

于 2013-04-16T03:28:55.293 回答