menusearch
javapro.ir
جستجو
۱۳۹۶/۳/۱۱ پنج شنبه
(6)
(0)
♨️ جلسه دهم - کلاس JTabel در جاوا
♨️ جلسه دهم - کلاس JTabel در جاوا

یکی دیگر از کلاس های موجود در پکیج Swingکلاس JTable  می باشد. کلاس JTable برای نمایش داده ها در یک فرم جدولی استفاده می شود.همان طور که هر جدولی دارای سطر و ستون می باشد ، شی ایجاد شده از کلاس JTable ترکیبی از سطر و ستون می باشد. برای درکی از شکل ظاهری اجزای گرافیکی JTable تصویر(1) را مشاهده کنید:

 

آموزش jtable در جاوا

 

•    در تصویر(1) یک JTable داریم که از تعدادی سطر و ستون تشکیل شده است.

 

سازنده های پرکاربرد کلاس JTable :

 

توصیفسازنده
ایجاد یک جدول با سلول های خالیJTable()
ایجاد یک جدول با داده های مشخص شدهJTable(Object[][] rows, Object[] columns)


 

•    دیگه فعلا تئوری رو رها می کنیم میریم سراغ حل مثال! در خلال بررسی مثال ها سایر مفاهیم ،ویژگی ها و متدهای کلاس JTable را بررسی می کنیم.


مثال:

 

package  swing_javalike  ;
import  javax.swing.*;    
public class TableExample {    
    JFrame f;    
    TableExample(){    
    f=new JFrame();    
    String data[][]={ {"101","hasan","670000"},    
                          {"102","jafar","780000"},    
                          {"103","maryam","700000"}};    
    String column[]={"ID","mina","SALARY"};         
    JTable jt=new JTable(data,column);    
    jt.setBounds(30,40,200,300);          
    JScrollPane sp=new JScrollPane(jt);    
    f.add(sp);          
    f.setSize(300,200);    
    f.setVisible(true);    
}     
public static void main(String[] args) {    
    new TableExample();    
}    
}


 

خروجی: تصویر(2)

 

آموزش ایجاد جدول در زبان جاوا

 

String data[][]={ {"101","hasan","670000"},
{"102","jafar","780000"},
{"103","maryam","700000"}};



•    یک آرایه دو بعدی تعریف کرده و داده های خود را درون آن میریزیم.این آرایه دو بعدی قراره داده های جدول JTabel ما را تشکیل خواهد داد.

 

String column[]={"ID","mina","SALARY"};


•    یک آرایه یک بعدی تعریف کرده و داده هایی را درون ان می ریزیم، داده های این آرایه عنوان های ستون جدول JTabel ما را تشکیل خواهد داد.
•    پس تا اینجا داده های جدول را درون یک آرایه دو بعدی و داده های عناوین ستون جدول را درون یک آرایه یک بعدی ریختیم.

 

JTable jt=new JTable(data,column);


•    برای ایجاد جدول در برنامه از کلاس JTabel شی ایجاد کرده ایم.درون سازنده این کلاس آرایه دوبعدی data که حاوی داده های جدول و آرایه یک بعدی column که حاوی عنوان های ستون جدول می باشد را قرار داده ایم.

 

jt.setBounds(30,40,200,300)


•    تعیین مختصات و ابعداد جدول خود در فریم

 

JScrollPane sp=new JScrollPane(jt);

 

 


کلاس JScrollPane :


برای افزودن قابلیت اسکرول به اجزای گرافیکی ، مدیریت نمایش،افقی یا عمودی بودن اسکرول بارها و نمایش عنوان های سطر و ستون استفاده می شود. در تصویر(3) یک اسکرول بار افزوده شده به یک TextField را مشاهده می کنید:

 


آموزش ایجاد جدول در جاوا


•    برای افزون یک اسکرول بار و تعیین عنوان سطر و ستون و.. کافیست از کلاس JScrollPane شی ایجاد کنیم و درون پارامتر سازنده کلاس شی از اجزای گرافیکی مربوطه قرار دهیم.


•    برای افزودن اسکرول بار و تعیین ستون برای جدول خود  از JScrollPane استفاده می کنیم. روش کار هم به این صورته که ابتدا از کلاس JTabel شی ایجاد می کنیم و سی ایجاد شده را درون پارامتر سازنده کلاس JScrollPane قرار می دهیم:

 

JTable jt=new JTable(data,column);
JScrollPane sp=new JScrollPane(jt);


پس هنگام ایجاد جدول JTabel در برنامه حتما باید از کلاس JScrollPane استفاده کنیم.

 

1.    f.add(sp);
2.    f.setSize(300,200);
3.    f.setVisible(true);


1.    افزودن شی از JScrollPane به فریم خود
2.    تعیین ابعداد فریم
3.    برای نمایش فریم و تمام اجزای گرافیکی برنامه کاربرد دارد

مثال از JTabel و استفاده از اینترفیس ListselectionListener:

 

package javalike   ;

import javax.swing.*;
import javax.swing.event.*;

