日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 命名内部类_如何把java SWT程序中的匿名内部类改写成命名内部类?

發布時間:2023/12/2 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 命名内部类_如何把java SWT程序中的匿名内部类改写成命名内部类? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

展開全部

//請看最后一個e69da5e6ba9062616964757a686964616f31333363386134private class ,其實命名內部類跟普通的java程序一樣寫,只要知道你自己的監聽器要繼承于哪個類,實現什么方法

public class Level4Class extends ViewPart {

private TableViewer tv;

public static int num=0;

private List files;

public int getNum() {

return num;

}

public List getFiles() {

return files;

}

public void setFiles(List files) {

this.files = files;

}

public void setNum(int num) {

this.num = num;

}

@Override

public void createPartControl(Composite parent) {

Composite topComp = new Composite(parent, SWT.NONE);

topComp.setLayout(new FillLayout());

createTableViewer(topComp);// 自定義方法:創建一個TableViewer表格

tv.setContentProvider(new SmsContentProvider());// 內容器

tv.setLabelProvider(new TableViewerLabelProvider());// 標簽器

tv.addDoubleClickListener(new MyDoubleClickListener());

files = getCourse();

tv.setInput(files);

}

@Override

public void setInitializationData(IConfigurationElement cfig, String propertyName, Object data) {

// TODO 自動生成方法存根

super.setInitializationData(cfig, propertyName, getCourse());

}

// 創建表格

private void createTableViewer(Composite parent) {

tv = new TableViewer(parent, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);

Table table = tv.getTable();

table.setHeaderVisible(true); // 顯示表頭

table.setLinesVisible(true); // 顯示表格線

table.setLayout(new TableLayout());// 專用于表格的布局

// 建立TableViewer中的列,createColumn是自定義方法

createColumn(10, "編號");

createColumn(70, "域名");

createColumn(30, "截止日期");

createColumn(30, "版本狀態");

}

@Override

public void setFocus() {

// TODO Auto-generated method stub

}

// 創建表格的列

private TableColumn createColumn(int weight, String name) {

Table table = tv.getTable();

TableLayout layout = (TableLayout) table.getLayout();

layout.addColumnData(new ColumnWeightData(weight));

TableColumn col = new TableColumn(table, SWT.NONE);

if (name.equals("編號")){

col.addSelectionListener(new SelectionAdapter() {

boolean asc = true; // 記錄上一次的排序方式,默認為升序

public void widgetSelected(SelectionEvent e) {

Level4Class.num=0;

// asc=true則ID的升序排序器,否則用降序

tv.setSorter(asc ? MySorter.ID_ASC : MySorter.ID_DESC);

asc = !asc;// 得到下一次排序方式

}

});

}else if(name.equals("截止日期")){

col.addSelectionListener(new SelectionAdapter() {

boolean asc = true; // 記錄上一次的排序方式,默認為升序

public void widgetSelected(SelectionEvent e) {

Level4Class.num=0;

// asc=true則ID的升序排序器,否則用降序

tv.setSorter(asc ? MySorter.TIME_ASC : MySorter.TIME_DESC);

asc = !asc;// 得到下一次排序方式

}

});

}else if(name.equals("版本狀態")){

col.addSelectionListener(new SelectionAdapter() {

boolean asc = true; // 記錄上一次的排序方式,默認為升序

public void widgetSelected(SelectionEvent e) {

Level4Class.num=0;

// asc=true則ID的升序排序器,否則用降序

tv.setSorter(asc ? MySorter.STATE_ASC : MySorter.STATE_DESC);

asc = !asc;// 得到下一次排序方式

}

});

}

col.setText(name);

return col;

}

// 標簽器

private static final class TableViewerLabelProvider extends TableLabelProviderAdapter implements ITableColorProvider{

public String getColumnText(Object element, int col) {

// String result = "";

NavigatorEntry o = (NavigatorEntry) element;

switch (col) {

case 0:

return String.valueOf(++num);

case 1:

return o.getDomain();

case 2:

String time = o.getTime();

if (null != time !time.equals("")time.length()>=10){

time = time.substring(0, 10);

}else if(null != time !time.equals("")time.length()<10){

time =time;

}else{

time ="";

}

return time;

case 3:

return o.getLevel().getMeg();

default:

return "";

}

}

public Color getBackground(Object element, int columnIndex) {

// NavigatorEntry o = (NavigatorEntry) element;

// if (o.getLevel().getMeg().equals(IAppConstants.LEVEL_2)){

// return Display.getDefault().getSystemColor(SWT.COLOR_GRAY);

// }else if(o.getLevel().getMeg().equals(IAppConstants.LEVEL_3)){

// return Display.getDefault().getSystemColor(SWT.COLOR_DARK_GRAY);

// }else if(o.getLevel().getMeg().equals(IAppConstants.LEVEL_1)){

// return Display.getDefault().getSystemColor(SWT.COLOR_WHITE);

// }else if(o.getLevel().getMeg().equals(IAppConstants.LEVEL_4)){

// return Display.getDefault().getSystemColor(SWT.COLOR_RED);

// }else if (o.getLevel().getMeg().equals(IAppConstants.LEVEL_5)) {

// return Display.getDefault().getSystemColor(SWT.COLOR_YELLOW);

// }

return null;

}

public Color getForeground(Object element, int columnIndex) {

NavigatorEntry o = (NavigatorEntry) element;

if (true){

return Display.getDefault().getSystemColor(SWT.COLOR_RED);

}

return null;

}

}

/**

* 得到所有正常的版本數據

* @return

*/

private List getCourse(){

List list = new ArrayList();

Session session = HibernateSessionFactory.getSession("hibernate_mysql.cfg.xml");

Query query = session.getNamedQuery("org.b2c.framework.sys.Version.getNotNormal");

for (Iterator iter = query.iterate(); iter.hasNext();) {

Version version = (Version)iter.next();

if (null != version){

NavigatorEntry o = new NavigatorEntry();

o.setDomain(version.getDomain());

o.setId(version.getId());

Level l = new Level();

l.setLevel(version.getState());

switch(version.getState()){

case 0:

l.setMeg("未注冊");

break;

case 4:

l.setMeg("已過期");

break;

}

o.setLevel(l);

o.setPublickey(version.getPublickey());

o.setPrivatekey(version.getPrivatekey());

o.setCiphertext(version.getCiphertext());

o.setEnshrined(version.getEnshrined());

if (null != version.getVtime()){

o.setTime(version.getVtime().toString().substring(0,10));

}else{

o.setTime("-----");

}

list.add(o);

}

}

HibernateSessionFactory.closeSession();

return list;

}

public TableViewer getTv() {

return tv;

}

public void setTv(TableViewer tv) {

this.tv = tv;

}

private class MyDoubleClickListener implements IDoubleClickListener {

public void doubleClick(DoubleClickEvent event) {

IStructuredSelection sel = (IStructuredSelection) event.getSelection();

NavigatorEntry entry = (NavigatorEntry) sel.getFirstElement();

if(entry!=null){

IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();

IViewPart view1 = window.getActivePage().findView("org.b2c.framework.ui.teachunitname");

Text temp1 = ((TeachUnitName)view1).getLable1();

Text temp2 = ((TeachUnitName)view1).getLable2();

temp1.setText(entry.getPrivatekey());

temp2.setText(entry.getCiphertext());

}

}

}

}

已贊過

已踩過<

你對這個回答的評價是?

評論

收起

總結

以上是生活随笔為你收集整理的java 命名内部类_如何把java SWT程序中的匿名内部类改写成命名内部类?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。