İÇİNDEKİLER
Önsöz 7 Giriş JFC (Java Foundation Class) ve Swing 19 Neden AWT Yetersiz? 20 Swing’le Ne Değişti? 20 Swing MVC Yapısı (Model-View-Contoller) 20 Swing Mimarisi 21 Swing Taşıyıcıları 21 NetBeans Kullanarak Uygulama Geliştirme 22 Proje Oluşturma 23 NetBeans Arayüzünü Tanıma 27 Palette 27 Design Area 27 Property Editor 28 Inspector 29 NetBeans’i Başlatmak 29 Kod Editörünü Kullanma 31 Kodda Değişiklik Yapmak 32 Uygulamayı Debug Etmek 32 Tasarım Alanında Çalışmak 34 Uygulamayı Oluşturma 35 Bölüm I Swing Bileşenlerini Anlamak JLabel 41 JLabel Yapılandırıcıları 42 Özelliklerinin Atanması 42 JLabel Yordamlarını Kullanmak 45 Yararlı Bazı Yordamlara Daha Yakından Bakmak 48 JTextField 51 JTextField Yapılandırıcıları 51 Özelliklerinin Atanması 52 JTextField Yordamlarını Kullanmak 53 Yararlı Bazı Yordamlara Daha Yakından Bakmak 54 JTextArea 59 JTextArea Yapılandırıcıları 59 Özelliklerinin Atanması 59 JTextArea Yordamlarını Kullanmak 61 Yararlı Bazı Yordamlara Daha Yakından Bakmak 63 Metin Bileşenlerini Kullanarak Bir Uygulama Geliştirmek 67 JEditorPane ve JTextPane 73 JEditor ve JTextPane Arasındaki Farklılıklar 73 JEditorPane ve JTextPane Yapılandırıcıları 74 Özelliklerinin Atanması 74 JEditorPane ve TextPane Yordamlarını Kullanmak 76 Basit Bir Metin Düzenleyicisi Uygulaması Geliştirmek 80 JPasswordField 89 JPasswordField Yapılandırıcıları 89 Özelliklerinin Atanması 90 JPasswordField Yordamlarını Kullanmak 92 Yararlı Bazı Yordamlara Daha Yakından Bakmak 93 Bir Kullanıcı Kimlik Denetimi Uygulaması Geliştirmek 98 JFormattedTextField 100 JFormattedTextField Yapılandırıcıları 100 Özelliklerinin Atanması 101 Format Kullanmak 103 MaskFormatter Kullanmak 103 JFormattedTextField Yordamlarını Kullanmak 103 Yararlı Bazı Yordamlara Daha Yakından Bakmak 104 Biçimli Metin Kutularıyla Basit Bir Kasa İşlemleri Uygulaması Geliştirmek 110 JSpinner 112 JSpinner Yapılandırıcıları 112 Özelliklerinin Atanması 112 JSpinner Yordamlarını Kullanmak 113 Yararlı Bazı Yordamlara Daha Yakından Bakmak 114 JButton 116 JButton Yapılandırıcıları 116 Özelliklerinin Atanması 117 JButton Yordamlarını Kullanmak 119 Yararlı Bazı Yordamlara Daha Yakından Bakmak 120 JCheckBox 125 JCheckBox Yapılandırıcıları 125 Özelliklerinin Atanması 126 JCheckBox Yordamlarını Kullanmak 128 Yararlı Bazı Yordamlara Daha Yakından Bakmak 129 JRadioButton 134 JRadioButton Yapılandırıcıları 134 Özelliklerinin Atanması 135 JRadioButton Yordamlarını Kullanmak 137 Yararlı Bazı Yordamlara Daha Yakından Bakmak 139 JToggleButton 144 JToggleButton Yapılandırıcıları 144 Özelliklerinin Atanması 144 JToggleButton Yordamlarını Kullanmak 147 Yararlı Bazı Yordamlara Daha Yakından Bakmak 147 ButtonGroup 152 ButtonGroup Yapılandırıcıları 152 Özelliklerinin Atanması 153 ButtonGroup Yordamlarını Kullanmak 153 JComboBox 155 JComboBox Yapılandırıcıları 155 Özelliklerinin Atanması 155 JComboBox Yordamlarını Kullanmak 157 Yararlı Bazı Yordamlara Daha Yakından Bakmak 158 JList 161 JList Yapılandırıcıları 161 Özelliklerinin Atanması 162 JList Yordamlarını Kullanmak 163 Yararlı Bazı Yordamlara Daha Yakından Bakmak 164 JScrollBar 169 JScrollBar Yapılandırıcıları 169 Özelliklerinin Atanması 169 JScrollBar Yordamlarını Kullanmak 171 Yararlı Bazı Yordamlara Daha Yakından Bakmak 172 JSlider 175 JSlider Yapılandırıcıları 175 Özelliklerinin Atanması 175 JSlider Yordamlarını Kullanmak 177 Yararlı Bazı Yordamlara Daha Yakından Bakmak 179 Bölüm II Taşıyıcılar JPanel 183 JPanel Yapılandırıcıları 183 Özelliklerinin Atanması 183 JPanel Yordamlarını Kullanmak 184 Yararlı Bazı Yordamlara Daha Yakından Bakmak 185 Tasarım Anında JPanel ile Çalışmak 188 JSplitPane 189 JSplitPane Yapılandırıcıları 189 Özelliklerinin Atanması 190 JSplitPane Yordamlarını Kullanmak 191 Yararlı Bazı Yordamlara Daha Yakından Bakmak 192 Tasarım Anında JSpitPane ile Çalışmak 196 JTabbedPane 198 JTabbedPane Yapılandırıcıları 198 Özelliklerinin Atanması 198 JTabbedPane Yordamlarını Kullanmak 199 Yararlı Bazı Yordamlara Daha Yakından Bakmak 200 Tasarım Anında JTabbedPane ile Çalışmak 205 JScrollPane 207 JScrollPane Yapılandırıcıları 207 Özelliklerinin Atanması 208 JScrollPane Yordamlarını Kullanmak 209 Yararlı Bazı Yordamlara Daha Yakından Bakmak 210 JLayeredPane 214 JLayeredPane Yapılandırıcıları 215 Özelliklerinin Atanması 215 JLayeredPane Yordamlarını Kullanmak 216 Yararlı Bazı Yordamlara Daha Yakından Bakmak 217 Tasarım Anında JLayeredPane ile Çalışmak 220 JDesktopPane 221 JDesktopPane Yapılandırıcıları 222 Özelliklerinin Atanması 222 JDesktopPane Yordamlarını Kullanmak 223 Yararlı Bazı Yordamlara Daha Yakından Bakmak 224 Bölüm III Yerleşim Düzenleyiciler Bir Taşıyıcı İçerisine Bileşenleri Yerleştirme 229 Yerleşim Düzenleyiciler 229 BorderLayout 229 BorderLayout Yapılandırıcıları 230 Yararlı Bazı Yordamlara Daha Yakından Bakmak 231 BoxLayout 231 BoxLayout Yapılandırıcıları 232 Yararlı Bazı Yordamlara Daha Yakından Bakmak 233 CardLayout 233 CardLayout Yapılandırıcıları 234 Yararlı Bazı Yordamlara Daha Yakından Bakmak 234 FlowLayout 235 FlowLayout Yapılandırıcıları 236 Yararlı Bazı Yordamlara Daha Yakından Bakmak 236 GridBagLayout 236 GridBagLayout Yapılandırıcıları 238 Yararlı Bazı Yordamlara Daha Yakından Bakmak 238 GridBagConstraints Yapılandırıcıları 238 Yararlı Bazı Yordamlara Daha Yakından Bakmak 239 GridLayout 239 GridLayout Yapılandırıcıları 240 Yararlı Bazı Yordamlara Daha Yakından Bakmak 240 GroupLayout 241 GroupLayout Yapılandırıcıları 244 Yararlı Bazı Yordamlara Daha Yakından Bakmak 245 Tasarım Anında Yerleşim Düzenleyicileri Kullanma 246 Bölüm IV Çerçevelerle Çalışmak BorderFactory ile Çerçeve Oluşturmak 250 Yararlı Bazı Yordamlara Daha Yakından Bakmak 252 Tasarım Anında Çerçeveleri Kullanma 252 Bölüm V Formlarla Çalışmak Bir Form Oluşturmak ve Göstermek 255 JFrame Yapılandırıcıları 256 Özelliklerinin Atanması 256 Yararlı Bazı Yordamlara Daha Yakından Bakmak 257 Form Görünümlerini Belirleme 258 Form Görünüm ve Davranış Biçimini Değiştirme 259 Geçerli “Görünüm ve Davranış”lar 259 Geçerli Görünüm Biçimini Değiştirme 260 Nimbus G&D 260 Numbus G&D Biçimlendirme 262 Temalar 264 Bir İçsel Form Oluşturmak ve Göstermek 265 JInternalFrame Yapılandırıcıları 266 Özelliklerinin Atanması 267 Yararlı Bazı Yordamlara Daha Yakından Bakmak 268 JToolBar 270 JToolBar Yapılandırıcıları 271 Özelliklerinin Atanması 271 JToolBar Yordamlarını Kullanmak 272 Yararlı Bazı Yordamlara Daha Yakından Bakmak 273 Bölüm VI Menülerle Çalışmak Menü Bileşenleri Hiyerarşisi 275 JMenuBar 276 JMenuBar Yapılandırıcıları 276 Özelliklerinin Atanması 276 JMenuBar Yordamlarını Kullanmak 277 Yararlı Bazı Yordamlara Daha Yakından Bakmak 278 JMenu 279 JMenu Yapılandırıcıları 279 Özelliklerinin Atanması 280 JMenu Yordamlarını Kullanmak 282 Yararlı Bazı Yordamlara Daha Yakından Bakmak 282 JMenuItem 286 JMenuItem Yapılandırıcıları 287 Özelliklerinin Atanması 287 JMenuItem Yordamlarını Kullanmak 289 Yararlı Bazı Yordamlara Daha Yakından Bakmak 290 JCheckBoxMenuItem 294 JCheckBoxMenuItem Yapılandırıcıları 294 Özelliklerinin Atanması 295 JCheckBoxMenuItem Yordamlarını Kullanmak 297 Yararlı Bazı Yordamlara Daha Yakından Bakmak 298 JRadioButtonMenuItem 302 JRadioButtonMenuItem Yapılandırıcıları 302 Özelliklerinin Atanması 303 JRadioButtonMenuItem Yordamlarını Kullanmak 305 Yararlı Bazı Yordamlara Daha Yakından Bakmak 307 JPopupMenu 311 JPopupMenu Yapılandırıcıları 311 Özelliklerinin Atanması 311 JPopupMenu Yordamlarını Kullanmak 312 Yararlı Bazı Yordamlara Daha Yakından Bakmak 314 Tasarım Anında Menüleri Kullanma 316 Bölüm VII İletişim Kutularıyla Çalışmak JOptionPane 322 Basit Bir İletişim Penceresi Oluşturmak ve Görüntülemek 322 showMessageDialog 323 showOptionDialog 324 İletişim Penceresi Düğme Metinlerini Özelleştirmek 325 Bir İletişim Penceresi Aracılığıyla Kullanıcıdan Bilgi Almak 326 İletişim Penceresinin Kendiliğinden Kapanmasını Durdurma 327 JOptionPane Yordamları 328 JDialog 333 JDialog Yapılandırıcıları 333 Özelliklerinin Atanması 335 JDialog Yordamlarını Kullanmak 336 Yararlı Bazı Yordamlara Daha Yakından Bakmak 337 Tasarım Anında JDialog’la Çalışma 340 Bölüm VIII İleri Düzey Bileşenler JColorChooser 347 JColorChooser Yapılandırıcıları 347 Özelliklerinin Atanması 347 JColorChooser Yordamlarını Kullanmak 348 Yararlı Bazı Yordamlara Daha Yakından Bakmak 350 JFileChooser 350 JFileChooser Yapılandırıcıları 351 Özelliklerinin Atanması 351 JFileChooser Yordamlarını Kullanmak 353 Yararlı Bazı Yordamlara Daha Yakından Bakmak 355 JTree 357 JTree Yapılandırıcıları 358 Özelliklerinin Atanması 358 JTree Yordamlarını Kullanmak 360 Yararlı Bazı Yordamlara Daha Yakından Bakmak 361 JTable 366 JTable Yapılandırıcıları 366 Özelliklerinin Atanması 367 JTable Yordamlarını Kullanmak 369 Yararlı Bazı Yordamlara Daha Yakından Bakmak 369 Bölüm IX Olay Dinleyicilerini Anlamak Olay Dinleyicileri Yazma 376 Olay Bilgilerini Alma: Olay Nesneleri 376 Kavramlar: Düşük-Düzey Olaylar ve Anlamsal Olaylar 376 Olay Bağdaştırıcıları 377 İç Sınıflar ve Anonim İç Sınıflar 378 EventHandler Sınıfı 379 Swing Bileşenlerince Sağlanan Dinleyiciler 379 Tüm Swing Bileşenlerince Sağlanan Dinleyiciler 380 Swing Bileşenlerinin Desteklediği Diğer Dinleyiciler 380 Ortak Yönetilen Olaylar İçin Dinleyiciler Geliştirme 382 Bir Action Listener Yazma 382 Action Listener API’si 385 Bir Caret Listener Yazma 386 Caret Listener API’si 387 Bir Change Listener Yazma 388 Change Listener API’si 389 Bir Component Listener Yazma 389 Component Listener API’si 392 Bir Container Listener Yazma 393 Container Listener API’si 395 Bir Document Listener Yazma 395 Document Listener API’si 397 Bir Focus Listener Yazma 397 Focus Listener API’si 399 Bir Internal Frame Listener Yazma 399 Internal Frame Listener API’si 401 Bir Item Listener Yazma 401 Item Listener API’si 402 Bir Key Listener Yazma 403 KeyListener API’si 405 Bir List Data Listener Yazma 406 ListDataListener API’si 408 Bir List Selection Listener Yazma 409 List Selection Listener API’si 412 Bir Mouse Listener Yazma 413 Mouse Listener API’si 415 Bir Mouse-Motion Listener Yazma 416 Mouse-Motion Listener API’si 418 Bir Mouse-Wheel Listener Yazma 418 Mouse Wheel Listener API’si 420 Bir Property Change Listener Yazma 421 Property Change Listener API’si 424 Bir Table Model Listener Yazma 425 TableModelListener API’si 427 Bir Tree Expansion Model Listener Yazma 428 Tree Expansion Listener API’si 430 Bir Tree Model Listener Yazma 430 Tree Model Listener API’si 432 Bir Tree Selection Listener Yazma 433 Tree Selection Listener API’si 435 Bir Tree-Will-Expand Listener Yazma 436 Tree-Will-Expand Listener API’si 438 Bir Window Listener Yazma 438 Window Listener APIsi 442 Bölüm X Swing ve JDBC™ ile Database Erişimi JDBC Bileşenleri 446 JDBC Mimarisi 446 İlişkisel Veritabanları 448 SELECT İfadesi 449 WHERE Tümceciği 449 Birleştirmeler 450 Ortak SQL Komutları 452 Sonuç Kümeleri ve İmleçler 452 İşlemler (Transactions) 452 Depolanmış İşlem Grupları (Stored Procedures) 453 Üstveri (MetaData) 453 JDBC Temelleri 453 Veritabanını Ayarlama 454 Bağlantı Oluşturma 455 Bağlantı (Connection) Arayüzü Yordamları 456 Sonuç Kümelerinden Değerleri Alma 458 Verikümesi (Resultset) Yordamlarını Kullanma 459 getXXX Yordamları 460 Verikümesi (ResultSet) Arayüzü Yordamları 462 Tabloları Güncelleme 469 Hazırlanmış İfadeleri Kullanma (Prepared Statements) 470 Hazırlanmış İfade (Prepared Statement) Arayüzü Yordamları 471 Birleştirmeleri Kullanma 473 İşlemleri (Transactions) Kullanma 474 Depolanmış İşlem Grupları (Stored Procedure) Kullanma 476 NetBeans IDE Veritabanı Gezginini Kullanma 477 MySQL Sunucusuna Erişim 478 Yeni Bir Veritabanı Oluşturma 479 Yeni Bir Tablo Oluşturma 480 Tablo Verileriyle Çalışma 482 Bir JDBC Uygulaması Geliştirme 483 Bölüm XI Swing ve Java Persistence API ile Database Erişimi Kalıcılık Nesnesi: Varlık 504 @Entity 504 @Table 504 @Column 504 @Id 504 @NamedQueries ve @NamedQuery 505 Kalıcılık Birimleri 505 Varlık Sınıfını Kullanarak Tabloya Yeni Bir Satır Ekleme 506 Varlık Sınıfı Kullanarak Aramalar Yapmak 506 Kalıcılık Sorgu Dili 507 Bir JPA Uygulaması Geliştirme 508 Uygulama Çatısını Oluşturma 508 Bind Penceresiyle Çalışma 512 “Update Source When” Alanını Anlamak 515 Bölüm XII Baskı ve Raporlama İşlemleri Baskı İşlemi 517 Basit Bir Baskı Uygulaması Geliştirme 517 JasperReports ve iReport’la Açık Kaynaklı Raporlama 522 Başlamadan Önce 522 Veritabanı Bağlantısının Kurulması 523 Raporu Oluşturma 524 Oluşturulan Raporları Java Uygulamasında Kullanma 531 Parametreli Rapor Sorguları Oluşturma 534 NetBeans Aracılığıyla JasperReport Kullanma 535 INDEX 537 |