Jlist 覆盖列表是自动的吗? (漏洞)?

2024-06-22

我希望我能得到帮助,我会问一般性问题:

我正在使用一个JList,并且由于JList没有(值,文本)(因此我可以显示文本并在代码中使用该值)。由于这次泄漏,我创建了List对象(myList),与并行工作JList。我添加的每个项目JList我添加到myList,因此相同的索引将在两个对象(JList 和 mylist)中包含相同的信息 我用JList.getselectedindex()方法获取索引并使用它myList到小狗信息...

问题:是当我选择值时,下一个值myList被第一个值覆盖! 这个问题已知吗?

    mod_mp = new ModelMAPPING();   objects cotain values that ot exist in  jList                                                             

    msgF.setTo(incom.userID);/////// set parter!
    if(isExCon==-1) {
        // not exist                                           
        mod_mp.to = incom.userID; // incom is object that incom from another program
        mod_mp.SetCovFile(incom.userID+".html");
        mod_mp.ConvName = incom.getBody();

        boolean added= model_list.add(mod_mp);   // add to mylist
        if(added) System.out.println(mod_mp._Hfile + " added");
        model.addElement(mod_mp.ConvName);// add to Jlist by model

        HestoryFile(Htmlhead+tohis,mod_mp._Hfile);//create _Hfile and write to it:"tohis" string.

    } else { //exist@
        // note isExcon return the index if exist else -1
        model_list.get(isExCon).ConvName=incom.getBody();
        mod_mp.SetCovFile(model_list.get(isExCon)._Hfile);
        HestoryFile(tohis, model_list.get(isExCon)._Hfile);
    }//end else

在这里,如果文件存在,我只是更新中的新文本JList并设置当前文件

的选择JList is:

msgF.setTo (model_list.get(jList2.getSelectedIndex()).to); // set that we will send To...
mod_mp.SetCovFile(model_list.get(jList2.getSelectedIndex())._Hfile);//set the file

jLabel5.setText( bringFromFile(mod_mp._Hfile));//tell the label to read that file

它工作正常,但是当我有两个项目时JList如果我选择任何一个,另一个就会被覆盖!


我正在使用一个JList,并且由于JList没有(值,文本)(所以我 可以显示文本并使用我的代码中的值)

确实很难理解你的问题,但我“怀疑”你对引用的行有误解JList显示的模型和文本JList本身。我想这就是为什么你有一个单独的List.

该模型可以包含您想要的任何对象JList还可以根据需要显示文本,而不管对象本身。最后一个任务是由列表单元渲染器 http://docs.oracle.com/javase/7/docs/api/javax/swing/ListCellRenderer.html。看看编写自定义单元格渲染器 http://docs.oracle.com/javase/tutorial/uiswing/components/list.html#renderer

例如你可以有这样的课程:

class Person {    
    String lastName;
    String name;

    public Person(String lastName, String name){
        this.lastName = lastName;
        this.name = name;
    }

    public String getLastName(){
        return this.lastName;
    }

    public String getName(){
        return this.name;
    }
}

现在你想要你的JList keep Person对象稍后与他们合作。这部分很简单,只需创建一个ListModel并向其中添加元素:

DefaultListModel model = new DefaultListModel();
model.addElement(new Person("Lennon","John"));
model.addElement(new Person("Harrison","George"));
model.addElement(new Person("McCartney","Paul"));
model.addElement(new Person("Starr","Ringo"));

但你想显示每个人的名字和姓氏Person。那么你可以实现你自己的ListCellRenderer去做这个:

JList list = new JList(model);
list.setCellRenderer(new DefaultListCellRenderer(){
    @Override
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
        if(value instanceof Person){
            Person person = (Person)value;
            setText(person.getName() + " " + person.getLastName());
        }
        return this;
    }
});

和你的JList将显示您想要的项目:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jlist 覆盖列表是自动的吗? (漏洞)? 的相关文章

