【问题标题】:How to upload image to JTextArea using JFileChooser and JLabel如何使用 JFileChooser 和 JLabel 将图像上传到 JTextArea
【发布时间】:2020-05-16 23:28:52
【问题描述】:

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

下面是代码sn-p。

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);
    }
}

【问题讨论】:

    标签: java image swing jlabel jtextarea


    【解决方案1】:
    jtextareaDisplay.add(jLab, 0);
    

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

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

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

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

    【讨论】:

    • 谢谢camickr。我会尝试使用 JTextPane
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多