java如何使用JFileChooser和JLabel将图像上载到JTextArea
我有一套我编译过的代码,没有任何错误。代码应该从本地目录中选择一个图像文件,并使用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);
}
}
# 1 楼答案
JTextArea仅用于显示文本,而不是图像
add(…)方法不会执行任何操作,因为JTextArea不使用布局管理器,因此任何组件的大小都将是(0,0),因此没有任何可绘制的内容
如果试图为文本区域创建背景,则需要通过覆盖文本区域的paintComponent()进行自定义绘制
如果您确实希望图像和文本一起显示,则需要使用
JTextPane
。JTextPane
支持insertIcon(…)
方法