Z clipsa do javy dochodzą wiadomości tylko, że nie mogę wstawić jej do jtextarea, wypisanie na pseudokonsole (robie w netbeans)działa ładnie.
Innym problemem jest to, że dostaje taki błąd Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException przy jClips.executeCommand("(reset)");
W konsoli ogolnie programik działa ale nie wiem co może mi brakować by działał i tu.

import java.io.File;
import java.io.FileNotFoundException;
import java.net.URI;
import java.net.URL;
import java.util.Observable;
import java.util.Observer;
import jclips.*;

public class glowna extends javax.swing.JFrame implements Observer{
   
    private static final String KNOWLEDGE_FILE = "kulinaria.clp";
    public String message;
    public JClips jClips;
    public void update(Observable jClips, Object messageObj) {
        message = (String) messageObj;     
        System.out.println("Message received: " + message); // wypisuje ale nie tam chce
        //pytania2.setText(message); //dajac to zamiast System.out nic nie wrzuci mi do tego jtextarea
    }

    

    public glowna() {
        initComponents();
    }
    

    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        OnStartClick = new javax.swing.JButton();
        odpowiedzi = new javax.swing.JTextField();
        wyslij = new javax.swing.JButton();
        pytania = new javax.swing.JScrollPane();
        pytania2 = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        OnStartClick.setText("Start");
        OnStartClick.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                OnStartClickActionPerformed(evt);
            }
        });

        wyslij.setText("wyslij");
        wyslij.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                OnWyslijClicked(evt);
            }
        });

        pytania2.setColumns(20);
        pytania2.setRows(5);
        pytania.setViewportView(pytania2);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(pytania, javax.swing.GroupLayout.DEFAULT_SIZE, 669, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(odpowiedzi, javax.swing.GroupLayout.PREFERRED_SIZE, 646, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(33, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(OnStartClick)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 534, Short.MAX_VALUE)
                        .addComponent(wyslij)
                        .addGap(25, 25, 25))))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(pytania, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(81, 81, 81)
                .addComponent(odpowiedzi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 77, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(OnStartClick)
                    .addComponent(wyslij))
                .addContainerGap())
        );
        pack();
    }// </editor-fold>                        

    private void OnWyslijClicked(java.awt.event.MouseEvent evt) {                                 

        pytania2.setText("click  " +message + " wiadomosc");
    }                                

    private void OnStartClickActionPerformed(java.awt.event.ActionEvent evt) {                                             
// TODO add your handling code here:
        
    }                                            
    

    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new glowna().setVisible(true);
            }
        });
        
        JClips jClips = JClips.getInstance();
        jClips.init();
        jClips.addObserver(new glowna());

        try {
            URL fileUrl = glowna.class.getResource(KNOWLEDGE_FILE);
            if (fileUrl == null) {
                throw new FileNotFoundException(KNOWLEDGE_FILE);
            }
            File file = new File(new URI(fileUrl.toString()));
            jClips.load(file.getPath());
            jClips.reset();
            jClips.run();
                        jClips.executeCommand("1"); //
            jClips.run();
            jClips.commandLoop();
        } catch (Exception e) {
            e.printStackTrace(System.err);
        }

        jClips.deallocate();
    }
    
    
    // Variables declaration - do not modify                     
    private javax.swing.JButton OnStartClick;
    private javax.swing.JTextField odpowiedzi;
    private javax.swing.JScrollPane pytania;
    private javax.swing.JTextArea pytania2;
    private javax.swing.JButton wyslij;
    // End of variables declaration                   
    
}