Mam Frame , v ktorom sa po stlaceni Buttonu ma vlozit do databazy prvok ktory je napisany v TextFielde. Aplikaciu spustim bez problemov, ale ked stlacim Button, tak mi vyhodi:
Kód: Vybrať všetko
java.util.logging.LogManager$RootLogger log
INFO: Akcia - uloz
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at sk.toth.umb.utils.NewJFrame$4.actionPerformed(NewJFrame.java:226)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source) Kód: Vybrať všetko
Frame kod:
public class NewJFrame extends javax.swing.JFrame {
private static Logger logger = Logger.getLogger("");
{
//Set Look & Feel
try {
javax.swing.UIManager.setLookAndFeel("com.jgoodies.looks.plastic.Plastic3DLookAndFeel");
} catch(Exception e) {
e.printStackTrace();
}
}
private JMenuBar jMenuBar1;
private JButton jButton1;
private AbstractAction abstractAction1;
private JButton jButton3;
private JButton jButton2;
private AbstractAction Exit;
private static JTextField jTextField4;
private static JTextField jTextField3;
public static JTextField jTextField2;
private JTable jTable1;
private AbstractAction abstractAction2;
private AbstractAction close;
private JLabel jLabel1;
private JLabel jLabel2;
private JDialog jDialog1;
private JMenuItem jMenuItem1;
private JMenu jMenu2;
private JMenu jMenu1;
private Cviky c = new Cviky();
private CvikyDaoPk dao ;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
NewJFrame inst = new NewJFrame();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
public NewJFrame() {
super();
initGUI();
}
private void initGUI() {
try {
FlowLayout thisLayout = new FlowLayout();
getContentPane().setLayout(thisLayout);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().add(getJButton2());
getContentPane().add(getJButton3());
getContentPane().add(getJTable1());
getContentPane().add(getJTextField2());
getContentPane().add(getJTextField3());
getContentPane().add(getJTextField4());
{
jMenuBar1 = new JMenuBar();
setJMenuBar(jMenuBar1);
{
jMenu1 = new JMenu();
jMenuBar1.add(jMenu1);
jMenu1.setText("File");
{
jMenuItem1 = new JMenuItem();
jMenu1.add(jMenuItem1);
jMenuItem1.setText("jMenuItem1");
jMenuItem1.setAction(getExit());
}
}
{
jMenu2 = new JMenu();
jMenuBar1.add(jMenu2);
jMenu2.setText("About");
}
}
pack();
pack();
pack();
pack();
pack();
} catch (Exception e) {
e.printStackTrace();
}
}
private JButton getJButton2() {
if(jButton2 == null) {
jButton2 = new JButton();
AnchorLayout jButton2Layout = new AnchorLayout();
jButton2.setLayout(jButton2Layout);
jButton2.setText("jButton2");
jButton2.setAction(getAbstractAction1());
jButton2.setBounds(227, 161, 113, 30);
}
return jButton2;
}
private AbstractAction getAbstractAction1() {
if(abstractAction1 == null) {
abstractAction1 = new AbstractAction("Insert") {
/**
*
*/
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent evt) {
logger.log(Level.INFO,"Akcia - uloz");
c.setCvik(jTextField2.getText());
c.setDruh(jTextField3.getText());
c.setPrevedenie(jTextField4.getText());
dao.Insert(c); //NewJFrame.java:226
}
};
}
return abstractAction1;
}
protected JTextField getJTextField2() {
if(jTextField2 == null) {
jTextField2 = new JTextField();
jTextField2.setPreferredSize(new java.awt.Dimension(34, 22));
jTextField2.setText("cvik1");
}
return jTextField2;
}
private JTextField getJTextField3() {
if(jTextField3 == null) {
jTextField3 = new JTextField();
jTextField3.setText("druh1");
}
return jTextField3;
}
private JTextField getJTextField4() {
if(jTextField4 == null) {
jTextField4 = new JTextField();
jTextField4.setText("prevedenie1");
jTextField4.setPreferredSize(new java.awt.Dimension(85, 22));
}
return jTextField4;
}
}
Dao kod:
Kód: Vybrať všetko
package sk.toth.umb.dao;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import sk.toth.umb.hibernate.Cviky;
public class CvikyDaoPk {
private SessionFactory sessionFactory;
//konstruktor
public CvikyDaoPk (){
Configuration config = new Configuration().configure();
sessionFactory = config.buildSessionFactory();
}
public void Insert(Cviky cviky)
{
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(cviky);
System.out.println("Done");
session.getTransaction().commit();
session.close();
}
}