آموزش JTable در جاوا
سلام دوستان در این سری از آموزش برنامه نویسی جاوا به آموزش JTable در جاوا می پردازیم از JTable در جاوا به منظور نمایش اطلاعات و داده ها به شکل جدول (Table) می توان بهره برد پس برای اینکه بخواهیم اطلاعات را به صورت جدول مانند نمایش دهیم می توانیم از JTable در جاوا استفاده کنیم در ادامه با ما همراه باشید تا نوحه استفاده از JTable را یاد گیرد.
در بالا JTable را معرفی و ویژگی های JTable را بیان کردیم در ادامه Constructor های آن را مورد بررسی قرار میدهیم.
JTable دارای دو Constructor است که عبارتند از :
- JTable() : یک جدول خالی از سلول ایجاد می کند.
- JTable(Object[][] rows, Object[] columns : یک جدول شامل تعدادی سطر و ستون ایجاد می کند .
در ادامه به یک مثال ساده از JTable می پردازیم.
یک کلاس به نام TableExample ایجاد کرده و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class TableExample { JFrame f; TableExample(){ f=new JFrame(); String data[][]={ {"101","Amit","670000"}, {"102","Jai","780000"}, {"101","Sachin","700000"}}; String column[]={"ID","NAME","SALARY"}; JTable jt=new JTable(data,column); jt.setBounds(30,40,200,300); JScrollPane sp=new JScrollPane(jt); f.add(sp); f.setSize(300,400); f.setVisible(true); } public static void main(String[] args) { new TableExample(); } } |
خب در بالا ما یک آرایه دو بعدی ایجاد کردیم کار در هر بعد از این آرایه اطلاعات مربوط به یک سطر را قرار دادیم و نام آن را برابر با دیتا قرار دادیم. (در بالا ما آرایه ای از آرایه ها داریم)
یک آرایه دیگر به نام column داریم که ستون ها را مشخص می کند بعد از اینکه آرایه ها را ساختیم آنها را به Constructor JTable می فرستیم در بالا از JScrollPane استفاده شده است که باعث می شود یک scrollbar به صورت افقی و عمودی اضافه شود.
خروجی کد بالا همانند زیر خواهد بود.
در ادامه یک مثال دیگر خواهیم زد که با کلیک بروی هر آیتم مقدار آن در Log قابل دیدن باشد به گونه ای به آن Listener اضافه خواهیم کرد.
کد زیر همانند کد قبل است فقط همانطور که گفتیم یک Listener به آن اضافه کردیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 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.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 selected is: " + Data); } }); JScrollPane sp=new JScrollPane(jt); f.add(sp); f.setSize(300, 200); f.setVisible(true); } } |
برای اینکه سلول کلیک شده را داده اش را به دست بیاریم از ListSelectionModel استفاده کردیم و داده های داخل جدول را به در آن ریختیم و Listener را نیز برای آن صدا زدیم.
این آموزش هم به پایان رسید.
موفق باشید.
سلام داداش سایت خوبی دارین واقعا استفاده کردیم
یه سوال داشتم من می خوام ی جدولی شبیه اکسل بسازم درست کپی اکسل می خوام ی سری فرمول داخلش ب کار ببرم ممنون میشم اگه سورس کدی دارین برام بفرستین من منتظر جوابتونم برام ایمیل بفرستین ،تشکر