只是试图为JTextPane中的文本着色 - 但问题是文本和下划线不能有不同的颜色.我该怎么办?或者甚至可能吗?下面的示例打印所有文本并以红色下划线.
JTextPane pane = new JTextPane();
StyleContext context = new StyleContext();
Style style = pane.addStyle("Black", null);
StyleConstants.setAlignment(style, StyleConstants.ALIGN_RIGHT);
StyleConstants.setFontSize(style, 14);
StyleConstants.setSpaceAbove(style, 4);
StyleConstants.setSpaceBelow(style, 4);
StyleConstants.setForeground(style, Color.BLACK);
StyledDocument document = pane.getStyledDocument();
style = pane.addStyle("Red Underline", style);
StyleConstants.setForeground(style, Color.RED);
StyleConstants.setUnderline(style, true);
pane.getDocument().insertString(0, "Test String", style);
Run Code Online (Sandbox Code Playgroud) 问题实际上是关于在集合中动态变化的对象."包含"方法是每次都单独比较每个对象还是做一些聪明的事情?
如果你在一个集合中有10000个条目,我会期望它更聪明地工作但不确定.或者如果没有,有没有办法通过添加一个钩子来优化它,该钩子会告诉集合对象更新已经改变的对象的哈希码?
附加问题:
感谢下面的答案......我还可以问一下ArrayList会发生什么吗?我在文档中找不到任何说明不在ArrayList中放置可变对象的内容.这是否意味着搜索算法只是去比较每个对象的哈希码?