UnosLogin3 je forma gde unosim id i password
kad god unesem isti karakter za password dobijem drugi kod a to vidim
preko JOptionPane.showMessageDialog(null, encodedString);
sledi kod
Code:
package ini.unos;
import ini.bean.LoginBean;
import ini.DB.LoginDB;
import javax.swing.JOptionPane;
public class UnosLogin3 extends javax.swing.JFrame {
public UnosLogin3() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
lId = new javax.swing.JLabel();
txtId = new javax.swing.JTextField();
lIdMbr = new javax.swing.JLabel();
jPass = new javax.swing.JPasswordField();
jPanel2 = new javax.swing.JPanel();
poruka = new javax.swing.JLabel();
bUpisi = new javax.swing.JButton();
bObrisi = new javax.swing.JButton();
bIzlaz = new javax.swing.JButton();
bPrazni = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("SPsoFt");
setResizable(false);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 153, 255), 1, true), "Prvi login", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial", 1, 12), new java.awt.Color(0, 0, 255))); // NOI18N
jPanel1.setForeground(new java.awt.Color(0, 0, 255));
lId.setFont(new java.awt.Font("Arial", 0, 11));
lId.setForeground(new java.awt.Color(0, 0, 255));
lId.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lId.setText("ID*");
txtId.setForeground(new java.awt.Color(0, 0, 102));
txtId.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtIdKeyPressed(evt);
}
});
lIdMbr.setFont(new java.awt.Font("Arial", 0, 11));
lIdMbr.setForeground(new java.awt.Color(0, 0, 255));
lIdMbr.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lIdMbr.setText("Password*");
jPass.setMaximumSize(new java.awt.Dimension(6, 20));
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(11, 11, 11)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lId, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lIdMbr, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtId, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPass, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(489, 489, 489))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lId))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lIdMbr, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(64, Short.MAX_VALUE))
);
poruka.setFont(new java.awt.Font("Arial", 1, 12));
poruka.setForeground(new java.awt.Color(0, 102, 51));
poruka.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
bUpisi.setForeground(new java.awt.Color(0, 0, 255));
bUpisi.setText("Upiši");
bUpisi.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
bUpisiMousePressed(evt);
}
});
bUpisi.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
bUpisiKeyPressed(evt);
}
});
bObrisi.setForeground(new java.awt.Color(0, 0, 255));
bObrisi.setText("Obriši");
bObrisi.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
bObrisiMousePressed(evt);
}
});
bIzlaz.setForeground(new java.awt.Color(0, 0, 255));
bIzlaz.setText("Izlaz");
bIzlaz.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
bIzlazMousePressed(evt);
}
});
bPrazni.setForeground(new java.awt.Color(0, 0, 255));
bPrazni.setText("Prazni polja");
bPrazni.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
bPrazniMousePressed(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(poruka, javax.swing.GroupLayout.DEFAULT_SIZE, 322, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addComponent(bPrazni)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bUpisi)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bObrisi)
.addGap(18, 18, 18)
.addComponent(bIzlaz, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bIzlaz)
.addComponent(bObrisi)
.addComponent(bUpisi)
.addComponent(bPrazni))
.addGap(18, 18, 18)
.addComponent(poruka, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
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.TRAILING, false)
.addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 332, Short.MAX_VALUE))
.addContainerGap(21, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
java.awt.Dimension dialogSize = getSize();
setLocation((screenSize.width-dialogSize.width)/2,(screenSize.height-dialogSize.height)/2);
}// </editor-fold>
private void formWindowOpened(java.awt.event.WindowEvent evt) {
txtId.requestFocus();
}
private void bIzlazMousePressed(java.awt.event.MouseEvent evt) {
dispose();
}
private void txtIdKeyPressed(java.awt.event.KeyEvent evt) {
poruka.setText("");
String sifra = txtId.getText().trim();
char[] slova = sifra.toCharArray();
int keyCode = evt.getKeyCode();
//ESCAPE IZLAZ -----------------------------------------------------------------
if (keyCode == java.awt.event.KeyEvent.VK_ESCAPE) {
dispose();
} //ENTER-----------------------------------------------------------------// |
else if (keyCode == java.awt.event.KeyEvent.VK_ENTER) {
//da polje za Id ne bude prazno----------------------------------
if (sifra.length() != 0) {
//--------------------------------------------------------------
try {
id = Integer.parseInt(sifra);
LoginBean loginBean = LoginDB.getLoginBean(id);
/*
String kodPas = loginBean.getLoginPas();
//JOptionPane.showMessageDialog(null, kodPas);
*/
} catch (Exception e) {
poruka.setText(e.getMessage());
}
jPass.requestFocus();
} else
{
txtId.requestFocus();
}
}
}
private void bUpisiMousePressed(java.awt.event.MouseEvent evt) {
update();
prazniPolja();
txtId.requestFocus();
}
private void bObrisiMousePressed(java.awt.event.MouseEvent evt) {
String sifra1 = txtId.getText().trim();
int selection = JOptionPane.showConfirmDialog(null, " BRIŠETE ?", "Poruka",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (selection == JOptionPane.YES_OPTION) {
if (sifra1.length() == 0) {
JOptionPane.showMessageDialog(null, "Unesite ID !!!", "Poruka", JOptionPane.INFORMATION_MESSAGE);
txtId.requestFocus();
}
brisi();
prazniPolja();
txtId.requestFocus();
}
}
private void bPrazniMousePressed(java.awt.event.MouseEvent evt) {
prazniPolja();
txtId.requestFocus();
}
private void bUpisiKeyPressed(java.awt.event.KeyEvent evt) {
int keyCode = evt.getKeyCode();
if (keyCode == java.awt.event.KeyEvent.VK_ENTER) {
update();
prazniPolja();
txtId.requestFocus();
}
}
private void update() {
if (txtId.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Dodelite ID broj !!!", "Greška", JOptionPane.ERROR_MESSAGE);
txtId.requestFocus();
return;
}
/* if (jPass.getText().equals("") ) {
JOptionPane.showMessageDialog(null, "Popunite polje password !!!", "Greška", JOptionPane.ERROR_MESSAGE);
jPass.requestFocus();
return;
}*/
try {
LoginBean loginBean = new LoginBean();
loginBean.setLoginId(Integer.parseInt(txtId.getText().trim()));
[red]
char[] password = jPass.getPassword();
String encodedString = password.toString();
JOptionPane.showMessageDialog(null, encodedString); //uvek razliciti kod???
[/red]
loginBean.setLoginPas(encodedString);
//---------------------
LoginDB.updateLoginBean(loginBean);
poruka.setText("Slog je uspešno AŽURIRAN !!!");
txtId.requestFocus();
} catch (Exception e) {
poruka.setText(e.getMessage());
}
}
private void brisi() {
try {
String sifra = txtId.getText().trim();
Integer iid = Integer.parseInt(sifra);
LoginBean loginBean = new LoginBean();
loginBean.setLoginId(iid);
LoginDB.brisiLoginBean(iid);
//---------------------------------------------------------------------
poruka.setText("Slog je uspešno OBRISAN !!!");
txtId.requestFocus();
} catch (Exception e) {
poruka.setText(e.getMessage());
}
}
private void prazniPolja() {
txtId.setText("");
jPass.setText("");
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/jav.../uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(UnosLogin3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(UnosLogin3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(UnosLogin3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(UnosLogin3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new UnosLogin3().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton bIzlaz;
private javax.swing.JButton bObrisi;
private javax.swing.JButton bPrazni;
private javax.swing.JButton bUpisi;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPasswordField jPass;
private javax.swing.JLabel lId;
private javax.swing.JLabel lIdMbr;
private javax.swing.JLabel poruka;
private javax.swing.JTextField txtId;
// End of variables declaration
private Integer id;
}
Code:
package ini.DB;
import Exceptions.DatabaseException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//import javax.swing.JOptionPane;
import ini.bean.LoginBean;
public class LoginDB { //abstract
public LoginDB()
{ }
//------------------------------------------------------------------------
public static void updateLoginBean(LoginBean bean) throws Exception{
PreparedStatement st = null;
ResultSet rs;
Connection con = maticniO.DB.DBveza.getConnection();
try{
st = con.prepareStatement("select loginId from login "+
" where LoginId = ?");
st.setInt(1, bean.getLoginId());
rs = st.executeQuery();
if(! rs.next()){
st = con.prepareStatement("INSERT INTO login values"
+ "(?,?)");
st.setInt(1, bean.getLoginId());
st.setString(2, bean.getLoginPas());
st.executeUpdate();
return;
}else{
st = con.prepareStatement("update login " +
"set loginPas = ? "+
"where loginId = ?");
st.setString(1, bean.getLoginPas());
st.setInt(2, bean.getLoginId());
if(st.executeUpdate() == 0)
throw new DatabaseException("Podaci nisu AŽURIRANI !!!!!");
}
}catch(SQLException sqle){
String sqlMessage = sqle.getMessage();
String sqlState = sqle.getSQLState();
int vendorCode = sqle.getErrorCode();
System.err.println("Izuzetak:");
System.err.println("Poruka: "+ sqlMessage);
System.err.println("SQL stanje: "+ sqlState);
System.err.println("proizvodjac koda: "+ vendorCode);
}finally{
try{
con.close();
}catch (Exception e) {
//konekcija nije uspesno zatvorena
System.err.println(e);
}
}
}
//------------------------------------------------------------------------
public static LoginBean brisiLoginBean(int id) throws Exception
{
Connection con = null;
PreparedStatement st = null;
LoginBean bean = new LoginBean();
bean.setLoginId(id);
try{
con = maticniO.DB.DBveza.getConnection();
st = con.prepareStatement("DELETE "+
"FROM login "+
"WHERE loginId = ?"); //iz definice polja
st.setInt(1, id);
st.executeUpdate();
return bean;
}catch(SQLException e){
throw new SQLException(e.getMessage());
}finally{
try{
con.close();
}catch (Exception e2) {
//konekcija nije uspesno zatvorena
throw new Exception(e2.getMessage());
}
}
}
public static LoginBean getLoginBean(int id) throws Exception{
Connection con = null;
PreparedStatement st = null;
ResultSet rs = null;
LoginBean bean = new LoginBean();
bean.setLoginId(id);
try{
con = maticniO.DB.DBveza.getConnection();
st = con.prepareStatement("select * "+
"from login "+
"where loginId = ?");
st.setInt(1, id);
rs = st.executeQuery();
if(rs.next()){
bean.setLoginPas(rs.getString("loginPas")); //nazivi kolona
}
return bean;
}catch(SQLException e){
throw new SQLException(e.getMessage());
}finally{
try{
con.close();
}catch (Exception e) {
System.err.println(e);
}
}
}
}