- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在获取 ListModel 的所有元素时遇到问题,当我尝试将字符串写入文件时,它们输出如下所示的内容:
[Ljava.lang.String;@79b43f[Ljava.lang.String;@79b43f
那我做错了什么?这是导致悲伤的代码:
for (int i = 0; i < listModel.getSize(); i++)
{
String[] temp = listModel.getElementAt(i).toString().split("-");
bw.write(temp[0]);
bw.write(temp[1]);
System.out.println(temp[0]);
}
bw 是一个 bufferedWriter,listModel 是我制作的自定义列表模型。您可能会注意到我已经分割了字符串,这是因为我想从每个列表行中提取两个不同的值,我只是完成了 setText (text + "-"+ text) 在我的 customCellRenderer 实现中,以便我能够使用“-”字符作为分隔符来提取两个值
public class CustomCellRenderer extends JLabel
implements ListCellRenderer
{
JLabel left, right;
}
public CustomCellRenderer()
{
setOpaque(true);
}
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{
String leftData = ((String[])value)[0];
String rightData = ((String[])value)[1];
// simply will not function how i want it to.. GRR
leftData = String.format("%-50s", leftData);
setText(leftData + "- " + rightData);
if (isSelected)
{
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
}
else
{
setBackground(list.getBackground());
setForeground(list.getForeground());
setBackground(list.getBackground());
setForeground(list.getForeground());
}
return this;
}
}
最佳答案
您发布的不是 ListModel
- 它是 ListCellRenderer
。但这确实强化了这样的想法:JList
中的每个项目都是 String[]
- 例如您将 JList
中的每个值转换为 String[]
进行渲染。
String leftData = ((String[])value)[0];
String rightData = ((String[])value)[1];
似乎对于 ListModel
的填充位置存在一些困惑。您的帖子/代码表明您认为它正在 ListCellRenderer
中填充 - 事实并非如此。它只是解决如何显示 ListModel
中已有的值。
因此,快速修复可能是在“让你悲伤的代码”中:
String[] temp = (String[]) listModel.getElementAt(i);
bw.write(temp[0]);
bw.write(temp[1]);
但是,我不会真正鼓励这样做,因为您将拥有未经检查的类转换。
相反,我建议您首先考虑为什么要使用 String[]
填充 ListModel
?例如您是否按如下方式构建 JList
:
JList myList = new JList(new String[]{"A","B"}, new String[]{"C","D"});
关于java - JList/ListModel getElements 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749783/
我有这段用于平滑滚动的代码,它工作得很好,但只适用于一个“clickme”id,我怎么能将这段代码用于多个选项卡,我++ Scroll to red section! Scroll to b
对于这个作业,我们正在编写一个不可变的类,它实现了一个矩阵接口(interface),该接口(interface)具有一些矩阵函数,加、减、乘...我们克隆提供的数据以创建一个不可变的新矩阵。接口(i
我编写了一些在 Chrome 上运行良好的代码。但是,在 Firefox 上运行时,它不起作用。 Firebug 报告 getClass 函数中的parentElement 字段未定义。看起来也许 F
无法理解 getElements 的行为 var ele = document.getElementsByClassName('logo-save'); console.log('Elements',
这个问题已经有答案了: Why does jQuery or a DOM method such as getElementById not find the element? (7 个回答) 已关闭
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
我不想将值传递给函数,我希望它自己找到值。 function add(buttonNum) { var elements = document.getElementsByTagName("b
大家好。 在 EXTjs(可能是 4.x 版本)中,我有一个带有几级子菜单的菜单我想向其中一些子菜单添加数据属性,实际上我可以毫无问题地执行此操作:Ext.getCmp("notificationMe
document.getElements() 函数的支持程度如何。此外,是否有一个 javascript 引用页面在某处包含详细的浏览器支持信息。我通常使用 mozilla 文档,但我想知道是否有更好
仅在 IE 中查看页面时,我遇到 JavaScript 问题。我明白了: object doesn't support this property or method 我的 JavaScript 代码
我正在尝试将 Joomla 1.5 插件转换为 Joomla 2.5 插件。当这个插件运行时,Firebug 会说“TypeError: document.getElement is not a fu
我有一个包含值的网格 我需要禁用第二行的 ID 为分钟的文本框。以下示例不起作用。 document.getElementById("h_ID")[2].readOnly = true; 有人可以帮我
我在获取 ListModel 的所有元素时遇到问题,当我尝试将字符串写入文件时,它们输出如下所示的内容: [Ljava.lang.String;@79b43f[Ljava.lang.String;@7
我们正在处理遗留代码,并且遇到不稳定测试的问题。 我想增加默认超时,但 driver.findElement 在很多地方都使用 - 覆盖每个调用以使用 WebDriverWait 将是一项艰巨的任务。
我试图使函数的结果出现在脚本外部的元素中。我得到的不是结果,而是“未定义”消息。这可能只是一个语法问题,但我无法让它工作。 这是我所做的: 1 + 2 = here goes the
我正在创建一个数组,其中包含我的应用程序中某些组件的高度。 为此,我必须获取元素及其高度。 我是通过这个函数做到的: getElement(method, elem){ switch (met
出于某种原因,getElementById() 和 getElementsByClassName() 无法定位 gmail 上的许多元素。例如,导航栏上标题为“邮件”的 div 具有代码: Mail
本文整理了Java中org.eclipse.xsd.XSDFeature.getElement()方法的一些代码示例,展示了XSDFeature.getElement()的具体用法。这些代码示例主要来
本文整理了Java中org.eclipse.xsd.XSDConcreteComponent.getElement()方法的一些代码示例,展示了XSDConcreteComponent.getElem
本文整理了Java中bibliothek.util.xml.XElement.getElement()方法的一些代码示例,展示了XElement.getElement()的具体用法。这些代码示例主要来
我是一名优秀的程序员,十分优秀!