Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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/9/three.js/2.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 API Jena-按钮“;“下一步”;我的界面的一部分工作不正常_Java_Awt_Rdf_Jena_Owl - Fatal编程技术网

Java API Jena-按钮“;“下一步”;我的界面的一部分工作不正常

Java API Jena-按钮“;“下一步”;我的界面的一部分工作不正常,java,awt,rdf,jena,owl,Java,Awt,Rdf,Jena,Owl,我在用杰娜。我创建了一个接口,允许在rdf文件中添加、修改和删除实例。我对“下一步”按钮有问题。它可以工作,但并不完美。我希望它在到达最后一个实例时返回到第一个实例。但它不会这样做,当它到达最后一个实例时,它会在每次按下“下一步”按钮时重复最后一个实例。我怎样才能解决这个问题 下面是按钮“下一步”的片段代码: //Button Next class ActionSuivant implements ActionListener { public void actionPerformed(

我在用杰娜。我创建了一个接口,允许在rdf文件中添加、修改和删除实例。我对“下一步”按钮有问题。它可以工作,但并不完美。我希望它在到达最后一个实例时返回到第一个实例。但它不会这样做,当它到达最后一个实例时,它会在每次按下“下一步”按钮时重复最后一个实例。我怎样才能解决这个问题

下面是按钮“下一步”的片段代码:

//Button Next
class ActionSuivant implements ActionListener
{
    public void actionPerformed(ActionEvent evt)
    {

        ++indice; 

        ExtendedIterator instances=onto.personne.listInstances();

        Individual instance = null;
                for(p = 0; p < indice && instances.hasNext(); p++)
                {
                   instance = (Individual) instances.next();

                  }    
                tabTF[0].setText(instance.getPropertyValue(onto.aPourPrenom).toString());
                tabTF[1].setText(instance.getPropertyValue(onto.aPourNom).toString());
                tabTF[2].setText(instance.getPropertyValue(onto.aDateNaiss).toString());
                tabTF[3].setText(instance.getPropertyValue(onto.aGenre).toString());

    }
} 
//下一步按钮
类ActionSuivant实现ActionListener
{
已执行的公共无效操作(操作事件evt)
{
++印度;
ExtendedIterator instances=on.personne.listInstances();
单个实例=null;
对于(p=0;p
在for循环的末尾,如果p仍然小于indice,则表示您已到达列表的末尾。将indice重置为1,并返回迭代器的第一个元素

public void actionPerformed(ActionEvent evt)
{
    ++indice;
    ExtendedIterator instances = onto.personne.listInstances();
    Individual instance = null;
    Individual firstInstance = null;
    for (p = 0; p < indice && instances.hasNext(); p++) {
        instance = (Individual) instances.next();
        if (firstInstance == null) {
            firstInstance = instance;
        }
    }    
    if (p < indice) {
        indice = 1;
        instance = firstInstance;
    }
    tabTF[0].setText(instance.getPropertyValue(onto.aPourPrenom).toString());
    tabTF[1].setText(instance.getPropertyValue(onto.aPourNom).toString());
    tabTF[2].setText(instance.getPropertyValue(onto.aDateNaiss).toString());
    tabTF[3].setText(instance.getPropertyValue(onto.aGenre).toString());
}
public void actionPerformed(ActionEvent evt)
{
++印度;
ExtendedIterator instances=on.personne.listInstances();
单个实例=null;
单个firstInstance=null;
对于(p=0;p
您还应该确保实例在获取其属性之前不为null


如果您有一个列表而不是迭代器,那么会更容易:您可以通过索引访问元素。

在for循环的末尾,如果p仍然小于indice,则表示您已经到达了列表的末尾。将indice重置为1,并返回迭代器的第一个元素

public void actionPerformed(ActionEvent evt)
{
    ++indice;
    ExtendedIterator instances = onto.personne.listInstances();
    Individual instance = null;
    Individual firstInstance = null;
    for (p = 0; p < indice && instances.hasNext(); p++) {
        instance = (Individual) instances.next();
        if (firstInstance == null) {
            firstInstance = instance;
        }
    }    
    if (p < indice) {
        indice = 1;
        instance = firstInstance;
    }
    tabTF[0].setText(instance.getPropertyValue(onto.aPourPrenom).toString());
    tabTF[1].setText(instance.getPropertyValue(onto.aPourNom).toString());
    tabTF[2].setText(instance.getPropertyValue(onto.aDateNaiss).toString());
    tabTF[3].setText(instance.getPropertyValue(onto.aGenre).toString());
}
public void actionPerformed(ActionEvent evt)
{
++印度;
ExtendedIterator instances=on.personne.listInstances();
单个实例=null;
单个firstInstance=null;
对于(p=0;p
您还应该确保实例在获取其属性之前不为null


如果您有一个列表而不是迭代器,那么就更容易了:您可以通过索引访问元素。

非常感谢您的帮助。对于“Previous”按钮,我想方法是类似的?是的。但是如果前一个按钮位于列表的开头,并且指向最后一个元素,这意味着该列表相当短,您当然应该遍历所有元素并将它们存储在ArrayList中。这样,您的按钮就可以通过索引而不是每次迭代来访问ArrayList。非常感谢您的帮助。对于“Previous”按钮,我想方法是类似的?是的。但是如果前一个按钮位于列表的开头,并且指向最后一个元素,这意味着该列表相当短,您当然应该遍历所有元素并将它们存储在ArrayList中。这样,您的按钮就可以通过索引而不是每次迭代来访问ArrayList。