IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Java (https://www.ircforumlari.net/java/)
-   -   Java Swing/AWT | FX (https://www.ircforumlari.net/java/368590-java-swing-awt-fx.html)

Fonzerelli 02 Aralık 2010 22:34

Java Swing/AWT | FX
 
Java ile yazılmış uygulamaları, kod bloklarını, örnek kodları bu başlığı sabitleyerek altına başlık açılarak yazılabilir.

Uygulamayı yazarken önşart olarak şu ibarelerin belirtilmesi daha hem kodu okuyan hemde bu işi yeni öprenenler için bir fikir oluşturur.

Yazdığınız uygulamayı hangi framework üzerinde yazıldığı, framework'un versiyonu, varsa kullandıgınız database servisinin adını ve hangi versiyonu oldugunu belirtelim.

Örnek : Daha önceden paylaştığım bir uygulama Adres Defteri çin

Uygulama adı : Adres Defteri Takip Uygulaması
IDE : Netbeans
IDE versiyonu : 6.9.1
Kullanılan database servisi : Oracle Express Edition
Database'in Versiyonu : 10 g

Keyifli paylaşımlar..

Fonzerelli 03 Aralık 2010 23:58

Cevap: JAVA, JAVA FX, JAVA EE(Enterprise), JAVA ME(Mobile)
 
JAVA ve DATABASE UYGULAMASI

Framework : Netbeans 6.9.1
Database : Oracle 10 g Express Edition

Bu uygulama için öncelikle bir veritabanı olusturmanız gerekiyor. Veritabanı olusturdugunuzu ve bir tablo olusturdugunuzu varsayıyorum. Ve yavs yavas Netbeans' in bize sagladıgı avantajlar ve java nın esnekliği ile bir örnek uygulama anlatacağım.

İlk once bir uygulama açalım ve karşımıza cıkan ekrandan aşağıdaki gibi ekran goruntulerını takip ederek devam edin ;

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Programı çalıştırdığımızda ;

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Database için bir arayüz oluşturuyor ve yeni kayıt girme,silme,seçme,güncelleme işlemlerini yapabiliyorsunuz. Arayüz üstündeki bu işlemleri Netbeans bizim için create ediyor ve hazır sunuyor.

Fonzerelli 14 Aralık 2010 00:10

Cevap: JAVA, JAVA FX, JAVA EE(Enterprise), JAVA ME(Mobile)
 
HESAP MAKİNESİ(Calculator) JAVA DESKTOP APPLICATION

Genellikle programlama derslerinin vazgeçilmez ilk orneklerindendir fakat benim için pek öyle olmadı. Öğrencilerin yararlanabilmesi için klasik toplama,cıkarma,carpma,bölme,yuzde hesabı,1 bölüm, karakök vs.


Ekran görüntüsü (GUI olarak pek tatmin edici değil ama sonra düzeltirim)

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]



SwingCalculator.java


Kod:

package calc;
/**
 *
 * @author CAN
 */
import javax.swing.*;


class SwingCalculator {
  public static void main(String[] args) {
        JFrame frame = new Calculator();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true); //Frame i çağırıyoruz,gui kısmının gorunme ozelliğini katif ediyoruz
    }
}

Calculator.java class ı

Kod:

/**
 *
 * @author CAN
 */

