21 Şubat 2016 Pazar

Java Container

Tarih:21.02.2016
Siradaki Container ise JTabbedPane nasıl kullanılır .

class JTabbedPanel extends JFrame {

    public JTabbedPanel(String title)  {
        super(title);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        JLabel aciklama = new JLabel("Java JTabbedPane nedir ne işe Yarar?");
        JPanel p1 = new JPanel();
        JPanel p2 = new JPanel();
        JPanel p3 = new JPanel();
        JPanel p4 = new JPanel();
        p1.setBorder(new EtchedBorder(Color.BLACK, Color.RED));
        p2.setBorder(new EtchedBorder(Color.BLACK, Color.RED));
        p3.setBorder(new EtchedBorder(Color.BLACK, Color.RED));
        p4.setBorder(new EtchedBorder(Color.BLACK, Color.RED));
        String l1 = "OgrenciIslemleri";
        String l2 = "PersonelIslemleri";
        String l3 = "DersIslemleri";
        String l4 = "Ozay Tunctan YardımEt";
        JTabbedPane pane = new JTabbedPane(JTabbedPane.LEFT);
        p1.add(aciklama);
        pane.setBackground(Color.LIGHT_GRAY);
        JButton i1=new JButton("Ögrenci Ekle");
        JButton i2=new JButton("Ögrenci sil");
        p1.add(i1);
        p1.add(i2);
        pane.setFont(new Font("Arial", Font.BOLD, 15));
        pane.setForeground(Color.blue);
        pane.addTab(l1, p1);
        pane.addTab(l2, p2);
        pane.addTab(l3, p3);
        pane.addTab(l4, p4);
        this.add(pane);
        this.setSize(400, 400);
        this.setVisible(true);
    }

    public static void main(String[] args) {
        JTabbedPanel pane = new JTabbedPanel("JtabbedPanel Frame");
    }
}
Ekran Cıktısı:

21.02.2015 tarihli Ders


Container(Kap diyorum ben)
Bütün  componentler ,bir container olmak zorundadır.Container swing componentleri yönetmek ve düzenlemek için özel tasarlanmış bir swing componentidir.Başlıca swing Componentleri JPanel,JSrollpane,JTabbedPane,JSplitPane dir.
Bu örneğimizde Jpanel olacak
Jpanelin cervesini düzenleme Component eklemeyi göstereceğim.
Kod satırları:
class Container {

    public static void main(String[] args) {
        JFrame fr = new JFrame();
        fr.setDefaultCloseOperation(EXIT_ON_CLOSE);
        JPanel pane = new JPanel();
        JButton b1 = new JButton("1");
        JButton b2 = new JButton("2");
        b1.setBorder(new BevelBorder(BevelBorder.RAISED));
        b2.setBorder(new BevelBorder(BevelBorder.RAISED));
        pane.setBorder(new EtchedBorder(Color.BLACK, Color.RED));
        pane.add(b1);
        pane.add(b2);
        fr.add(pane);
        fr.setSize(100,100);
        fr.setVisible(true);
    }
}
Ekran Cıktısı

19 Şubat 2016 Cuma

Bir text dosyasındaki verileri okumak için gerekli java kod satırları aşağıda verilmiştir.Eğer text Dosyasındaki verilerinin kaç satırdan oluştuğunu bilmiyorsak ArrayList yapısını kullanılmasını öneririm.Kendim  yazdığım programlarda ArrayList sınıfı kullanarak okuma işlemini  yaptım.ArrayList'in bize kazancı ise bilinmeyen satır sayılarında bize kolaylık sağlayan bir list yapısıdır.Benim yaptığım işlem text dosyası verileri parametre olarak verilen Token değişkeni ile alınan her satırı parçalayarak double dizisine konulmuştur.Daha sonra her satırdaki data parçalanarak bir dizi yapısı oluşturularak  Arraylist Sınıfına aktarılmıştır.Geri dönüş değeri 2 boyutlu matrix satır sutun şeklinde hücrelere aktarılmıştır.Anlamadığınız noktalarda yorum yaparak sorabilirsiniz.

   public static double[][] doubleAllReadToFile(String file_name, String token) {
        double[][] d = new double[1][1];
        ArrayList<double[]> lst = new ArrayList<>();
        File file = new File(file_name);
        if (!file.exists()) {
            showMessage(file_name + " isminde bir dosya yok");
            return d;
        }
        try (BufferedReader br = new BufferedReader(new FileReader(file_name))) {
         String s;
         while ((s = br.readLine()) != null) {
         String[] sd = s.split(token);
         double[] row =new double[sd.length];
         for (int i = 0; i < sd.length; i++) {
          row[i] = Double.parseDouble(sd[i]);
          }
                lst.add(row);
            }
        br.close();
        } catch (IOException e) {
        e.printStackTrace();
          }
          return d;
        }

12 Şubat 2016 Cuma