问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中如何在JTextArea中添加图片?

发布网友 发布时间:2023-07-17 08:35

我来回答

2个回答

热心网友 时间:2024-12-01 08:57

JTextPane 是可以做的,

import java.io.File;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class 文本窗格里的组件和图标 extends JFrame {
private JFileChooser chooser = new JFileChooser();
private JTextPane textPane = new JTextPane();

public 文本窗格里的组件和图标() {
Container contentPane = getContentPane();
JMenuBar menuBar = new JMenuBar();
JMenu insertMenu = new JMenu("Insert");
JMenuItem imageItem = new JMenuItem("image"),
chooserItem = new JMenuItem("color chooser");

insertMenu.add(imageItem);
insertMenu.add(chooserItem);

menuBar.add(insertMenu);
setJMenuBar(menuBar);

textPane.setFont(new Font("Serif", Font.ITALIC, 24));

contentPane.add(textPane, BorderLayout.CENTER);

chooserItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JColorChooser chooser = new JColorChooser();
chooser.setMaximumSize(
chooser.getPreferredSize());
textPane.insertComponent(chooser);
}
});
imageItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int option =
chooser.showDialog(文本窗格里的组件和图标.this,"Pick An Image");

if(option == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();

if(file != null) {
textPane.insertIcon(new ImageIcon(
file.getPath()));
}

}
}
});
}
public static void main(String args[]) {
GJApp3.launch(new 文本窗格里的组件和图标(),
"Using JTextPane",300,300,450,300);
}
}
class GJApp3 extends WindowAdapter {
static private JPanel statusArea = new JPanel();
static private JLabel status = new JLabel(" ");

public static void launch(final JFrame f, String title,
final int x, final int y,
final int w, int h) {
f.setTitle(title);
f.setBounds(x,y,w,h);
f.setVisible(true);

statusArea.setBorder(BorderFactory.createEtchedBorder());
statusArea.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));
statusArea.add(status);
status.setHorizontalAlignment(JLabel.LEFT);

f.setDefaultCloseOperation(
WindowConstants.DISPOSE_ON_CLOSE);

f.addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
System.exit(0);
}
});
}
static public JPanel getStatusArea() {
return statusArea;
}
static public void updateStatus(String s) {
status.setText(s);
}
}

热心网友 时间:2024-12-01 08:58

JTextArea 对应于 PlainDocument, 不支持 插入图片之类Rich Text。


想插入图片需要使用JTextPane。

    JTextPane textPane = new JTextPane();
    StyledDocument doc = (StyledDocument) textPane.getDocument();

    Style style = doc.addStyle("StyleName", null);
    StyleConstants.setIcon(style, new ImageIcon("imagefile"));

    doc.insertString(doc.getLength(), "ignored text", style);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...爱你你是我的罗密欧 , 我愿意变成你的朱丽叶' 谁知 有句歌词是“我爱你你是我的朱丽叶,我愿意变成你的梁山伯”是哪... 为什么打印出来的文档页码和原来的不一样 ...两台电脑用路由器上网一台是W7一台是XP如何实现两台电脑共享文件 win7怎么联另一台电脑win7怎么让网络和另一台电脑共享 w7的系统怎么共享电脑w7系统里面文件怎么共享另一台电脑 共享win7电脑w7系统里面文件怎么共享另一台电脑 翡翠有收藏价值吗,我们玩家如何去投资 价格一两万元的翡翠如何挑选 ppt怎么转换成视频?简单四步法,轻松搞定ppt微课录制 广州市第一中学初中部(帮忙``问路``最好有地图) 求教:现代汉语普通话不包括声调的音节有几个? 用JG或者GJ给泰迪狗狗起名字,起什么样的比较好听? 普通话的声韵调如何分类? 增城中学和增城一中的区别 普通话的声调是不是有所缺失,是否不止四个音 普通话的调类不包括:() 父亲逝世做新年女儿需要做什么准备? 威海海悦国际建国饭店KTV的问题 北斗七星高哥舒夜带刀下一句 北斗七星高哥舒夜带刀的后一句_百度... 请问这个结论用微元法怎么证明? 怎么在PS里画一个10cm直径的圆 大蒜头炒焦煮水喝,说治疗肠胃不好,经常腹泻的很有效果偏方。大家有吃... 我老爸三十多年的中耳炎,现在开到取出肉芽,医生说已经是中耳癌,请问... 富士6900S相机能用TF卡(或其它卡)转CD卡使用吗 富士S2600HD的产品参数 预付款未支付,预付款保函可以索赔吗 1983年12月8号内蒙古通辽地区下雪了吗 天亮以前说再见风格的歌曲有哪些 受养人可以和港籍孩子一样参加高考吗 西游记第几集唐僧去西天取经 武汉ww是什么意思 《八千里路云与月》最新txt全集下载 百年土墙泥能治病吗? 土楼的墙是用泥土制造的为什么不会塌? 以前盖房子的土砖拆了之后为什么变成了肥料?我爸爸说把那种土砖放到田里... 为什么几号几号后面接的单词不同一个是nd一个是rd一个是th nd,th,rd有什么区别 请问数词后面的这些东西都有什么区别是什么意思啊... 洺悦国际湖光樾大平层那个户型怎么样啊? 有没有懂的人给讲讲洺悦国际湖光樾洋房户型怎么样? 有最近去看了洺悦国际湖光樾的吗?我之前去的时候他们很多都还没开放,绿... 彩云湖那边有个盘洺悦国际·湖光樾有人去看过吗?小区环境怎么样? closed和cooked发音是否一样 盈通主板进不去u盘启动盘怎么办 盈通主板中的USB检测不到U盘 为什么男朋友明明很爱你 为什么QQ有小号还不承认不告诉你呀_百度... ...有微信小号,当面问他不承认 说是朋友的微信不告诉我密码说从不登... 男朋友用小号加了前女友,不敢告诉我,说明什么 男友为什么有小号,不告诉我呢? 请问党参、黄芪、锁阳、当归、红枣、枸杞、鹿茸,一起泡酒,药性合否