public class TableExample {
    public static void main(String[] a) {
        JFrame f = new JFrame("Table Example");
        String data[][] = { { "101", "Amit", "670000" },
                { "102", "Jai", "780000" }, { "101", "Sachin", "700000" } };
        String column[] = { "ID", "NAME", "SALARY" };
        final JTable jt = new JTable(data, column);
        jt.setCellselectionEnabled(true);
        ListselectionModel  select  = jt.get select ionModel();
           select.setselectionMode(List select ionModel.SINGLE_ select ION);
           select.addListelectionListener(new ListselectionListener() {
            public void valueChanged(Listselect  ionEvent e) {
                String Data = null;
                int[] row = jt.getselectedRows();
                int[] columns = jt.getselectedColumns();
                for (int i = 0; i < row.length; i++) {
                    for (int j = 0; j < columns.length; j++) {
                        Data = (String) jt.getValueAt(row[i], columns[j]);
                    }
                }
                System.out.println("Table element selected is: " + Data);
            }
        });
        JScrollPane sp = new JScrollPane(jt);
        f.add(sp);
        f.setSize(300, 200);
        f.setVisible(true);
    }
}



خروجی:تصویر(4)

 

آموزش jtable در جاوا

 

اگر هر عنصر درون سلول های جدول را انتخاب کنید ، مقدار عنصر انتخاب شده در کنسول نمایش داده می شود، مثلا اگر ما عنصر Jai  موجود در سلول جدول را انتخاب کنیم خروجی بصورت زیر خواهد بود: تصویر(5)

 

آموزش آسان گرافیک در جاوا

 

خروجی در کنسول:

 

 

Table element select ed is: Jai
Table element select ed is: Jai


 

توضیحات:

 

jt.setCell  selectionEnabled(true);



 این متد قابلیت انتخاب سطر و ستون سلول های جدول را تعیین می کند.

 

ListselectionModel  select  = jt.getselectionModel();
          select.setselectionMode(ListselectionModel.SINGLE_selectION);
          select.addListselectionListener(new ListselectionListener() {
            public void valueChanged(ListselectionEvent e) {
                String Data = null;
                int[] row = jt.getselectedRows();
                int[] columns = jt.getselectedColumns();
                for (int i = 0; i < row.length; i++) {
                    for (int j = 0; j < columns.length; j++) {
                        Data = (String) jt.getValueAt(row[i], columns[j]);
                    }
                }
                System.out.println("Table element select ed is: " + Data);
            }
        });

   
•    این دستورات برای این است که وقتی یکی از سلول های جدول انتخاب می شود عمل خاصی رخ دهد.به این صورت که وقتی ما یکی از سلول های جدول را انتخاب می کنیم یک رویداد رخ میدهد که متد valueChanged آن را دریافت می کند و دستورات درون بدنه خود را اجرا می کند. که در این جا مقدار سلولی که انتخاب شده درون کنسول چاپ می شود.


•    متد get select ionModel جریانی از مدل انتخاب را برمیگرداند.
•    جریانی از مدل های انتخاب شده از جدول را درون شی از کلاس List select ionModel می ریزیم.
•    کلاس List select ionModel مجموعه ای از مدل های انتخاب را در خود جا می دهد.

 

 select.setselectionMode(ListselectionModel.SINGLE_selectION);


  
•    در این دستور در هر زمان تنها یک ایندکس لیست را می توانیم انتخاب کنیم.
•    با متد addList select ionListener  شی از اینترفیس  List select ionListener به List select ionModel اضافه می کنیم.
•    متد valueChanged در برابر تغییر انتخاب واکنش نشان می دهد.این متد رویداد مربوط به انتخاب را دریافت می کند. خب این متد درون اینترفیس List select ionListener قرار دارد، پس برای استفاده از این متد باید از اینترفیس List select ionListener شی ایجاد کنیم.
•    میدونم از توضیحات بالا الان گیج شدید!!! کلا توضیحات رو بی خیال! در کل اگر خواستیم با انتخاب سلول های جدول واکنش خاصی داده شود از دستورات زیر استفاده می کنیم:

 

final JTable jt = new JTable(data, column);

 

ایجاد جدول مربوطه

 

        jt.setCellselectionEnabled(true);

 

تنظیم قابلیت انتخاب سلول های جدول

 

        ListselectionModel  select  = jt.getselectionModel();

 

دریافت جریانی از مدل های انتخاب از جدول مربوطه


          select.setselectionMode(ListselectionModel.SINGLE_selectION);

 

تعیین مدل انتخاب که در اینجا مدل تنها یک بار انتخاب در هر لحظه

 

          select.addListselectionListener(new ListselectionListener() {

 

افزودن شی از اینترفیس List select ionListener به شی  select


            public void valueChanged(ListselectionEvent e) {


واکنش دربرابر تغییر انتخاب


            }
        });


•    من توضیحات رو زیاد برای یادگیری گرافیک در جاوا نمی پسندم!!! بهترین راه یادگیری جاوا مخصوصا گرافیک اینه که کدها رو با چشمتون خوب ببینید بعد اجرا کنید بعد برا خودتون تغییر بدید کد هارو اینجوری عملی بهتر یادمیگیرید تا توضیحات!!! این کد بالا هم اگر با توضیحات براتون روشن نشد نگران نباشید!! در ایکلیپس یا هر IDE دیگه اجرا کنید و تغییر بدید  کاربردشون دستتون میاد.


 پیروز و موفق باشید

 


 این جلسه آموزشی را می توانید بصورت  کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا

لینک دانلود   

 

آموزش زبان جاواآموزش زبان جاوا


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
شرکت سازنده