vagg77 Δημοσ. 31 Ιουλίου 2014 Δημοσ. 31 Ιουλίου 2014 Ξερει κανεις με πιο τροπο μπορω να ελεγχω αν σε ενα μηνυμα οθονης πατηθει το κουμπι cancel?? Το μηνυμα Canceled!!! δεν εμφανιζεται ποτε! try { del = true; conn2 = DriverManager.getConnection("jdbc:mysql://localhost/test1?user=me&password=12345"); stmt2 = conn2.createStatement(); rs2 = stmt2.executeQuery("SELECT * FROM consoles"); conn_pr2 = DriverManager.getConnection("jdbc:mysql://localhost/test1?user=me&password=12345"); String s2 = JOptionPane.showInputDialog(null,"Which console to delete :"); // Αν το πεδιο δεν ειναι κενο, κανε διαγραφη και βαλτα σε ενα JTable... if(!(" ".equals(s2))) { String sql2 = "DELETE FROM consoles WHERE name =?"; ps2 =conn_pr2.prepareStatement(sql2); ps2.setString(1,s2); ps2.executeUpdate(); model2 = new DefaultTableModel(); table2 = new JTable(model2); model2.fireTableDataChanged(); model2.addColumn("id"); model2.addColumn("name"); model2.addColumn("consoles"); // Αυτο το μηνυμα εμφανιζεται παντα ΑΚΟΜΑ και αν η εισοδος ειναι κενη! JOptionPane.showMessageDialog(null,"Deleted!!!!"); while(rs2.next()) { a2 = rs2.getString(1); b2 = rs2.getString(2); c2 = rs2.getString(3); model2.addRow(new Object[]{a2,b2,c2}); } model2.fireTableDataChanged(); table2.setCellSelectionEnabled(true); table2.setColumnSelectionAllowed(true); table2.setFillsViewportHeight(true); table2.setSurrendersFocusOnKeystroke(true); table2.setBounds(10,45,461,360); model2.fireTableDataChanged(); if (add == true) frame.getContentPane().remove(table1); frame.getContentPane().remove(tablecons); frame.getContentPane().add(table2); model2.fireTableDataChanged(); conn2.close(); conn_pr2.close(); stmt2.close(); rs2.close(); ps2.close(); } //end if // Οταν παταω Cancel, το πεδιο ειναι κενο ΑΛΛΑ ΠΟΤΕ δεν εμφανιζεται το μηνυμα Caneled!!! else if(("".equals(s2))) JOptionPane.showMessageDialog(null,"Canceled!!!"); } catch (SQLException case1) {case1.printStackTrace(); } catch (Exception case2 ){case2.printStackTrace();}}});
Moderators Kercyn Δημοσ. 31 Ιουλίου 2014 Moderators Δημοσ. 31 Ιουλίου 2014 Στο πρώτο if έχεις βάλει " " και στο δεύτερο "". 1
vagg77 Δημοσ. 31 Ιουλίου 2014 Μέλος Δημοσ. 31 Ιουλίου 2014 οκ... Βασικα εκτος αυτου, τα εβαλα και τα 2 μια φορα με "" και την αλλη με " " και ολο το Deleted!!! βγαζει παλι Στο πρώτο if έχεις βάλει " " και στο δεύτερο "". Παλι εχει θεματακι
MeTaXaS4 Δημοσ. 31 Ιουλίου 2014 Δημοσ. 31 Ιουλίου 2014 το s2 δεν θα έπρεπε να είναι null και όχι "" ; στο cancel? http://stackoverflow.com/questions/16444926/joptionpane-showinputdialog-cancel-button-nullpointerexception 1
MeTaXaS4 Δημοσ. 31 Ιουλίου 2014 Δημοσ. 31 Ιουλίου 2014 απορία, γιατί γράφεις " ".equals(s2) και όχι s2.equals(""); που στην ουσία εσύ θα πρέπει να δεις s2!=nullκαι s2==null
vagg77 Δημοσ. 31 Ιουλίου 2014 Μέλος Δημοσ. 31 Ιουλίου 2014 Αμα ομως εχω παραπανω του ενος if, υπαρχει εντολη που να κλεινει το παραθυρακι διαλογου αλλα οχι το προγραμμα?? π.χ str1 = JOptionPane.showInputDialog(null,"Console name : "); if(!(str1 == null)) { ps1.setString(1,str1); str2 = JOptionPane.showInputDialog(null,"Cost : "); } else JOptionPane.showMessageDialog(null,"Canceled!!!"); if(!(str2 == null)) { int2 = Integer.parseInt(str2); ps1.setLong(2,int2); str3 = JOptionPane.showInputDialog(null,"CPU : "); } else JOptionPane.showMessageDialog(null,"Canceled!!!"); if(!(str3 == null)) { str4 = JOptionPane.showInputDialog(null,"Memory : "); ps3.setString(1,str3); } else JOptionPane.showMessageDialog(null,"Canceled!!!"); if(!(str4 == null)) { str5 = JOptionPane.showInputDialog(null,"HDD : "); ps3.setString(2,str4); } else JOptionPane.showMessageDialog(null,"Canceled!!!"); if(!(str5 == null)) { int3 = Integer.parseInt(str5); ps3.setLong(3,int3); } else JOptionPane.showMessageDialog(null,"Canceled!!!");
MeTaXaS4 Δημοσ. 31 Ιουλίου 2014 Δημοσ. 31 Ιουλίου 2014 δεν καταλαβαίνω τι εννοείς, δεν βοηθάει ο κώδικάς σου
vagg77 Δημοσ. 31 Ιουλίου 2014 Μέλος Δημοσ. 31 Ιουλίου 2014 Εγω εμφανιζω καμια 5αρια μηνυματα για τα χαρακτηριστικα μιας κονσολας που θα μπουν στη βαση δεδομενων. Και λεω : Στο παραθυρο που εμφανιζεται καθε φορα με το JOptionPane.MessageDialog, πως γινεται να σταματαει εκει ο κωδικας, να μην τον ρωταει για τα αλλα πεδια? Εμενα συνεχιζει και τον ρωταει και για τα αλλα
mad-proffessor Δημοσ. 31 Ιουλίου 2014 Δημοσ. 31 Ιουλίου 2014 Δες το mvc pattern και μαθε να γράφεις με switch παρα με if else θα σε βοηθήσει πολύ να κατανοήσεις τη java, ο κώδικας θα γίνει πιο ευανάγνωστος Θα μπορούσες π.χ να φτιάξεις μια συνάρτηση που να επιστρέφει boolean για να λύσεις το πρόβλημα σου
MeTaXaS4 Δημοσ. 31 Ιουλίου 2014 Δημοσ. 31 Ιουλίου 2014 Εγω εμφανιζω καμια 5αρια μηνυματα για τα χαρακτηριστικα μιας κονσολας που θα μπουν στη βαση δεδομενων. Και λεω : Στο παραθυρο που εμφανιζεται καθε φορα με το JOptionPane.MessageDialog, πως γινεται να σταματαει εκει ο κωδικας, να μην τον ρωταει για τα αλλα πεδια? Εμενα συνεχιζει και τον ρωταει και για τα αλλα για να μην ρωτάει για τα άλλα πεδία αν όλο αυτό είναι σε μία συνάρτηση, χρησιμοποίησε το keyword return, αλλιώς καλύτερο θα ήταν να έχεις μία συνάρτηση όπως λέει και ο mad-proffessor, στην ουσία όμως πρέπει να διαβάσεις τεχνικές, οπότε δες mvc patterns...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα