繁体   English   中英

如何使用 JFileChooser 和 JLabel 将图像上传到 JTextArea

[英]How to upload image to JTextArea using JFileChooser and JLabel

我有一组我编译的代码没有任何错误。 该代码应该 select 从本地目录中获取一个图像文件,并使用 JFileChooser 和 JLabel 上传到 JTextArea。 但是在运行时,选择的图像没有显示。

下面是代码片段。

JLabel jLab=new JLabel();
private void openActionPerformed(java.awt.event.ActionEvent evt){
    JFileChooser jfc=new JFileChooser();
    if(jfc.showOpenDialog(jMenu1)==JFileChooser.APPROVE_OPTION){
        java.io.File f=jfc.getSelectedFile();
        jLab.setIcon(new ImageIcon(f.toString()));
        jtextareaDisplay.add(jLab, 0);
    }
}
jtextareaDisplay.add(jLab, 0);

JTextArea 仅用于显示文本,而不是图像。

add(...) 方法不会做任何事情,因为 JTextArea 不使用布局管理器,所以任何组件的大小都是 (0, 0),所以没有东西可以绘制。

如果您尝试为文本区域创建背景,则需要通过覆盖文本区域的 paintComponent() 来进行自定义绘制。

如果您真的想要一起显示图像和文本,那么您需要使用JTextPane JTextPane支持insertIcon(…)方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM