Java 将JList复制到arrayList时出错
我正在尝试将JList复制到数组列表中Java 将JList复制到arrayList时出错,java,swing,jlist,Java,Swing,Jlist,我正在尝试将JList复制到数组列表中 ArrayList<String> aList= new ArrayList<String>(); size= list.getModel().getSize(); //list is a JList defined elsewhere for(int i=0;i< size ;i++){ aList.add(list.toString()); } ArrayList aLis
ArrayList<String> aList= new ArrayList<String>();
size= list.getModel().getSize(); //list is a JList defined elsewhere
for(int i=0;i< size ;i++){
aList.add(list.toString());
}
ArrayList aList=new ArrayList();
size=list.getModel().getSize()//列表是在别处定义的JList
对于(int i=0;i
但这似乎不是复制内容,而是复制JList的属性。
输出<代码>:javax.swing.JList[,0,0414x390,无效,alignmentX=0.0,alignmentY=0.0,border=,flags=50331944,maximumSize=,minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1,HorizontalScrollScrollIncrement=-1,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],SelectionForegrough=sun.swing.PrintColorUIResource=1[r=51,g=51,b=51],visibleRowCount=8,layoutOrientation=0]
如何阅读内容?有没有更简单的方法来阅读内容(如toArray())
谢谢您正在复制JList的“toString”,它只是JList的“人类可读”表示形式。
您必须复制内容,例如通过在JList的模型中迭代:
ListModel model : list.getModel();
for (int i=0; i < model.getSize(); i++) {
aList.add(model.getElementAt(i));
}
ListModel模型:list.getModel();
对于(int i=0;i
您正在复制JList的“toString”,它只是JList的“人类可读”表示形式。
您必须复制内容,例如通过在JList的模型中迭代:
ListModel model : list.getModel();
for (int i=0; i < model.getSize(); i++) {
aList.add(model.getElementAt(i));
}
ListModel模型:list.getModel();
对于(int i=0;i
调用JList#toString()
在任何情况下都无法工作,因为您似乎认为它可能会工作。请打印一个调用以查看它返回的结果。相反,您需要获取JList的模型,然后通过getElement(…)
方法获取它持有的每个元素
aList.add(list.getModel().getElement(i));
调用JList#toString()
在任何情况下都无法工作,因为您似乎认为它可能会工作。请打印一个调用以查看它返回的结果。相反,您需要获取JList的模型,然后通过getElement(…)
方法获取它持有的每个元素
aList.add(list.getModel().getElement(i));
就像前面提到的(气垫船和Thierry)一样,即使使用.toString或获取空输出,也不起作用。也不要忘记JList come javax。不过,如果不是任何事件,我建议使用它:
DefaultListModelforJList,希望对您有所帮助
import java.util.ArrayList;
import javax.swing.DefaultListModel;
public class Jlistinjarry {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList xaList = new ArrayList();
xaList.add("a");
xaList.add("b");
xaList.add("c");
DefaultListModel model = new DefaultListModel();
for(String s:xaList){
model.addElement(s);
}
System.out.println( model);
}
}
导入java.util.ArrayList;
导入javax.swing.DefaultListModel;
公共类jlistinjary{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
ArrayList xaList=新的ArrayList();
xaList.添加(“a”);
xaList.添加(“b”);
xaList.添加(“c”);
DefaultListModel=新的DefaultListModel();
for(字符串s:xaList){
模型.附录;
}
System.out.println(模型);
}
}
就像前面提到的(气垫船和Thierry)一样,即使使用.toString或获取空输出,也不起作用。也不要忘记JList come javax。不过,如果不是任何事件,我建议使用它:
DefaultListModelforJList,希望对您有所帮助
import java.util.ArrayList;
import javax.swing.DefaultListModel;
public class Jlistinjarry {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList xaList = new ArrayList();
xaList.add("a");
xaList.add("b");
xaList.add("c");
DefaultListModel model = new DefaultListModel();
for(String s:xaList){
model.addElement(s);
}
System.out.println( model);
}
}
导入java.util.ArrayList;
导入javax.swing.DefaultListModel;
公共类jlistinjary{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
ArrayList xaList=新的ArrayList();
xaList.添加(“a”);
xaList.添加(“b”);
xaList.添加(“c”);
DefaultListModel=新的DefaultListModel();
for(字符串s:xaList){
模型.附录;
}
System.out.println(模型);
}
}
我不知道如何读取JList中的特定索引。例如,getValueAtIndex(arg0)我不知道如何读取JList中的特定索引。例如,getValueAtIndex(arg0)这是可行的。但您能否解释一下,当JList实际上是列表时,为什么值存储在listModel中?在swing中,数据总是由“模型”管理,组件(JList,JTable,…)管理“视图”(用户界面),就像@Thierry所说的那样。这是可行的。但是你能解释一下为什么当JList实际上是列表时,值存储在listModel中吗?在swing中,数据总是由“模型”管理,组件(JList,JTable,…)管理“视图”(用户界面)与@Thierry所说的完全一样。他的答案是1+。