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
}