Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπέρα,

Εχω φτιάξει μια βάση δεδομένων και φτιαχνω ενα application για εξάγωγη συμπεράσματων.

χρησιμοποιω το netbeans και εχω αρχίσει και δημιουργώ ενα γραφικό περιβάλλον το πρόβλημα μου ειναι οτι οταν πατάω το button τα αποτελεσματα που εμφανιζονται command line και εγω θέλω να εμφανιζονται σε ενα νεο frame σαν επιλογές.

μηπώς γνωρίζει καποιός πως μπορώ να το κάνω αυτό.

ευχαριστώ

 

Δημοσ.

Να βαλεις ενα JLabel μεσα στο frame και στον κωδικα που εκτελειτε οταν πατας το button, αντι για

System.out.println( ... ); βαλε label.setText( ... );

 

ΥΓ: χωρις να δωσεις κωδικα, μονο αυτο μπορω να κανω

  • Like 1
Δημοσ.

Να βαλεις ενα JLabel μεσα στο frame και στον κωδικα που εκτελειτε οταν πατας το button, αντι για

System.out.println( ... ); βαλε label.setText( ... );

 

ΥΓ: χωρις να δωσεις κωδικα, μονο αυτο μπορω να κανω

import com.hp.hpl.jena.shared.PrefixMapping;
import com.hp.hpl.jena.util.iterator.Filter;
import java.io.PrintStream;
 
import java.lang.Object;
import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.util.iterator.ExtendedIterator;
import java.io.InputStream;
import java.util.Iterator;

import com.hp.hpl.jena.query.Query ;
import com.hp.hpl.jena.query.QueryExecution ;
import com.hp.hpl.jena.query.QueryExecutionFactory ;
import com.hp.hpl.jena.query.QueryFactory ;
import com.hp.hpl.jena.query.QuerySolution ;
import com.hp.hpl.jena.query.ResultSet ;
import org.openjena.atlas.io.IndentedWriter ;
import com.hp.hpl.jena.util.FileManager;
import java.io.*;

import com.hp.hpl.jena.ontology.*;
import com.hp.hpl.jena.query.ResultSetFormatter ;
import com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP ;
import org.apache.log4j.*;
import org.apache.log4j.BasicConfigurator; 
import java.util.Scanner;
import java.util.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.vocabulary.*;
import javax.swing.JOptionPane;
import static javax.swing.JOptionPane.showMessageDialog;
public class Music extends javax.swing.JFrame {
    static final String inputFileName  = "C:\\Users\\nikolas\\Desktop\\ontolog\\my_ontology.owl"; 
    static final String outputFileName  = "C:\\Users\\nikolas\\Desktop\\ontolog\\new_my_ontology.owl";
    static final String URI = "http://www.owl-ontologies.com/Ontology1357157293.owl#";
    
    public static OntModel create_non_inf() 
    {
       OntModel non_inf_model = ModelFactory.createOntologyModel();
       InputStream inp = FileManager.get().open(inputFileName);    //anoigma tou arxeiou pou periexei thn ontologia
        if (inp == null) {
            throw new IllegalArgumentException( "File: " + inputFileName + " not found");
            }
       non_inf_model.read(new InputStreamReader(inp), "");   //diabasma tou arxeiou pou periexei thn ontologia
        
       non_inf_model.read(inp, "");
       
       return non_inf_model;
        
    } 
    
     public static OntModel create_inf() {
         OntModel inf_model = ModelFactory.createOntologyModel( OntModelSpec.OWL_DL_MEM_RULE_INF , null);    //dhmiourgia tou model
       InputStream in = FileManager.get().open(inputFileName);    //anoigma tou arxeiou pou periexei thn ontologia
        if (in == null) {
            throw new IllegalArgumentException( "File: " + inputFileName + " not found");
            }
       inf_model.read(new InputStreamReader(in), "");   //diabasma tou arxeiou pou periexei thn ontologia
        
       inf_model.read(in, ""); // null base URI, since model URIs are absolute
       return inf_model;
     }
     
    
    
    
    
    public static void find_subclasses() 
    {    
        System.out.print(  "   ||||   " ); 
         
        OntModel non_inf_model = create_non_inf();
        
        OntClass main_class = non_inf_model.getOntClass( URI + "music" );  //klash riza ths ontologias apo thn opoia vriskoume oles tis ipoklaseis
     for (Iterator<OntClass> i = main_class.listSubClasses(); i.hasNext(); ) {  //euresi olon ton subclasses
        OntClass c = i.next();
        
        String class_name = c.getLocalName();  //local name ths kathe klashs,dld xoris to URI
        
                
       
             System.out.print(  " " + class_name + "   ||||   " ); 
        
    }//telos for    
    }

      /**
     * Creates new form Music
     */
    public Music() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("Επέλεξε");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(53, 53, 53)
                .addComponent(jButton1)
                .addContainerGap(265, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(41, 41, 41)
                .addComponent(jButton1)
                .addContainerGap(177, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       find_subclasses();
    }      

αυτο που θελω να κανω ειναι οταν παταω  το jButton1 και καλειτε η find_subclasses(); να εμφανιζονται τα αποτελεσματα σαν επιλογες σε ενα νεο παραθυρο και οχι commad line

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

       find_subclasses();
    }  
Δημοσ.

Στην find_subclasses κανεις output μια σειρα απο strings στην κονσολα καλωντας το

System.out.print( " " + class_name + " |||| " );

Αντι για τη κονσολα, μπορεις να προσθετεις αυτα τα string σε ενα buffer, ας πουμε ενα StringBuilder,

StringBuilder sb = new StringBuilder();
for (Iterator<OntClass> i = main_class.listSubClasses(); i.hasNext(); ) 
{ 
    OntClass c = i.next();
    String class_name = c.getLocalName(); 
    sb.Append( " " + class_name + " |||| " ); // instead of System.out.print
}

και οταν τελειωσεις, να βαλει τα περιεχομενα του σε ενα GUI component, ας πουμε ενα JTextArea

// somewhere in constructor / gui initialization
JTextArea myTextArea = new JTextArea();  

.....

// somewhere after you fill your StringBuilder
myTextArea.setText(sb.toString();

Μεσες-ακρες αυτη ειναι η λογικη, καλη συνεχεια

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...