随机推荐

  • 如何在 PHP 客户端和 C 守护程序服务器之间进行 IPC?

    感谢您查看这个问题 的背景我有几台机器可以在很短的时间内连续生成多个 最多 300 个 PHP 控制台脚本 这些脚本运行速度很快 不到一秒 然后退出 所有这些脚本都需要对大型文件进行只读访问trie http en wikipedia or
  • Django manage.py runserver 优雅重载

    我正在开发一个 Django 项目 它集成了网络摄像头和 OpenCV 对于网络摄像头访问 我使用以下代码 如果我使用的话 网络摄像头可以被释放Ctrl C结束正在运行的服务器 但如果服务器在代码更改后重新加载 则网络摄像头无法正确释放 因
  • 如何在 Laravel 5 中设置基本路径

    I moved Laravel 公共文件夹 to the 根文件夹 然后我搬家了Laravel to 它自己的文件夹 所以我可以在共享主机上使用 Laravel 它看起来像这样 2015 08 04 18 13
  • 显示 jQuery 验证摘要和单独的错误消息

    我在 ASP net MVC 中使用 jQuery 验证 除了控件之外 我想显示验证摘要以及单独的错误消息 我一次可以做其中一个 因此 了解如何同时显示两者将非常有帮助 我假设您正在寻找仅 JQuery 的解决方案 我不知道 ASP net
  • 如何在 Java 字符串中用 \u 替换 \\u

    我有一个格式的字符串 aaa u2022bbb u2014ccc 我想显示这两个特殊字符 但为了能够做到这一点 我必须首先将字符串转换为以下格式 aaa u2022bbb u2014ccc 我尝试编写这个 但它给出了编译错误 String
  • 如何跨函数将函数参数粘合到 dplyr 中的 .names?

    我正在尝试命名一个的输出across使用两者的函数 col 和函数参数之一 library tidyverse mean by lt function data by var prefix avg data gt group by by g
  • 为什么包含 const 数据成员的类不存在默认构造函数

    为什么编译器没有为包含常量数据成员的类添加默认构造函数 请参阅下面的代码 因为我已经声明了常量数据成员 a 并且在尝试为类 ClassA 创建对象时 它说没有可用的适当的默认构造函数 请帮忙 include stdafx h include
  • vagrant 与 laravel homestead 共享

    我遇到了让 vagrant share 与 laravel homestead vagrant box 结合使用的问题 我的 homestead yaml 文件如下所示 ip 192 168 10 10 memory 2048 cpus 1
  • 5.2 中的沙箱嵌入式 Lua / 从 lua.file 设置函数环境

    假设我至少有两个 lua 脚本文件 测试1 lua 测试2 lua 两者都定义了一个 init 函数和其他具有相似名称的函数 我如何使用 Lua 5 2 将使用 c c 的每个脚本文件加载到单独的环境中 以便相同的函数名称不会冲突 我找到了
  • C、如何使用pthread_create函数创建线程

    我正在为调度队列创建一个 c 文件 该队列获取任务并将其放入链表队列中 为了做到这一点 我需要使用创建线程 pthread t cThread if pthread create cThread NULL work param perror
  • Javascript 警报消息替代方案

    在我的在线页面上有一条简单的警报消息 我基本上需要更改标题 但我读到我不能这样做 这是代码 在警报消息中 我获取网站的网址 然后获取其下方的消息 除了 JavaScript 警报之外 最快的替代方法是什么 Thanks 我很喜欢这个 htt
  • PHP usort 重新排序数组,所有排序值都相同

    我使用 usort 对每个元素中具有关联数组的数组进行排序 当我在数组中排序的所有值都相同时 它仍然会更改数组中元素的位置 有没有办法防止这种情况 例如这个 array array name gt Ben authn weight gt 8
  • 在真实 iPhone 上测试应用程序 [重复]

    这个问题在这里已经有答案了 可能的重复 将 iphone 应用程序从 xcode 部署到 iphone https stackoverflow com questions 5091883 deploy an iphone app from
  • 在 Mac OS X 上构建 Google Breakpad

    我正在尝试建立谷歌 Breakpad http code google com p google breakpad 对于 Mac OS X 作为移植应用程序的一部分 基于主干修订版 782 Breakpad 维基 http code goo
  • 在专用 Worker 中生成共享 Worker

    我正在玩WebWorkers 不知何故 我想到让一个页面的不同实例知道另一个页面何时关闭 因此我写了一个 Shared Worker 并且它工作得很好 但现在我想要一个专用工作人员充当共享工作人员的接口 这样 UI 中昂贵的操作就不会影响与
  • Liquid:我可以从数组中获取随机元素吗?

    我正在尝试从数组中选择一个随机元素 使用 Liquid Jekyll 可以吗 我可以创建一个数组 并访问给定的索引 但是有没有办法 洗牌 数组 然后选择一个索引 从而从数组中获取随机元素 prefix Foo Bar Baz page pr
  • 是否可以保存对 JavaScript 中尚不存在的元素的引用?

    我以前曾尝试问过这个问题 但很难解释 所以在这里我将尝试重新表述它 这是我的 HTML 正文
  • 如何使用公钥隐私/完整性模式验证 PFX

    我有一个嵌入式软件 可以生成 P12 PFX 格式的输出数据 PFX 是not受密码保护 这意味着数据不是使用密码派生的加密 MAC 密钥 而是使用公钥加密并使用我的私钥签名 In RFC7292 第 3 1 节 https www rfc
  • 反转 PDF 中的白色和黑色

    给定一个黑白 PDF 如何反转颜色 使背景为黑色 其他所有内容为白色 Adobe Reader 可以做到这一点 首选项 gt 辅助功能 仅供节目中观看之用 但不会从本质上更改文档 从而使其他 PDF 阅读器中的颜色也发生反转 如何永久反转颜
  • Jlist 覆盖列表是自动的吗? (漏洞)?

    我希望我能得到帮助 我会问一般性问题 我正在使用一个JList 并且由于JList没有 值 文本 因此我可以显示文本并在代码中使用该值 由于这次泄漏 我创建了List对象 myList 与并行工作JList 我添加的每个项目JList我添加