package Calc;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

  class Calculator extends JFrame {
  private final Font BIGGER_FONT = new Font("monspaced", Font.PLAIN, 20);
  private JTextField textfield;     
  private boolean  number = true; 
  private String    equalOp  = "="; 
  private CalculatorOp op = new CalculatorOp();

  public Calculator() {
  textfield = new JTextField("0", 12);
  textfield.setHorizontalAlignment(JTextField.RIGHT);
  textfield.setFont(BIGGER_FONT);
 
  ActionListener numberListener = new NumberListener();
  String buttonOrder = "1234567890 "; //sayılar
  JPanel buttonPanel = new JPanel(); //dizayn ıcın panale (sayıların uzerıen durdugu)
  buttonPanel.setLayout(new GridLayout(4, 4, 4, 4));
    for (int i = 0; i < buttonOrder.length(); i++) {
            String key = buttonOrder.substring(i, i+1);
            if (key.equals(" ")) {
                buttonPanel.add(new JLabel(""));
            } else {
                JButton button = new JButton(key);
                button.addActionListener(numberListener);
                button.setFont(BIGGER_FONT); //butonların yazı fontları
                buttonPanel.add(button); // butonların frame uzerındekı panel e eklenmesi
            }
        }
  ActionListener operatorListener = new OperatorListener(); // operatorlerin cagrılması
  JPanel panel = new JPanel();
  panel.setLayout(new GridLayout(4, 4, 4, 4));
  String[] opOrder = {"+", "-", "*", "/","=","C"}; //Operator işlemlerinin tutuldugu String array i
  for (int i = 0; i < opOrder.length; i++) {
    JButton button = new JButton(opOrder[i]);
    button.addActionListener(operatorListener);
    button.setFont(BIGGER_FONT);
    panel.add(button);
    }
  JPanel pan = new JPanel();
        pan.setLayout(new BorderLayout(4, 4));
        pan.add(textfield, BorderLayout.NORTH );
        pan.add(buttonPanel  , BorderLayout.CENTER);
        pan.add(panel , BorderLayout.EAST  );
        this.setContentPane(pan);
        this.pack();
        this.setTitle("Calculator"); // Panel baslıgı
        this.setResizable(false);
    }
        private void action() {
        number = true;       
        textfield.setText("0");
        equalOp  = "=";
        op.setTotal("0");
    }
    class OperatorListener implements ActionListener { // operator fonksiyonları ve işlemleri
        public void actionPerformed(ActionEvent e) {
        if (number) {
                action();
                textfield.setText("0");
            } else {
                number = true;
                String displayText = textfield.getText();
                if (equalOp.equals("=")) { //eşittir operatoru
                        op.setTotal(displayText);
                    } else if (equalOp.equals("+")) { //toplama operatoru
                        op.add(displayText);
                    } else if (equalOp.equals("-")) { // cıkarma operatoru
                        op.subtract(displayText);
                    } else if (equalOp.equals("*")) { //carpma operatoru
                        op.multiply(displayText);
                    } else if (equalOp.equals("/")) { //bolme operatoru
                        op.divide(displayText);
                    }
                  textfield.setText("" + op.getTotalString()); //toplam işlemi
                  equalOp = e.getActionCommand();
            }
          }
          }
    class NumberListener implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            String digit = event.getActionCommand();
            if (number) {
              textfield.setText(digit);
              number = false;
            } else {
            textfield.setText(textfield.getText() + digit); //textfield icine yazılması
            }
        }
    }
    public class CalculatorOp {
   
private int total; 
public CalculatorOp() {
        total = 0;
    }
  public String getTotalString() {
        return ""+total;
    }
  public void setTotal(String n) {
        total = convertToNumber(n);
    }
  public void add(String n) {
        total += convertToNumber(n);
  }
  public void subtract(String n) {
        total -= convertToNumber(n);
    }
  public void multiply(String n) {
        total *= convertToNumber(n);
    }
   
    public void divide(String n) {
        total /= convertToNumber(n);
    }
   
    private int convertToNumber(String n) {
        return Integer.parseInt(n);
    }
}

  }

Öğrenciler için güzel bir uygulama ve yeni baslayanlar için..

Keyifli Forumlar..

YazılımMimarı 21 Temmuz 2012 19:16

Java FX
 
JavaFX 1.x fx script ile cikmisti ve java ile kodlanmadigi icin her nekadar bir script dili ve her ekranda(mobil,web, tablet, tv) calisacak gibi reklamlar yapilsa da tutmadi.
Oracle Sun'i satin aldiktan sonra java desktop teknolojilerine yatirim yapilmadigi, swing'in artik yeterli olmadigi ve geriye uyumluluk politikasi sebebiyle cok gelistirilemedigi sikca dile getirildi. Oracle boylece radikal bir karar alip JavaFX 2.x serisinin java'ya gececegini JDK8'e de eklenecegini duyordu.
Neden Oracle boyle bir karar aldi? Oracle butun dunyada hala bircok desktop ile calisan teknolojilere sahip, Oracle Forms, Oracle veritabani + PL/SQL ile desktop gelistirme sunuyor ve direk veritabani uzerinde calistigi icin buyuk sistemlerde cok kullanildi. Oracle Oracle Forms gibi yapilari devam ettirebilmek icin internetle de uyumlu RIA araclarina ihtiyac duyuyor, sadece Oracle degil bircok java programcisi. Oracle'in JavaFX gelecekte swing'in yerini alacak her platforma da tasinabilir gibi aciklamalarla ne kadar yatirim yaptigini gosterdi.
Su ana kadar JavaFX 2.2 developer preview de gayet basarili componentlere sahip. JavaFX Contols (componentleri) gayet iyi tasarlanmis, JavaFX takiminin tekrar ettigi swing'deki hastaliklardan kurtulmus bir UI teknolojisi. Bircok guzel yenilikleri var, en goze batanlar: CSS ile componentleri sekillendirebilme, 3D, Canvas, Audio, -----, Web Service'leri cagirabilme, asenkron calisabilme, FXML ile UI form tasarimi, Scene Builder form designer gibi bir cok ozelliklere sahip.
Kisaca ozetlersek JavaFX javanin yakin gelecekteki Desktop ve RIA toolseti. JavaFX 2.2 final ile GNU/Linux'da da stabil versiyona ulasilmasi bekleniyor yakinlarda. Ayrica Oracle iPad uzerinde bir emulator ile javafx demolari gosterdi (henuz nasil calistirdigini yayinlamadi), soylentilere gore JavaFX embedded java veya emulatorler araciligiyla mobil cihazlarda calistirilacak. Eger bu ozellik gelirse artik tek bir dil ve javafx zengin component seti ile mobil cihazlara (telefon, tablet, pc, tv vb. gibi her ekranda calismasi gercek olacak mi?) program gelistirilebilecek.


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Ayrica [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...][Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Yazar : Cem Ikta[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 16:46.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net