Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 爪哇语;通告";JTextPane中的选择?_Java_String_Swing - Fatal编程技术网

Java 爪哇语;通告";JTextPane中的选择?

Java 爪哇语;通告";JTextPane中的选择?,java,string,swing,Java,String,Swing,我一直在开发一个GUI来处理DNA序列。大多数分子都是环状的,是DNA的环状形式。我可以将序列作为字符串显示在JTextPane中,但我不确定如何处理用户可能希望选择从序列末尾到开头的序列部分的情况。我考虑过的一件事是将序列显示两次,这样您可以选择第一节的最后一部分和最后一节的第一部分,然后覆盖一些函数,以便复制文本时将正确的序列放在剪贴板上,而不是实际选择的字符串。(无论如何,我必须这样做,我要显示DNA的正向和反向链,然后是一个空行,这样实际序列的1行变成3行文本 是否有一些我不知道的循环字

我一直在开发一个GUI来处理DNA序列。大多数分子都是环状的,是DNA的环状形式。我可以将序列作为字符串显示在JTextPane中,但我不确定如何处理用户可能希望选择从序列末尾到开头的序列部分的情况。我考虑过的一件事是将序列显示两次,这样您可以选择第一节的最后一部分和最后一节的第一部分,然后覆盖一些函数,以便复制文本时将正确的序列放在剪贴板上,而不是实际选择的字符串。(无论如何,我必须这样做,我要显示DNA的正向和反向链,然后是一个空行,这样实际序列的1行变成3行文本


是否有一些我不知道的循环字符串技巧?

你知道其他程序如何处理循环DNA片段的选择吗?你可能会从其他软件中获得一些灵感,比如维基百科上列表中的对齐查看器(支持循环DNA):

我认为首先决定GUI的工作方式是明智的,然后开始编写代码。否则,您可能会在实现最终未使用的想法上浪费大量时间

你甚至可以考虑在相同的排序数据上提供循环和线性视图,如该屏幕截图:


对每个序列使用一个
JTextPane
,使用
VerticalLayout
GridBagLayout
并将其添加到
JPanel
中,然后将
JPanel
包装在
JScrollPane
中,您使用的是哪一个组件?如果您使用诸如JTable或JList之类的标准组件,您只需要使用t您自己的自定义选择模型。除非Swing组件有缺陷并且无法处理这样的选择,这是很有可能的。@ATrubka目前,我正在使用JTextPane显示DNA序列。我计划实现一个JTree以显示序列中的功能并允许一些选择。我仍在重新学习Swing,同时尝试集中精力关于我的研究。我刚搬到一个新的实验室,那里没有购买任何DNA软件,我想我会尝试自己编写。大约3年没有使用Swing,而且肯定没有这么先进的东西。听起来像是一个有趣的项目。我希望我能做这样的事情。:)这个设计与我正在尝试的非常相似。我将查看该列表,看看是否可以查看任何代码。这是一个缓慢的项目,因为它不是我的首要任务。上面显示的CLC序列查看器似乎是免费的,但源代码是封闭的。还有一个名为Unipro UGENE的工具,它似乎具有类似的功能(例如,请参见论坛讨论中的屏幕截图:)。UGEN是开源的,用C++编写;您可以在此处下载代码:。祝你的项目好运!我放弃了使用JTextPanel的尝试,转而使用普通的JPanel,并使用图形功能绘制文本。我能够设置自定义选择,显示为在文本上绘制的矩形,以及鼠标侦听器,以便您可以拖动选择边界。因为选择不是基于正常的文本选择,所以很容易让它们穿过质粒的末端。这也意味着用户可以一次选择几个部分,使他们能够轻松跟踪多个序列。很高兴听到您能够创建解决方案。也许在这里为将来有类似问题的人分享(一些)你的代码是个好主意?也许最终会。代码凌乱,没有很好的注释,老实说,大部分代码都是拼凑在一起的。新的问题是让基因和其他特征画出来。我可以像你图片中的黄色矩形一样制作矩形,但它们重叠。我只是不知道如何把矩形分类并展开以避免重叠。