"the little cat is good"
"there is no tomorrow"
"cat is what I need"
我想要的输出将是一个包含以下项的JScrollPane:
"the little *cat icon* is good"
"there is no tomorrow"
"*cat icon* is what I need"
我发现了创建自定义ListCellRenderer来替换DefaultListModel的建议。在所有的例子中,一个imageIcon是作为图标添加到lable中的,不幸的是,这只在文本的开头添加了一个图标,这不是我想要的。
以下是本网站示例之一的相关部分:
@Override
public Component getListCellRendererComponent(
JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
// Get the renderer component from parent class
JLabel label =
(JLabel) super.getListCellRendererComponent(list,
value, index, isSelected, cellHasFocus);
// Get icon to use for the list item value
Icon icon = icons.get(value);
// Set icon to display for value
label.setIcon(icon);
return label;
}
您可以使用JLabel
的html特性,将cat
切换到
例
public class JListTest extends JPanel{
private static final long serialVersionUID = 1L;
public JListTest(){
this.setLayout(new BorderLayout());
JScrollPane scrollPane = new JScrollPane();
String[] data = {"the little cat is good", "there is no tomorrow" , "cat is what I need"};
switchToHtml(data);
replaceWithImage(data,"cat","cat.png");
JList<String> list = new JList<String>(data);
scrollPane.getViewport().add(list);
this.add(scrollPane,BorderLayout.CENTER);
}
private void replaceWithImage(String[] data, String replace, String image) {
for (int i = 0; i < data.length; i++) {
String text = data[i];
if (text.contains(replace)){
text = text.replaceAll(replace, "<img src=\"" + JListTest.class.getResource(image) + "\">");
data[i]=text;
}
}
}
private void switchToHtml(String[] data) {
for (int i = 0; i < data.length; i++) {
data[i]="<html><body>" + data[i] + "</body></html>";
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(new JListTest(),BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
要进行测试,只需在与类
相同的包中添加一个cat.png
。
问题内容: 我想代替标准单选按钮,对每个单选按钮使用不同的图像。对于选定状态,我希望在图像周围出现边框。 我尝试为单选按钮制作图像标签,然后隐藏该按钮,但是由于某种原因,这似乎破坏了功能。 有没有更简单/更好的方法? 问题答案: jQuery 演示源中的完整代码;
我有一条短信。在这篇文章中是一张图片。我想把每个单词柏林都换成一个链接。现在我有问题,这站在图片的旧部分也是柏林,这也被取代。 有没有可能照片中的柏林没有被取代?注意,代码只是一个示例。我通常从wordpress获取内容。但这与此无关。我想。
问题内容: 我目前正在开发一个简单的聊天应用程序。我想在此应用程序中添加表情符号功能。我已经有一个从其他用户接收字符串的功能。我想要的是- 如果用户发送的文本包含CharSequence之类的字符,例如“:D”或“:p”,我希望将它们更改为表情符号。如何实现此功能? 我想要这样的功能: 如果可以的话,请帮助我。如果还有其他方法,请提及它们。 问题答案: 你可以这样尝试
问题内容: 我想替换图像的颜色。例如,将所有蓝色变为红色而形状没有任何变形。当我尝试这样做时,我可以通过迭代每个像素来交换颜色,但是交换区域的形状变为平坦的形状。 example1输入:http: //www.tutorialwiz.com/tutorials/changing_color/images/original.jpg example1输出:http : //www.tutorialwi
问题内容: 好的,所以我有这个yaml文件,我想替换一个字符串 与字符串 但是我不知道该怎么办。这是完整的Yaml文件 问题答案: 假设您使用的操作系统不错,并且您的YAML文档称为:
问题内容: 我需要从OracleSQL中的employees表中显示Employee及其佣金金额,但是条件是如果它遇到值,我需要打印_“ No Commission”_ 。 在第一部分中,我写道: 但是我无法获得如何用 “ No Commission” 代替价值观。 问题答案: 您可以使用表达式: 或: 或: PS如果不是数据类型,则也应使用或。