?? coursecomposite.java
字號(hào):
package com.zdh.sms.system;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.List;
import com.zdh.sms.model.Course;
public class CourseComposite {
private Group group;
private List courseList; // 課程列表。這里是SWT組件,而非Java集合
public CourseComposite(Composite parent, int style) {
createCourseComp(parent, style);
}
// 創(chuàng)建課程面板
private Composite createCourseComp(Composite comp, int style) {
group = new Group(comp, style);
group.setText("課程");
group.setLayoutData(new GridData(GridData.FILL_BOTH));
group.setLayout(new GridLayout(2, false));
// 創(chuàng)建課程面板中的組件
courseList = new List(group, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
courseList.setLayoutData(new GridData(GridData.FILL_BOTH));
// 命令按鈕面板
Composite cmdComp = new Composite(group, SWT.NONE);
cmdComp.setLayout(new RowLayout(SWT.VERTICAL));
Button addButton = new Button(cmdComp, SWT.NONE);
addButton.setText("增加");
addButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
CourseDialog dialog = new CourseDialog(null);
if (dialog.open() == IDialogConstants.OK_ID) {
Course course = dialog.getCourse();
add(course);
}
}
});
Button removeButton = new Button(cmdComp, SWT.NONE);
removeButton.setText("刪除");
removeButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (courseList.getSelection().length != 0) {
String sel = courseList.getSelection()[0];
courseList.remove(sel);
}
}
});
return group;
}
// 控制組面板顯示/隱藏的方法
public void setVisible(boolean enabled) {
group.setVisible(false);
}
// 往courseList里加入一個(gè)課程
public void add(Course course) {
if (courseList.indexOf(course.getName()) < 0) {
String name = course.getName();
courseList.add(name);
courseList.setData(name, course);
} else {
MessageDialog.openError(null, "", "已存在的課程不能添加");
}
}
// 取得課程名
public String[] getItems() {
return courseList.getItems();
}
// 取得課程名(key)對(duì)應(yīng)的課程
public Course getData(String key) {
return (Course) courseList.getData(key);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -