โดยพื้นฐานแล้วโปรเจ็กต์ได้สร้างเวอร์ชันขึ้นมาแล้ว แม้ว่าจะเป็นงานส่วนน้อย แต่ฉันก็ยังต้องการแยกแยะสิ่งที่ใช้อยู่ ท้ายที่สุด ฉันได้เรียนรู้มาบ้างแล้ว ประการแรกคือการใช้ TableView RWT เป็นส่วนย่อยของ SWT ดังนั้น RWT อาจใช้อินเทอร์เฟซของ SWT ได้ไม่สมบูรณ์และไม่สมบูรณ์เท่ากับ SWT สถาปัตยกรรมของทั้งสองมีความแตกต่างกัน โดยสะท้อนให้เห็นในรูปแบบการแสดงผลและอินเทอร์เฟซ แต่การควบคุมพื้นฐานยังคงเหมือนเดิม ที่นี่ก่อนอื่นเราเรียนรู้การใช้การควบคุมทั่วไปบางอย่างผ่าน SWT
ก่อนอื่น เรามาพูดถึงไฟล์ไลบรารี่ที่ SWT ต้องการ รวม: org.eclipse.swt_3.xxjar org.eclipse.jface_3.xxjar
org.eclipse.core.runtime_3.xxjar org.eclipse.ui.workbench_3.xxjar (org.eclipse.equinox.common_3.xxjar) นอกจากนี้ แพ็กเกจนี้ยังมี org.eclipse.core.runtime ฉันรู้สึกว่าองค์กรเป็น สับสนนิดหน่อย แพ็คเกจนี้นำเข้าด้วย นอกจากนี้ ข้อผิดพลาดในการนำเข้าแพ็คเกจอาจเกิดขึ้นได้ขึ้นอยู่กับเวอร์ชัน โปรดใส่ใจกับเวอร์ชัน
รหัสต่อไปนี้คือการสร้าง Tableview ซึ่งอ้างอิงจาก "Eclipse Getting Started to Mastery"
+ ขยาย plaincopy ของ sourceview เป็น clipboardprint หรือไม่
นำเข้า org.eclipse.jface.viewers.ColumnWeightData;
นำเข้า org.eclipse.jface.viewers.TableLayout;
นำเข้า org.eclipse.jface.viewers.TableViewer;
นำเข้า org.eclipse.swt.SWT;
นำเข้า org.eclipse.swt.layout.FillLayout;
นำเข้า org.eclipse.swt.widgets.Display;
นำเข้า org.eclipse.swt.widgets.Shell;
นำเข้า org.eclipse.swt.widgets.Table;
นำเข้า org.eclipse.swt.widgets.TableColumn;
TableViewer1 ระดับสาธารณะ {
โมฆะคงที่สาธารณะ main (String [] args) {
ใหม่ TableViewer1().open();
-
โมฆะสาธารณะ open() {
จอแสดงผลสุดท้าย display = จอแสดงผลใหม่ ();
เชลล์สุดท้าย เชลล์ = เชลล์ใหม่ ();
เชลล์.setSize(500, 150);
-
shell.setLayout(FillLayout ใหม่());
// ขั้นตอนที่หนึ่ง: สร้างวัตถุ TableViewer รูปแบบ: MULTI อนุญาตให้เลือกได้หลายรายการ, H_SCROLL มีแถบเลื่อนแนวนอน, V_SCROLL มีแถบเลื่อนแนวตั้ง, BORDER มีเส้นขอบ และ FULL_SELECTION เลือกทั้งแถว
TableViewer tv = TableViewer ใหม่ (เชลล์, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
// ขั้นตอนที่ 2: ตั้งค่าวิธีการจัดวางผ่านวัตถุ Table ที่มีอยู่ในตาราง
ตาราง ตาราง = tv.getTable();
table.setHeaderVisible(true); // แสดงส่วนหัวของตาราง
table.setLinesVisible(true); // แสดงเส้นตาราง
เค้าโครง TableLayout = TableLayout ใหม่ (); // เค้าโครงเฉพาะสำหรับตาราง
table.setLayout(เค้าโครง);
// ขั้นตอนที่ 3: สร้างคอลัมน์ตารางโดยใช้คลาส TableColumn
layout.addColumnData(new ColumnWeightData(13));//ความกว้างของคอลัมน์ ID 13 พิกเซล
ใหม่ TableColumn(ตาราง, SWT.NONE).setText("หมายเลข ID");
รูปแบบ. addColumnData (ใหม่ ColumnWeightData (40));
ใหม่ TableColumn(ตาราง, SWT.NONE).setText("ชื่อ");
รูปแบบ. addColumnData (ใหม่ ColumnWeightData (20));
ใหม่ TableColumn(ตาราง, SWT.NONE).setText("เพศ");
รูปแบบ. addColumnData (ใหม่ ColumnWeightData (20));
ใหม่ TableColumn(ตาราง, SWT.NONE).setText("อายุ");
รูปแบบ. addColumnData (ใหม่ ColumnWeightData (60));
new TableColumn(ตาราง, SWT.NONE).setText("เวลาสร้างบันทึก");
// ขั้นตอนที่ 4: ตั้งค่าคอนเทนเนอร์ภายในและแท็กเกอร์
tv.setContentProvider (TableViewerContentProvider ใหม่ ());
tv.setLabelProvider (TableViewerLabelProvider ใหม่ ());
// ขั้นตอนที่ 5: ใช้เมธอด setInput ของ TableViewer เพื่อป้อนข้อมูลลงในตาราง
ข้อมูลวัตถุ = PeopleFactory.getPeoples();
tv.setInput (ข้อมูล);
-
เชลล์.เปิด();
ในขณะที่ (!shell.isDisposed()) {
ถ้า (!display.readAndDispatch())
display.sleep();
-
display.ทิ้ง();
-
-
นำเข้า org.eclipse.jface.viewers.ColumnWeightData;
นำเข้า org.eclipse.jface.viewers.TableLayout;
นำเข้า org.eclipse.jface.viewers.TableViewer;
นำเข้า org.eclipse.swt.SWT;
นำเข้า org.eclipse.swt.layout.FillLayout;
นำเข้า org.eclipse.swt.widgets.Display;
นำเข้า org.eclipse.swt.widgets.Shell;
นำเข้า org.eclipse.swt.widgets.Table;
นำเข้า org.eclipse.swt.widgets.TableColumn;
TableViewer1 ระดับสาธารณะ {
โมฆะคงที่สาธารณะ main (String [] args) {
ใหม่ TableViewer1().open();
-
โมฆะสาธารณะ open() {
จอแสดงผลสุดท้าย display = จอแสดงผลใหม่ ();
เชลล์สุดท้าย เชลล์ = เชลล์ใหม่ ();
เชลล์.setSize(500, 150);
-
shell.setLayout(FillLayout ใหม่());
// ขั้นตอนที่หนึ่ง: สร้างวัตถุ TableViewer รูปแบบ: MULTI อนุญาตให้เลือกได้หลายรายการ, H_SCROLL มีแถบเลื่อนแนวนอน, V_SCROLL มีแถบเลื่อนแนวตั้ง, BORDER มีเส้นขอบ และ FULL_SELECTION เลือกทั้งแถว
TableViewer tv = TableViewer ใหม่ (เชลล์, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
// ขั้นตอนที่ 2: ตั้งค่าวิธีการจัดวางผ่านวัตถุ Table ที่มีอยู่ในตาราง
ตาราง ตาราง = tv.getTable();
table.setHeaderVisible(true); // แสดงส่วนหัวของตาราง
table.setLinesVisible(true); // แสดงเส้นตาราง
เค้าโครง TableLayout = TableLayout ใหม่ (); // เค้าโครงเฉพาะสำหรับตาราง
table.setLayout(เค้าโครง);
// ขั้นตอนที่ 3: สร้างคอลัมน์ตารางโดยใช้คลาส TableColumn
layout.addColumnData(new ColumnWeightData(13));//ความกว้างของคอลัมน์ ID 13 พิกเซล
ใหม่ TableColumn(ตาราง, SWT.NONE).setText("หมายเลข ID");
รูปแบบ. addColumnData (ใหม่ ColumnWeightData (40));
ใหม่ TableColumn(ตาราง, SWT.NONE).setText("ชื่อ");
รูปแบบ. addColumnData (ใหม่ ColumnWeightData (20));
ใหม่ TableColumn(ตาราง, SWT.NONE).setText("เพศ");
รูปแบบ. addColumnData (ใหม่ ColumnWeightData (20));
ใหม่ TableColumn(ตาราง, SWT.NONE).setText("อายุ");
รูปแบบ. addColumnData (ใหม่ ColumnWeightData (60));
new TableColumn(ตาราง, SWT.NONE).setText("เวลาสร้างบันทึก");
// ขั้นตอนที่ 4: ตั้งค่าคอนเทนเนอร์ภายในและแท็กเกอร์
tv.setContentProvider (TableViewerContentProvider ใหม่ ());
tv.setLabelProvider (TableViewerLabelProvider ใหม่ ());
// ขั้นตอนที่ 5: ใช้เมธอด setInput ของ TableViewer เพื่อป้อนข้อมูลลงในตาราง
ข้อมูลวัตถุ = PeopleFactory.getPeoples();
tv.setInput (ข้อมูล);
-
เชลล์.เปิด();
ในขณะที่ (!shell.isDisposed()) {
ถ้า (!display.readAndDispatch())
display.sleep();
-
display.ทิ้ง();
-
-
ต่อไปนี้เป็นคลาสที่มีให้สองคลาส หากโค้ดของคลาสทั้งสองนี้มีขนาดเล็กและบริการเป็นหนึ่งตาราง คลาสเหล่านั้นสามารถเขียนเป็นคลาสภายในได้:
ดู plaincopy ไปที่ clipboardprint หรือไม่
นำเข้า java.util.List;
นำเข้า org.eclipse.jface.viewers.IStructuredContentProvider;
นำเข้า org.eclipse.jface.viewers.Viewer;
//ภาชนะภายใน. คลาสนี้จะกรองและแปลงข้อมูลที่ป้อนลงในแบบฟอร์ม
//คลาสนี้มีสามวิธีในการใช้อินเทอร์เฟซ โดยที่ getElements เป็นวิธีการหลัก ส่วนอีกสองวิธีนั้นไม่ค่อยได้ใช้ แค่การใช้งานที่ว่างเปล่าก็เพียงพอแล้ว
TableViewerContentProvider คลาสสาธารณะใช้ IStructuredContentProvider {
// กรองและแปลงอินพุตชุดข้อมูลเป็นตาราง
// ชุดข้อมูลอินพุตทั้งหมดจะต้องถูกแปลงเป็นอาร์เรย์ แต่ละองค์ประกอบอาร์เรย์เป็นวัตถุเอนทิตี ซึ่งเป็นบันทึกในตาราง
วัตถุสาธารณะ [] getElements (องค์ประกอบวัตถุ) {
//องค์ประกอบพารามิเตอร์คืออินพุตของวัตถุ อินพุตผ่าน setInput(อินพุตของวัตถุ) ในตัวอย่างนี้ อินพุตของ setInput คือคอลเล็กชันรายการ
if (อินสแตนซ์องค์ประกอบของรายการ) // เพิ่มการพิจารณาประเภทรายการ
return ((List) element).toArray(); // แปลงรายการชุดข้อมูลให้เป็นอาร์เรย์
อื่น
return new Object[0]; //หากไม่ใช่ประเภท List ให้ส่งคืนอาร์เรย์ว่าง
-
// วิธีการนี้จะเกิดขึ้นเมื่อวัตถุ TableViewer ถูกปิด
การกำจัดโมฆะสาธารณะ () {
-
// วิธีการนี้จะเกิดขึ้นเมื่อ TableViewer เรียก setInput() อีกครั้ง
โมฆะอินพุตสาธารณะเปลี่ยน (Viewer v, Object oldInput, Object newInput) {
-
-
นำเข้า java.util.List;
นำเข้า org.eclipse.jface.viewers.IStructuredContentProvider;
นำเข้า org.eclipse.jface.viewers.Viewer;
//ภาชนะภายใน. คลาสนี้จะกรองและแปลงข้อมูลที่ป้อนลงในแบบฟอร์ม
//คลาสนี้มีสามวิธีในการใช้อินเทอร์เฟซ โดยที่ getElements เป็นวิธีการหลัก ส่วนอีกสองวิธีนั้นไม่ค่อยได้ใช้ แค่การใช้งานที่ว่างเปล่าก็เพียงพอแล้ว
TableViewerContentProvider คลาสสาธารณะใช้ IStructuredContentProvider {
// กรองและแปลงอินพุตชุดข้อมูลเป็นตาราง
// ชุดข้อมูลอินพุตทั้งหมดจะต้องถูกแปลงเป็นอาร์เรย์ แต่ละองค์ประกอบอาร์เรย์เป็นวัตถุเอนทิตี ซึ่งเป็นบันทึกในตาราง
วัตถุสาธารณะ [] getElements (องค์ประกอบวัตถุ) {
//องค์ประกอบพารามิเตอร์คืออินพุตของวัตถุ อินพุตผ่าน setInput(อินพุตของวัตถุ) ในตัวอย่างนี้ อินพุตของ setInput คือคอลเล็กชันรายการ
if (อินสแตนซ์องค์ประกอบของรายการ) // เพิ่มการพิจารณาประเภทรายการ
return ((List) element).toArray(); // แปลงรายการชุดข้อมูลให้เป็นอาร์เรย์
อื่น
return new Object[0]; //หากไม่ใช่ประเภท List ให้ส่งคืนอาร์เรย์ว่าง
-
// วิธีการนี้จะเกิดขึ้นเมื่อวัตถุ TableViewer ถูกปิด
การกำจัดโมฆะสาธารณะ () {
-
// วิธีการนี้จะเกิดขึ้นเมื่อ TableViewer เรียก setInput() อีกครั้ง
โมฆะอินพุตสาธารณะเปลี่ยน (Viewer v, Object oldInput, Object newInput) {
-
-
ดู plaincopy ไปที่ clipboardprint หรือไม่
นำเข้า org.eclipse.jface.viewers.ILabelProviderListener;
นำเข้า org.eclipse.jface.viewers.ITableLabelProvider;
นำเข้า org.eclipse.swt.graphics.Image;
//แท็กเกอร์. หากคอนเทนเนอร์ภายในประมวลผลชุดข้อมูลอินพุตลงในแบบฟอร์ม
//จากนั้นแท็กเกอร์จะประมวลผลและแปลงออบเจ็กต์เอนทิตีเดี่ยวในชุดข้อมูล จากนั้นแท็กเกอร์จะกำหนดคอลัมน์ของตารางที่จะแสดงฟิลด์ในออบเจ็กต์เอนทิตี
TableViewerLabelProvider คลาสสาธารณะใช้ ITableLabelProvider {
//สร้างภาพหลายภาพ
รูปภาพส่วนตัว [] รูปภาพ = รูปภาพใหม่ [] {
รูปภาพใหม่ (null, "icons/refresh.gif"),
รูปภาพใหม่ (null, "icons/star.jpg"),
รูปภาพใหม่ (null, "icons/moon.jpg" });
// เมธอดนี้กำหนดว่าข้อความใดจะแสดงในแต่ละคอลัมน์ของตารางสำหรับบันทึกข้อมูล
//พารามิเตอร์องค์ประกอบเป็นวัตถุคลาสเอนทิตี col คือหมายเลขคอลัมน์ของคอลัมน์ที่จะตั้งค่าในปัจจุบัน 0 คือคอลัมน์แรก
สตริงสาธารณะ getColumnText (องค์ประกอบวัตถุ, int col) {
PeopleEntity o = (PeopleEntity) องค์ประกอบ; // พิมพ์การแปลง
if (col == 0)//ข้อมูลใดที่ควรแสดงในคอลัมน์แรก?
กลับ o.getId().toString();
ถ้า (คอลัมน์ == 1)
กลับ o.getName();
ถ้า (คอลัมน์ == 2)
return o.isSex() ? "ชาย" : "หญิง";
ถ้า (คอลัมน์ == 3)
return String.valueOf(o.getAge()); // แปลงประเภท int เป็นประเภท String
ถ้า (คอลัมน์ == 4)
กลับ o.getCreateDate().toString();
return null; // วิธีการสามารถคืนค่า null ได้
-
// เมธอด getColumnText ใช้เพื่อแสดงข้อความ และเมธอดนี้ใช้เพื่อแสดงรูปภาพ
รูปภาพสาธารณะ getColumnImage (องค์ประกอบวัตถุ, int col) {
PeopleEntity o = (PeopleEntity) องค์ประกอบ;
// ให้เฉพาะบันทึก "เฉินกัง" แสดงรูปภาพเท่านั้น
if (o.getName().equals("แก๊งเฉิน") || o.getName().equals("Zhou Yue")) {
if (col == 0)//รูปภาพที่จะแสดงในคอลัมน์แรก
กลับภาพ[0];
if (col == 2)//แสดงไอคอนที่แตกต่างกันตามเพศ
กลับ o.isSex() ? ภาพ [1] : ภาพ [2];
-
return null; // วิธีการสามารถคืนค่า null ได้
-
การกำจัดโมฆะสาธารณะ () {
// อย่าลืมหลักการของส่วนประกอบ SWT: สร้างมันขึ้นมาเองและปล่อยมันเอง
สำหรับ (รูปภาพรูปภาพ : รูปภาพ) {
รูปภาพ.ทิ้ง();
-
-
//----------------- วิธีการต่อไปนี้ไม่ค่อยได้ใช้ ดังนั้นอย่ากังวลกับวิธีการเหล่านี้ในตอนนี้และปล่อยให้วิธีการเหล่านี้ว่างเปล่า------------- ----
isLabelProperty บูลีนสาธารณะ (องค์ประกอบวัตถุ คุณสมบัติสตริง) {
กลับเท็จ;
-
โมฆะสาธารณะ addListener (ผู้ฟัง ILabelProviderListener) {
-
โมฆะสาธารณะ RemoveListener (ผู้ฟัง ILabelProviderListener) {
-
-
นำเข้า org.eclipse.jface.viewers.ILabelProviderListener;
นำเข้า org.eclipse.jface.viewers.ITableLabelProvider;
นำเข้า org.eclipse.swt.graphics.Image;
//แท็กเกอร์. หากคอนเทนเนอร์ภายในประมวลผลชุดข้อมูลอินพุตลงในแบบฟอร์ม
//จากนั้นแท็กเกอร์จะประมวลผลและแปลงออบเจ็กต์เอนทิตีเดี่ยวในชุดข้อมูล จากนั้นแท็กเกอร์จะกำหนดคอลัมน์ของตารางที่จะแสดงฟิลด์ในออบเจ็กต์เอนทิตี
TableViewerLabelProvider คลาสสาธารณะใช้ ITableLabelProvider {
//สร้างภาพหลายภาพ
รูปภาพส่วนตัว [] รูปภาพ = รูปภาพใหม่ [] {
รูปภาพใหม่ (null, "icons/refresh.gif"),
รูปภาพใหม่ (null, "icons/star.jpg"),
รูปภาพใหม่ (null, "icons/moon.jpg" });
// เมธอดนี้กำหนดว่าข้อความใดจะแสดงในแต่ละคอลัมน์ของตารางสำหรับบันทึกข้อมูล
//พารามิเตอร์องค์ประกอบเป็นวัตถุคลาสเอนทิตี col คือหมายเลขคอลัมน์ของคอลัมน์ที่จะตั้งค่าในปัจจุบัน 0 คือคอลัมน์แรก
สตริงสาธารณะ getColumnText (องค์ประกอบวัตถุ, int col) {
PeopleEntity o = (PeopleEntity) องค์ประกอบ; // พิมพ์การแปลง
if (col == 0)//ข้อมูลใดที่ควรแสดงในคอลัมน์แรก?
กลับ o.getId().toString();
ถ้า (คอลัมน์ == 1)
กลับ o.getName();
ถ้า (คอลัมน์ == 2)
return o.isSex() ? "ชาย" : "หญิง";
ถ้า (คอลัมน์ == 3)
return String.valueOf(o.getAge()); // แปลงประเภท int เป็นประเภท String
ถ้า (คอลัมน์ == 4)
กลับ o.getCreateDate().toString();
return null; // วิธีการสามารถคืนค่า null ได้
-
// เมธอด getColumnText ใช้เพื่อแสดงข้อความ และเมธอดนี้ใช้เพื่อแสดงรูปภาพ
รูปภาพสาธารณะ getColumnImage (องค์ประกอบวัตถุ, int col) {
PeopleEntity o = (PeopleEntity) องค์ประกอบ;
// ให้เฉพาะบันทึก "เฉินกัง" แสดงรูปภาพเท่านั้น
if (o.getName().equals("แก๊งเฉิน") || o.getName().equals("Zhou Yue")) {
if (col == 0)//รูปภาพที่จะแสดงในคอลัมน์แรก
กลับภาพ[0];
if (col == 2)//แสดงไอคอนที่แตกต่างกันตามเพศ
กลับ o.isSex() ? ภาพ [1] : ภาพ [2];
-
return null; // วิธีการสามารถคืนค่า null ได้
-
การกำจัดโมฆะสาธารณะ () {
// อย่าลืมหลักการของส่วนประกอบ SWT: สร้างมันขึ้นมาเองและปล่อยมันเอง
สำหรับ (รูปภาพรูปภาพ : รูปภาพ) {
รูปภาพ.ทิ้ง();
-
-
//----------------- วิธีการต่อไปนี้ไม่ค่อยได้ใช้ ดังนั้นอย่ากังวลกับวิธีการเหล่านี้ในตอนนี้และปล่อยให้วิธีการเหล่านี้ว่างเปล่า------------- ----
isLabelProperty บูลีนสาธารณะ (องค์ประกอบวัตถุ คุณสมบัติสตริง) {
กลับเท็จ;
-
โมฆะสาธารณะ addListener (ผู้ฟัง ILabelProviderListener) {
-
โมฆะสาธารณะ RemoveListener (ผู้ฟัง ILabelProviderListener) {
-
-
อีกอันคือคลาสเอนทิตี ที่นี่เราเพียงเขียนเอนทิตีข้อมูลที่นี่สามารถอ่านได้จากฐานข้อมูล แต่ให้ใส่ใจกับประเภทคอนเทนเนอร์ที่ใช้ในการจัดเก็บข้อมูล
และใส่ใจกับการแปลงประเภท
ดู plaincopy ไปที่ clipboardprint หรือไม่
นำเข้า java.util.Date;
//คลาสนี้ประกอบด้วยตัวแปรห้าชนิดข้อมูลที่แตกต่างกัน ซึ่งสอดคล้องกับห้าฟิลด์ในตารางฐานข้อมูล ตัวแปรเป็นประเภทส่วนตัว กล่าวคือ สามารถทำได้เท่านั้น
//เข้าถึงได้ด้วยโค้ดภายในของคลาส โลกภายนอกสามารถเข้าถึงได้ผ่านเมธอด Setter/Geter ของตัวแปรเหล่านี้เท่านั้น
PeopleEntity ระดับสาธารณะ {
รหัสยาวส่วนตัว // รหัสประจำตัวที่ไม่ซ้ำซึ่งมักจะเป็นคอลัมน์ ID ที่เพิ่มขึ้นโดยอัตโนมัติในฐานข้อมูล
ชื่อสตริงส่วนตัว // ชื่อ
เพศบูลีนส่วนตัว // เพศ ชายแท้ หญิงปลอม
อายุ int ส่วนตัว; // อายุ
วันที่ส่วนตัว createDate; //วันที่สร้างบันทึก ประเภทวันที่คือ java.util.Date ไม่ใช่ java.sql.Date
//โค้ดต่อไปนี้คือเมธอด Setter/Geter ของแต่ละฟิลด์ อ้างถึงส่วนที่ 3.5.2 วิธีการเหล่านี้สามารถสร้างได้โดยอัตโนมัติใน Eclipse
getId แบบยาวสาธารณะ () { รหัสส่งคืน;}
โมฆะสาธารณะ setId (ยาว long1) {id = long1;}
สตริงสาธารณะ getName() {ชื่อที่ส่งคืน;}
setName โมฆะสาธารณะ (สตริงสตริง) {ชื่อ = สตริง;}
isSex บูลีนสาธารณะ () { กลับเพศ;}
setSex เป็นโมฆะสาธารณะ (เพศบูลีน) { this.sex = เพศ;
สาธารณะ int getAge() {อายุคืน;}
setAge โมฆะสาธารณะ (int i) {อายุ = i;}
วันที่สาธารณะ getCreateDate () {return createDate;}
โมฆะสาธารณะ setCreateDate (วันที่) {createDate = date;}
-
นำเข้า java.util.Date;
//คลาสนี้ประกอบด้วยตัวแปรห้าชนิดข้อมูลที่แตกต่างกัน ซึ่งสอดคล้องกับห้าฟิลด์ในตารางฐานข้อมูล ตัวแปรเป็นประเภทส่วนตัว กล่าวคือ สามารถทำได้เท่านั้น
//เข้าถึงได้ด้วยโค้ดภายในของคลาส โลกภายนอกสามารถเข้าถึงได้ผ่านเมธอด Setter/Geter ของตัวแปรเหล่านี้เท่านั้น
PeopleEntity ระดับสาธารณะ {
รหัสยาวส่วนตัว // รหัสประจำตัวที่ไม่ซ้ำซึ่งมักจะเป็นคอลัมน์ ID ที่เพิ่มขึ้นโดยอัตโนมัติในฐานข้อมูล
ชื่อสตริงส่วนตัว // ชื่อ
เพศบูลีนส่วนตัว // เพศ ชายแท้ หญิงปลอม
อายุ int ส่วนตัว // อายุ
วันที่ส่วนตัว createDate; //วันที่สร้างบันทึก ประเภทวันที่คือ java.util.Date ไม่ใช่ java.sql.Date
//โค้ดต่อไปนี้คือเมธอด Setter/Geter ของแต่ละฟิลด์ อ้างถึงส่วนที่ 3.5.2 วิธีการเหล่านี้สามารถสร้างได้โดยอัตโนมัติใน Eclipse
getId แบบยาวสาธารณะ () { รหัสส่งคืน;}
โมฆะสาธารณะ setId (ยาว long1) {id = long1;}
สตริงสาธารณะ getName() {ชื่อที่ส่งคืน;}
setName โมฆะสาธารณะ (สตริงสตริง) {ชื่อ = สตริง;}
isSex บูลีนสาธารณะ () { กลับเพศ;}
setSex โมฆะสาธารณะ (เพศบูลีน) { this.sex = เพศ;
สาธารณะ int getAge() {อายุคืน;}
setAge โมฆะสาธารณะ (int i) {age = i;}
วันที่สาธารณะ getCreateDate () {return createDate;}
โมฆะสาธารณะ setCreateDate (วันที่) {createDate = date;}
-
นอกจากนี้ยังมีอินเทอร์เฟซแบบห่อหุ้มสำหรับรับข้อมูล:
ดู plaincopy ไปที่ clipboardprint หรือไม่
นำเข้า java.util.ArrayList;
นำเข้า java.util.Date;
นำเข้า java.util.List;
//สร้างโรงงานสำหรับวัตถุ PeopleEntity สร้างวัตถุ PeopleEntry สามรายการ และโหลดลงในคอลเลกชันรายการเพื่อส่งคืน
PeopleFactory คลาสสาธารณะ {
รายการคงที่สาธารณะ getPeoples () { // วิธีการแบบคงที่ของโรงงาน
รายการ <PeopleEntity> รายการ = ArrayList ใหม่ <PeopleEntity>();
{ // วัตถุคลาสเอนทิตีแรก
PeopleEntity o = PeopleEntity ใหม่ ();
o.setId(new Long(1));//ประเภทของฟิลด์ id ถูกกำหนดให้เป็น Long ดังนั้นจึงจำเป็นต้องแปลง
o.setName("เฉินกัง");
o.setSex(จริง);
o.setAge(28);
o.setCreateDate(วันที่ใหม่()); // วันที่ปัจจุบัน
รายการ.เพิ่ม(o);
-
{ // วัตถุคลาสเอนทิตีที่สอง
PeopleEntity o = PeopleEntity ใหม่ ();
o.setId(2L); //ใช้ฟังก์ชันการชกมวยอัตโนมัติของ JDK5.0 เพื่อบันทึกการแปลงจากวัตถุแบบยาวเป็นแบบยาว
o.setName("การอ่านรายสัปดาห์");
o.setSex(เท็จ);
o.setAge(18);
o.setCreateDate(วันที่ใหม่());
รายการ.เพิ่ม(o);
-
{ // วัตถุคลาสเอนทิตีที่สาม
PeopleEntity o = PeopleEntity ใหม่ ();
o.setId(3L);
o.setName("เฉินเปลี่ยน");
o.setSex(จริง);
o.setAge(27);
o.setCreateDate(วันที่ใหม่());
รายการ.เพิ่ม(o);
-
รายการส่งคืน;
-
-
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/youxigogo/archive/2009/12/30/5105179.aspx
-