/* EDMO - Elektrik Dağıtım Merkezleri Otomasyonu Author - A. Zerrin Kibaroğlu 1.00 19/06/2000 */
import java.lang.*; import java.sql.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.border.Border; import java.util.*; import java.text.*;
public class edmo extends JFrame { private DataPanel screenvar; private JTextArea msgout; private Connection dbconn;
public edmo() { super( "ELEKTRİK DAĞITIM MERKEZLERİ" ); // GUI ortamını hazırla Container p = getContentPane(); screenvar = new DataPanel(); msgout = new JTextArea( 8, 40 ); p.setLayout( new FlowLayout() ); p.add( new JScrollPane( screenvar ) ); p.add( new JScrollPane(msgout) );
// Veri tabanı bağlantısını hazırla try { String url = "jdbc:odbc:edmodsn"; Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); dbconn = DriverManager.getConnection( url ); msgout.append( "Veri tabanına bağlantı kuruldu.\n" ); } // try catch ( ClassNotFoundException cnfex ) { cnfex.printStackTrace(); msgout.append( "Veri tabanına bağlantı başarısız oldu.\n" + cnfex.toString() ); } catch ( SQLException sqlex ) { sqlex.printStackTrace(); msgout.append( "Veri tabanına bağlantı başarısız oldu.\n" + sqlex.toString() ); } catch ( Exception excp ) { excp.printStackTrace(); msgout.append( excp.toString() ); } // İşlem düğmelerini ekrana ekle ButtonPanel controls = new ButtonPanel ( dbconn, screenvar, msgout); p.add ( controls ); // Ek işlem tuşlarını radyo düğmeleri olarak ekrana ekle RadioButtons rb = new RadioButtons ( dbconn , screenvar, msgout ); p.add ( rb ); setSize( 500, 550 ); show(); } // public edmo()
public static void main ( String args[] ) { edmo merkez = new edmo(); merkez.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { System.exit( 0 ); } } ); } // public static void main } // public edmo
// // Tarihce Giris Ekrani //
class TarihceGiris extends JFrame implements ActionListener {
private Connection dbconn; private DataPanel screenvar; private JTextArea msgout; private boolean firsttime = true;
public TarihceGiris( Connection dbc, DataPanel scv, JTextArea msg ) { super( "TARİHÇE GİRİŞ" ); dbconn = dbc; screenvar = scv; msgout = msg; }
public void actionPerformed( ActionEvent e) { if (firsttime) { Container cnt = getContentPane(); cnt.setLayout( new FlowLayout() ); TarihceBox tb = new TarihceBox(); cnt.add( tb ); JButton confirmTarihce = new JButton("Tamam"); confirmTarihce.addActionListener( new Tarihce( dbconn, screenvar, msgout, tb ) ); cnt.add( confirmTarihce ); setSize( 400, 200 ); firsttime = false; } show(); } // public void actionPerformed } // class TarihceGiris
// // Tarihce Giris Alanlari //
class Tarihce implements ActionListener { private DataPanel screenvar; private JTextArea msgout; private Connection dbconn; private TarihceBox obox;
public Tarihce( Connection dbc, DataPanel scv, JTextArea msg, TarihceBox tb ) { dbconn = dbc; screenvar = scv; msgout = msg; obox = tb; }
public void actionPerformed( ActionEvent e ) { boolean inputerror = false; String sacik = ""; String dtstr = ""; java.util.Date ddate = new java.util.Date(); try { Statement statement = dbconn.createStatement(); try { SimpleDateFormat fmt = new SimpleDateFormat ("dd/MM/yyyy"); ddate = fmt.parse(obox.indate.getText()); fmt = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss"); dtstr = fmt.format(ddate); } catch( Exception dfe ) { inputerror = true; obox.indate.setText("Hata-yanlış tarih!"); msgout.append( dfe.toString() ); } sacik = obox.inacik.getText(); // strip out non-numerics from Merkez No String numstrg = new String(); for (int i = 0; i < screenvar.merkezno.getText().length(); i++){ if ( screenvar.merkezno.getText().charAt(i)>='0' && screenvar.merkezno.getText().charAt(i)<='9') { numstrg += screenvar.merkezno.getText().substring(i,i+1); } } screenvar.merkezno.setText(numstrg); if( !screenvar.merkezno.getText().equals("") ) { if ( !inputerror && (sacik != "") ) { String query = "INSERT INTO Tarihce " + "(TARIHCE_MNO,TARIH,ACIKLAMA)" + "VALUES ("+ screenvar.merkezno.getText() + ",'" + dtstr + "','" + sacik + "')"; msgout.append( "\nSorgu cümlesi: " + dbconn.nativeSQL( query ) + "\n" ); int result = statement.executeUpdate( query ); if ( result == 1 ) msgout.append( "\nTarihçe bilgisi başarıyla kaydedildi.\n" ); else { msgout.append( "\nTarihçe bilgisi kaydedilemedi!\n" ); obox.inacik.setText( "" ); } } // if !inputerror else msgout.append( "\nTarihçe bilgisini girerek, Tamam tuşuna basın.\n" ); } // if !screenvar else msgout.append( "\n *** Tarihçe bilgisini girmeden önce bir Merkez bilgisi çağırın ***\n"); statement.close(); } // try catch ( SQLException sqlex ) { msgout.append( sqlex.toString() ); } // clear out Tarihce input boxes after database write if (!inputerror) { java.util.Date date = new java.util.Date(); SimpleDateFormat fmt = new SimpleDateFormat ("dd/MM/yyyy"); obox.indate.setText(fmt.format(date)); obox.inacik.setText(""); } } // public void actionPerformed } // class Tarihce
// // Tarihce Listeleme Ekrani //
class TarihceGoster extends JFrame implements ActionListener { private Connection dbconn; private DataPanel screenvar; private JTextArea msgout; private boolean firsttime = true; private Container c; private JScrollPane jspane; private QueryTableModel qtbl; private JTable jtbl;
public TarihceGoster( Connection dbc, DataPanel scv, JTextArea msg ) { super( "MERKEZ TARİHÇESİ" ); dbconn = dbc; screenvar = scv; msgout = msg; }
public void actionPerformed( ActionEvent e) { // strip out non-numerics from Merkez No String numstrg = new String(); for (int i = 0; i < screenvar.merkezno.getText().length(); i++){ if ( screenvar.merkezno.getText().charAt(i)>='0' && screenvar.merkezno.getText().charAt(i)<='9') { numstrg += screenvar.merkezno.getText().substring(i,i+1); } } screenvar.merkezno.setText(numstrg); // Merkez No'sunu kontrol et if ( !screenvar.merkezno.getText().equals("") ) { // İlk kez çağırılıyorsa GUI ortamını hazırla if ( firsttime ) { c = getContentPane(); c.setLayout( new FlowLayout() ); qtbl = new QueryTableModel( dbconn, screenvar, msgout ); qtbl.query(); jtbl = new JTable( qtbl ); TableColumn tcol = jtbl.getColumnModel().getColumn(0); tcol.setPreferredWidth(50); jspane = new JScrollPane( jtbl ); c.add( jspane ); setSize( 500, 500 ); firsttime = false; } else { qtbl.query(); qtbl.fire(); TableColumn tcol = jtbl.getColumnModel().getColumn(0); tcol.setPreferredWidth(50); } show(); } else msgout.append( "\n ***Tarihçe bilgisini istemeden önce bir Merkez bilgisi çağırın ***\n"); } // public void actionperformed } // class TarihceGoster
// // Tarihce bilgileri listeleme tablosu //
class QueryTableModel extends AbstractTableModel { Connection dbconn; DataPanel screenvar; JTextArea msgout; Vector totalrows; String[] colheads = {"Tarih", "Açıklama"}; public QueryTableModel(Connection dbc, DataPanel scv, JTextArea msg ){ dbconn = dbc; screenvar = scv; msgout = msg; totalrows = new Vector();
}
public String getColumnName(int i) { return colheads[i]; } public int getColumnCount() { return 2; } public int getRowCount() { return totalrows.size(); } public Object getValueAt(int row, int col) { return ((String[])totalrows.elementAt(row))[col]; }
public boolean isCellEditable(int row, int col) { return false; }
public void fire() { fireTableChanged(null); }
public void query() { try { Statement statement = dbconn.createStatement(); String query = "SELECT TARIH,ACIKLAMA FROM Tarihce " + "WHERE TARIHCE_MNO =" + screenvar.merkezno.getText() + " ORDER BY TARIH"; msgout.append( "\nSorgu cümlesi: " + dbconn.nativeSQL( query ) + "\n" ); ResultSet rs = statement.executeQuery( query ); totalrows = new Vector(); while ( rs.next() ) { String[] record = new String[2]; try { SimpleDateFormat fmt = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss"); java.util.Date ddate = fmt.parse(rs.getString(1)); fmt = new SimpleDateFormat ("dd/MM/yyyy"); record[0] = fmt.format(ddate); } catch( Exception dfe ) { msgout.append( dfe.toString() ); } record[1] = rs.getString(2); totalrows.addElement( record ); } // while msgout.append( "\nSorgu başarıyla tamamlandı.\n" ); statement.close(); } catch ( SQLException sqlex ) { msgout.append( sqlex.toString() ); } } // public void query } // class queryTableModel
// // Merkez Cizimi (calisir durumda degil) //
class MerkezCizim extends JFrame implements ActionListener { static final int NOFUNC = 5; // No of functions static final int STACKSIZE = 50; // No of elements that can be placed static final int RECTWIDTH = 40; // Default element width static final int RECTHEIGHT = 40; // Default element height static final int BASEX = 0, BASEY = 0, WIDTH = 600, HEIGHT = 400;
private Connection dbconn; private DataPanel screenvar; private JScrollPane orderpane; private JTextArea msgout; private boolean firsttime = true; private Container c; private Graphics g;
public MerkezCizim( Connection dbc, DataPanel scv, JTextArea msg ) { dbconn = dbc; screenvar = scv; msgout = msg; }
public void actionPerformed( ActionEvent e) { // strip out non-numerics from Merkez No String numstrg = new String(); for (int i = 0; i < screenvar.merkezno.getText().length(); i++){ if ( screenvar.merkezno.getText().charAt(i)>='0' && screenvar.merkezno.getText().charAt(i)<='9') { numstrg += screenvar.merkezno.getText().substring(i,i+1); } } screenvar.merkezno.setText(numstrg); // Merkez No'sunu kontrol et if ( !screenvar.merkezno.getText().equals("") ) { // İlk kez çağırılıyorsa GUI ortamını hazırla if ( firsttime ) { c = getContentPane(); c.setLayout( new FlowLayout() ); // RectangleArea rectangleArea = new RectangleArea(this); // c.add(rectangleArea); setSize( 600, 400 ); firsttime = false; g.drawLine(BASEX+RECTWIDTH,BASEY,BASEX+RECTWIDTH,BASEY+HEIGHT); for (int i=1; i<=NOFUNC; i++) g.drawLine(BASEX,BASEY+RECTHEIGHT*i,BASEX+RECTWIDTH,BASEY+RECTHEIGHT*i); g.drawString("A",17,28); g.drawString("B",17,68); g.drawString("C",17,108); g.drawString("D",17,148); g.drawString("E",17,188); } else {
} show(); } else msgout.append( "\n ***Çizim bilgisini istemeden önce bir Merkez bilgisi çağırın ***\n"); } // public void actionperformed
public void cizimQuery() { try { Statement statement = dbconn.createStatement(); String query = "SELECT BAS_X, BAS_Y, SEKIL_TIPI, BIT_X, BIT_Y FROM Cizim " + "WHERE CIZIM_MNO =" + screenvar.merkezno.getText(); msgout.append( "\nSorgu cümlesi: " + dbconn.nativeSQL( query ) + "\n" ); ResultSet rs = statement.executeQuery( query ); while ( rs.next() ) {
} // while msgout.append( "\nSorgu başarıyla tamamlandı.\n" ); statement.close(); } catch ( SQLException sqlex ) { msgout.append( sqlex.toString() ); } } // public void cizimQuery
} // class MerkezCizim
// // Tarihce alanlarinin hazirlanmasi //
class TarihceBox extends JPanel { JTextField indate, inacik;
public TarihceBox() { JPanel j = new JPanel(); j.setLayout(new GridLayout(2,2) ); JLabel pdate = new JLabel( "İşlemin yapıldığı tarih :" ); j.add( pdate ); indate = new JTextField( 10 ); // default olarak bugünün tarihini tarih alanına koy java.util.Date date = new java.util.Date(); SimpleDateFormat fmt = new SimpleDateFormat ("dd/MM/yyyy"); indate.setText(fmt.format(date)); j.add( indate ); pdate.setLabelFor( indate ); JLabel pacik = new JLabel( "İşlem açıklaması :"); j.add( pacik); inacik = new JTextField( 10 ); j.add( inacik ); pacik.setLabelFor( inacik ); setLayout(new FlowLayout() ); add(j); } // public TarihceBox() } // class TarihceBox
// // Yeni Merkez kaydi ekleme //
class AddRecord implements ActionListener { private DataPanel screenvar; private JTextArea msgout; private Connection dbconn; private int gv, cv; private Integer tempInt;
public AddRecord( Connection dbc, DataPanel scv, JTextArea msg ) { dbconn = dbc; screenvar = scv; msgout = msg; }
public void actionPerformed( ActionEvent e ) { try { Statement statement = dbconn.createStatement(); // strip out non-numerics from Merkez No String numstrg = new String(); for (int i = 0; i < screenvar.merkezno.getText().length(); i++){ if ( screenvar.merkezno.getText().charAt(i)>='0' && screenvar.merkezno.getText().charAt(i)<='9') { numstrg += screenvar.merkezno.getText().substring(i,i+1); } } screenvar.merkezno.setText(numstrg); try { gv = tempInt.parseInt ( screenvar.girisvolt.getText(), 10 ); } catch ( NumberFormatException nfex ) { msgout.append( nfex.toString() ); gv = 0; } try { cv = tempInt.parseInt ( screenvar.cikisvolt.getText(), 10 ); } catch ( NumberFormatException nfex ) { msgout.append( nfex.toString() ); cv = 0; } // Merkez no boş bırakılmamalı if (!screenvar.merkezno.getText().equals( "" ) && // Merkez tipi A, B, C1 veya C2 olmalı (screenvar.tipi.getText().equals( "A" ) || screenvar.tipi.getText().equals( "B" ) || screenvar.tipi.getText().equals( "C1" ) || screenvar.tipi.getText().equals( "C2" ) ) && // Merkez ana tipi Normal veya İndirici olmalı (screenvar.anatipi.getText().equals( "Normal" ) || screenvar.anatipi.getText().equals( "İndirici" ) ) && // Merkez yapisi Bina, Köşk veya Direk olmalı (screenvar.yapisi.getText().equals( "Bina" ) || screenvar.yapisi.getText().equals( "Köşk" ) || screenvar.yapisi.getText().equals( "Direk" ) ) && // Giriş voltajı sıfırdan büyük olmalı (gv > 0) && // Çıkış voltajı sıfırdan büyük olmalı (cv > 0) && // Giriş voltajı, Çıkış Voltajından büyük olmalı (gv > cv) && // Merkez ana tipi "Normal" ise besleyen merkez no girilmeli // Merkez ana tipi "İndirici" ise besleyen merkez no girilmemeli (screenvar.anatipi.getText().equals( "Normal") ^ (screenvar.besleyenmerkezno.getText().equals("") || screenvar.besleyenmerkezno.getText().equals("0") ) ) ) { // Test sırasında belirlenen indirici merkez için kaydedilecek besleyen merkez numarası // veri tabanına null gönderilmeyeceği için sıfır yapılıyor numstrg = screenvar.besleyenmerkezno.getText(); if (numstrg.equals("")) numstrg = "0"; String query = "INSERT INTO Merkez (" + "MERKEZ_NO, MERKEZ_ADI, ADRES, TIPI, " + "ANA_TIPI, YAPISI, GIRIS_VOLT, " + "CIKIS_VOLT, TRAFO_GUCU, ISLETME_GUCU, BESLEYEN_MERKEZ" + ") VALUES (" + screenvar.merkezno.getText() + ", '" + screenvar.merkezadi.getText() + "', '" + screenvar.adres.getText() + "', '" + screenvar.tipi.getText() + "', '" + screenvar.anatipi.getText() + "', '" + screenvar.yapisi.getText() + "', " + screenvar.girisvolt.getText() + ", " + screenvar.cikisvolt.getText() + ", " + screenvar.trafogucu.getText() + ", " + screenvar.isletmegucu.getText() + ", " + numstrg + ")"; msgout.append( "\nSorgu cümlesi: " + dbconn.nativeSQL( query ) + "\n" ); int result = statement.executeUpdate( query ); if ( result == 1 ){ msgout.append( "\nMerkez bilgisi başarıyla kaydedildi.\n" ); } else { screenvar.merkezno.setText( "" ); screenvar.merkezadi.setText( "" ); screenvar.adres.setText( "" ); screenvar.tipi.setText( "" ); screenvar.anatipi.setText( "" ); screenvar.yapisi.setText( "" ); screenvar.girisvolt.setText( "" ); screenvar.cikisvolt.setText( "" ); screenvar.trafogucu.setText( "" ); screenvar.isletmegucu.setText( "" ); screenvar.besleyenmerkezno.setText( "" ); } } else msgout.append( "\nMerkez bilgisi veri tabanına eklenemedi!\n" ); if (screenvar.merkezno.getText().equals( "" )) msgout.append( "\nMerkez No boş bırakılamaz!\n" ); else { if (gv <= cv) msgout.append( "\nGiriş voltajı Çıkış voltajından büyük olmalı!\n" ); if (gv <= 0) msgout.append( "\nGiriş voltajı sıfırdan büyük olmalı!\n" ); if (cv <= 0) msgout.append( "\nÇıkış voltajı sıfırdan büyük olmalı!\n" ); if (!(screenvar.tipi.getText().equals( "A" ) || screenvar.tipi.getText().equals( "B" ) || screenvar.tipi.getText().equals( "C1" ) || screenvar.tipi.getText().equals( "C2" ) ) ) msgout.append( "\nMerkez Tipi 'A', 'B', 'C1' veya 'C2' olmalı!\n" ); if (!(screenvar.anatipi.getText().equals( "Normal" ) || screenvar.anatipi.getText().equals( "İndirici" ) ) ) msgout.append( "\nMerkez Ana Tipi 'Normal' veya 'İndirici' olmalı!\n" ); else if (!(screenvar.anatipi.getText().equals( "Normal") ^ (screenvar.besleyenmerkezno.getText().equals("") || screenvar.besleyenmerkezno.getText().equals("") ) ) ) {msgout.append( "\nNormal Merkez için Besleyen Merkez No'sunu girmelisiniz!" ); msgout.append( "\nİndirici Merkez için Besleyen Merkez No'sunu boş bırakmalısınız!\n" ); } if (!(screenvar.yapisi.getText().equals( "Bina" ) || screenvar.yapisi.getText().equals( "Köşk" ) || screenvar.yapisi.getText().equals( "Direk" ) ) ) msgout.append( "\nMerkez Yapisi 'Bina', 'Köşk' veya 'Direk' olmalı!\n" ); } statement.close(); } catch ( SQLException sqlex ) { msgout.append( sqlex.toString() ); screenvar.merkezno.setText("Dosyada mevcut - yeniden deneyin!"); } } } // class AddRecord
// // Merkez Kaydi Bulma //
class FindRecord implements ActionListener { private DataPanel screenvar; private JTextArea msgout; private Connection dbconn;
public FindRecord( Connection dbc, DataPanel scv, JTextArea msg ) { dbconn = dbc; screenvar = scv; msgout = msg; }
public void actionPerformed( ActionEvent e ) { try { // strip out non-numerics from Merkez No String numstrg = new String(); for (int i = 0; i < screenvar.merkezno.getText().length(); i++){ if ( screenvar.merkezno.getText().charAt(i)>='0' && screenvar.merkezno.getText().charAt(i)<='9') { numstrg += screenvar.merkezno.getText().substring(i,i+1); } } screenvar.merkezno.setText(numstrg); if ( !numstrg.equals( "" ) ) { Statement statement =dbconn.createStatement(); String query = "SELECT * FROM Merkez " + "WHERE MERKEZ_NO = " + numstrg; msgout.append( "\nSorgu cümlesi: " + dbconn.nativeSQL( query ) + "\n" ); ResultSet rs = statement.executeQuery( query ); display( rs ); statement.close(); } else screenvar.merkezno.setText("Merkez No'sunu yazın" ); } catch ( SQLException sqlex ) { msgout.append( sqlex.toString() + sqlex.getMessage() ); } }
// Display results of query public void display( ResultSet rs ) { try { rs.next(); int recordNumber = rs.getInt( 1 ); if ( recordNumber != 0 ) { screenvar.merkezno.setText( String.valueOf(recordNumber) ); screenvar.merkezadi.setText( rs.getString( 2 ) ); screenvar.adres.setText( rs.getString( 3 ) ); screenvar.tipi.setText( rs.getString( 4 ) ); screenvar.anatipi.setText( rs.getString( 5 ) ); screenvar.yapisi.setText( rs.getString( 6 ) ); Integer temp = new Integer(0); screenvar.girisvolt.setText( temp.toString(rs.getInt( 7 )) ); screenvar.cikisvolt.setText( temp.toString(rs.getInt( 8 )) ); screenvar.trafogucu.setText( temp.toString(rs.getInt( 9 )) ); screenvar.isletmegucu.setText( temp.toString(rs.getInt( 10 )) ); screenvar.besleyenmerkezno.setText( temp.toString(rs.getInt( 11 )) ); } else msgout.append( "\nKayıt bulunamadı!\n" ); } catch ( SQLException sqlex ) { msgout.append( "\n*** İstenen Merkez no'ya sahip kayıt dosyada bulunamadı ***\n" ); } } } // class FindRecord
// // Merkez Kaydi Guncelle //
class UpdateRecord implements ActionListener { private DataPanel screenvar; private JTextArea msgout; private Connection dbconn; private int gv, cv; private Integer tempInt;
public UpdateRecord( Connection dbc, DataPanel scv, JTextArea msg ) { dbconn = dbc; screenvar = scv; msgout = msg; }
public void actionPerformed( ActionEvent e ) { try { Statement statement = dbconn.createStatement();
if ( ! screenvar.merkezno.getText().equals( "" ) ) { // strip out non-numerics from Merkez No String numstrg = new String(); for (int i = 0; i < screenvar.merkezno.getText().length(); i++) { if ( screenvar.merkezno.getText().charAt(i)>='0' && screenvar.merkezno.getText().charAt(i)<='9') { numstrg += screenvar.merkezno.getText().substring(i,i+1); } } screenvar.merkezno.setText(numstrg); try { gv = tempInt.parseInt ( screenvar.girisvolt.getText(), 10 ); } catch ( NumberFormatException nfex ) { msgout.append( nfex.toString() ); gv = 0; } try { cv = tempInt.parseInt ( screenvar.cikisvolt.getText(), 10 ); } catch ( NumberFormatException nfex ) { msgout.append( nfex.toString() ); cv = 0; } // Merkez no boş bırakılmamalı if (!screenvar.merkezno.getText().equals( "" ) && // Merkez tipi A, B, C1 veya C2 olmalı (screenvar.tipi.getText().equals( "A" ) || screenvar.tipi.getText().equals( "B" ) || screenvar.tipi.getText().equals( "C1" ) || screenvar.tipi.getText().equals( "C2" ) ) && // Merkez ana tipi Normal veya İndirici olmalı (screenvar.anatipi.getText().equals( "Normal" ) || screenvar.anatipi.getText().equals( "İndirici" ) ) && // Merkez yapisi Bina, Köşk veya Direk olmalı (screenvar.yapisi.getText().equals( "Bina" ) || screenvar.yapisi.getText().equals( "Köşk" ) || screenvar.yapisi.getText().equals( "Direk" ) ) && // Giriş voltajı sıfırdan büyük olmalı (gv > 0) && // Çıkış voltajı sıfırdan büyük olmalı (cv > 0) && // Giriş voltajı, Çıkış Voltajından büyük olmalı (gv > cv) && // Merkez ana tipi "Normal" ise besleyen merkez no girilmeli // Merkez ana tipi "İndirici" ise besleyen merkez no girilmemeli veya sıfır olmalı (screenvar.anatipi.getText().equals( "Normal") ^ (screenvar.besleyenmerkezno.getText().equals("") || screenvar.besleyenmerkezno.getText().equals("0") ) ) ) { String query = "UPDATE Merkez SET " + "MERKEZ_ADI='" + screenvar.merkezadi.getText() + "', ADRES='" + screenvar.adres.getText() + "', TIPI='" + screenvar.tipi.getText() + "', ANA_TIPI='" + screenvar.anatipi.getText() + "', YAPISI='" + screenvar.yapisi.getText() + "', GIRIS_VOLT=" + screenvar.girisvolt.getText() + ", CIKIS_VOLT=" + screenvar.cikisvolt.getText() + ", TRAFO_GUCU=" + screenvar.trafogucu.getText() + ", ISLETME_GUCU=" + screenvar.isletmegucu.getText() + ", BESLEYEN_MERKEZ=" + screenvar.besleyenmerkezno.getText() + " WHERE MERKEZ_NO=" + screenvar.merkezno.getText(); msgout.append( "\nSorgu cümlesi: " + dbconn.nativeSQL( query ) + "\n" );
int result = statement.executeUpdate( query );
if ( result == 1 ) msgout.append( "\nMerkez bilgisi başarıyla güncellendi\n" ); else { msgout.append( "\nGüncelleme işlemi başarısız oldu!\n" ); screenvar.merkezno.setText( "" ); screenvar.merkezadi.setText( "" ); screenvar.adres.setText( "" ); screenvar.tipi.setText( "" ); screenvar.anatipi.setText( "" ); screenvar.yapisi.setText( "" ); screenvar.girisvolt.setText( "" ); screenvar.cikisvolt.setText( "" ); screenvar.trafogucu.setText( "" ); screenvar.isletmegucu.setText( "" ); screenvar.besleyenmerkezno.setText( "" ); } } else msgout.append( "\nMerkez bilgisi veri tabanında güncellenemedi!\n" ); if (screenvar.merkezno.getText().equals( "" )) msgout.append( "\nMerkez No boş bırakılamaz!\n" ); else { if (gv <= cv) msgout.append( "\nGiriş voltajı Çıkış voltajından büyük olmalı!\n" ); if (gv <= 0) msgout.append( "\nGiriş voltajı sıfırdan büyük olmalı!\n" ); if (cv <= 0) msgout.append( "\nÇıkış voltajı sıfırdan büyük olmalı!\n" ); if (!(screenvar.tipi.getText().equals( "A" ) || screenvar.tipi.getText().equals( "B" ) || screenvar.tipi.getText().equals( "C1" ) || screenvar.tipi.getText().equals( "C2" ) ) ) msgout.append( "\nMerkez Tipi 'A', 'B', 'C1' veya 'C2' olmalı!\n" ); if (!(screenvar.anatipi.getText().equals( "Normal" ) || screenvar.anatipi.getText().equals( "İndirici" ) ) ) msgout.append( "\nMerkez Ana Tipi 'Normal' veya 'İndirici' olmalı!\n" ); else if (!(screenvar.anatipi.getText().equals( "Normal") ^ (screenvar.besleyenmerkezno.getText().equals("") || screenvar.besleyenmerkezno.getText().equals("0") ) ) ) {msgout.append( "\nNormal Merkez için Besleyen Merkez No'sunu girmelisiniz!" ); msgout.append( "\nİndirici Merkez için Besleyen Merkez No'sunu boş bırakmalısınız!\n" ); } if (!(screenvar.yapisi.getText().equals( "Bina" ) || screenvar.yapisi.getText().equals( "Köşk" ) || screenvar.yapisi.getText().equals( "Direk" ) ) ) msgout.append( "\nMerkez Yapisi 'Bina', 'Köşk' veya 'Direk' olmalı!\n" ); } statement.close(); } else msgout.append( "\nYalnızca mevcut bir kaydı güncelleyebilirsiniz. " + "'Bul' düğmesini kullanarak mevcut bir kayıda ulaşın, " + "daha sonra bilgilerini değiştirerek 'Güncelle' düğmesini " + "tıklayın.\n" ); } catch ( SQLException sqlex ) { msgout.append( sqlex.toString() ); } } } // class Updaterecord
// // Merkez kaydi Sil //
class DeleteRecord implements ActionListener { private DataPanel screenvar; private JTextArea msgout; private Connection dbconn;
public DeleteRecord( Connection dbc, DataPanel scv, JTextArea msg ) { dbconn = dbc; screenvar = scv; msgout = msg; }
public void actionPerformed( ActionEvent e ) { try { // strip out non-numerics from Merkez No String numstrg = new String(); for (int i = 0; i < screenvar.merkezno.getText().length(); i++){ if ( screenvar.merkezno.getText().charAt(i)>='0' && screenvar.merkezno.getText().charAt(i)<='9') { numstrg += screenvar.merkezno.getText().substring(i,i+1); } } screenvar.merkezno.setText(numstrg); if ( !numstrg.equals( "" ) ) { Statement statement =dbconn.createStatement(); String query = "DELETE FROM Merkez " + "WHERE MERKEZ_NO = " + numstrg; msgout.append( "\nSorgu cümlesi: " + dbconn.nativeSQL( query ) + "\n" ); ResultSet rs = statement.executeQuery( query ); statement.close(); } else screenvar.merkezno.setText("Merkez No'sunu yazın" ); } catch ( SQLException sqlex ) { msgout.append( "\nKayıt silinemedi\n"); msgout.append( sqlex.toString() + sqlex.getMessage() ); } }
} // class DeleteRecord
// // Merkez Bilgi Giris Alanlari //
class DataPanel extends JPanel {
JTextField merkezno, merkezadi, adres, tipi, anatipi, yapisi, girisvolt, cikisvolt, trafogucu, isletmegucu, besleyenmerkezno;
JLabel lmno, lmad, ladr, ltip, latip, lyap, lgv, lcv, ltg, lig, lbmno;
public DataPanel() { // Label panel JPanel labelPanel = new JPanel(); labelPanel.setLayout( new GridLayout( 11, 1 ) ); lmno = new JLabel( "Merkez No :", 0 ); labelPanel.add( lmno); lmad = new JLabel( "Merkez Adı :", 0 ); labelPanel.add( lmad); ladr = new JLabel( "Adres :", 0 ); labelPanel.add( ladr); ltip = new JLabel( "Merkez Tipi :", 0 ); labelPanel.add( ltip); latip = new JLabel( "Merkez Ana Tipi :", 0 ); labelPanel.add( latip); lyap = new JLabel( "Merkez Yapısı :", 0 ); labelPanel.add( lyap); lgv = new JLabel( "Giriş Voltajı :", 0 ); labelPanel.add( lgv); lcv = new JLabel( "Çıkış Voltajı :", 0 ); labelPanel.add( lcv); ltg = new JLabel( "Trafo Gücü :", 0 ); labelPanel.add( ltg); lig = new JLabel( "İşletme Gücü :", 0 ); labelPanel.add( lig); lbmno = new JLabel( "Besleyen Merkez No :", 0 ); labelPanel.add( lbmno);
// TextField panel JPanel screenvarPanel = new JPanel(); screenvarPanel.setLayout( new GridLayout( 11, 1 ) ); merkezno = new JTextField("Girin ve 'Bul'u tıklayın", 20) ; screenvarPanel.add( merkezno); merkezadi = new JTextField( 20 ); screenvarPanel.add( merkezadi ); adres = new JTextField( 20 ); screenvarPanel.add( adres ); // Combo boxlarla cikan problemler nedeniyle normal text alan kullanildi // String[] merkezTipiStrings = { "A", "B", "C1", "C2" }; // JComboBox tipi = new JComboBox(merkezTipiStrings); tipi = new JTextField( 20 ); screenvarPanel.add(tipi); // String[] merkezAnaTipiStrings = { "Normal Merkez", "İndirici Merkez" }; // JComboBox anatipi = new JComboBox(merkezAnaTipiStrings); anatipi = new JTextField( 20 ); screenvarPanel.add(anatipi); // String[] merkezYapisiStrings = { "Bina ", "Köşk ", "Direk" }; // JComboBox yapisi = new JComboBox(merkezYapisiStrings); yapisi = new JTextField( 20 ); screenvarPanel.add(yapisi); girisvolt = new JTextField( 20 ); screenvarPanel.add( girisvolt ); cikisvolt = new JTextField( 20 ); screenvarPanel.add( cikisvolt ); trafogucu = new JTextField( 20 ); screenvarPanel.add( trafogucu ); isletmegucu = new JTextField( 20 ); screenvarPanel.add( isletmegucu ); besleyenmerkezno = new JTextField( 20 ); screenvarPanel.add( besleyenmerkezno );
// Accessibility Section - relate labels and text fields // for use by assistive technologies lmno.setLabelFor( merkezno ); lmad.setLabelFor( merkezadi ); ladr.setLabelFor( adres ); ltip.setLabelFor( tipi ); latip.setLabelFor( anatipi ); lyap.setLabelFor( yapisi ); lgv.setLabelFor( girisvolt ); lcv.setLabelFor( cikisvolt ); ltg.setLabelFor( trafogucu ); lig.setLabelFor( isletmegucu ); lbmno.setLabelFor( besleyenmerkezno );
setLayout( new GridLayout( 1, 2 ) ); add( labelPanel ); add( screenvarPanel ); } } // class DataPanel
// // Dugme alanini olustur //
class ButtonPanel extends JPanel {
public ButtonPanel( Connection dbc, DataPanel scv, JTextArea msg ) { setLayout( new GridLayout( 1, 4 ) );
JButton findName = new JButton( "Bul" ); findName.addActionListener( new FindRecord( dbc, scv, msg ) ); add( findName );
JButton addName = new JButton( "Ekle" ); addName.addActionListener( new AddRecord( dbc, scv, msg ) ); add( addName );
JButton updateName = new JButton( "Güncelle" ); updateName.addActionListener( new UpdateRecord( dbc, scv, msg ) ); add( updateName );
JButton deleteName = new JButton( "Sil" ); deleteName.addActionListener( new DeleteRecord( dbc, scv, msg ) ); add( deleteName );
JButton clear = new JButton( "Temizle" ); clear.addActionListener( new Clearscreenvar( scv ) ); add( clear );
} } // class ButtonPanel
// // Diger fonksiyon dugmelerini olustur //
class RadioButtons extends JPanel {
public RadioButtons( Connection dbc, DataPanel scv, JTextArea msg ) {
TarihceGiris dkord = new TarihceGiris( dbc, scv, msg ); JRadioButton tgiris = new JRadioButton( "Tarihçe Giriş", false ); tgiris.addActionListener( dkord ); add( tgiris );
TarihceGoster ohist = new TarihceGoster( dbc, scv, msg ); JRadioButton tgoster = new JRadioButton( "Tarihçe Göster", false ); tgoster.addActionListener( ohist ); add( tgoster );
MerkezCizim drawing = new MerkezCizim( dbc, scv, msg ); JRadioButton cizim = new JRadioButton( "Çizim", false ); cizim.addActionListener( drawing ); add( cizim );
ButtonGroup radioGrp = new ButtonGroup(); radioGrp.add( tgiris ); radioGrp.add( tgoster ); radioGrp.add( cizim );
} } // class RadioButtons
// // Ekrandaki giris alanlarini temizle //
class Clearscreenvar implements ActionListener { private DataPanel screenvar;
public Clearscreenvar( DataPanel scv ) { screenvar = scv; }
public void actionPerformed( ActionEvent e ) { screenvar.merkezno.setText( "" ); screenvar.merkezadi.setText( "" ); screenvar.adres.setText( "" ); screenvar.tipi.setText( "" ); screenvar.anatipi.setText( "" ); screenvar.yapisi.setText( "" ); screenvar.girisvolt.setText( "" ); screenvar.cikisvolt.setText( "" ); screenvar.trafogucu.setText( "" ); screenvar.isletmegucu.setText( "" ); screenvar.besleyenmerkezno.setText( "" ); } // public void actionPerformed } // class Clearscreenvar