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());

}

}

}

}

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言 | 递增运算符

如何灵活使用C语言递增运算符。 解题思路&#xff1a;自增运算符 使操作数的值加1&#xff0c;其操作数必须为可变左值&#xff08;可简单地理解为变量&#xff09;。对于自增就是加1这一点&#xff0c;读者应该不会有什么疑问。难点在于&#xff1a; 可以置于操作数前面&#…

数据结构实验之图论四:迷宫探索_迷宫搜索类的双向bfs问题(例题详解)

前言文章若有疏忽还请指正&#xff01;更多精彩还请关注公众号&#xff1a;bigsai头条号&#xff1a;一直码农一直爽在搜索问题中&#xff0c;以迷宫问题最具有代表性&#xff0c;无论是八皇后的回溯问题&#xff0c;还是dfs找出口&#xff0c;bfs找最短次数等等题目的问题。在…

ejb运行程序_在哪里可以运行EJB?

ejb运行程序EJB不仅为Java EE应用服务器而建。 他们还可以执行在的Java EE Web Profile的容器或简单的Java SE环境&#xff08;Java SE的啊- &#xff01;E&#xff01;ASY 的J ava 乙是指合同&#xff09;。 EJB Lite 仅支持完整的EJB规范提供的功能的子集所必需的-相同功能的…

css vue 选项卡_vuejs实现标签选项卡动态更改css样式的方法

html{{item.name}}jsvar app new Vue({el:"#app",router,data:{m:"hello vue.js",active:2,idx:0, //默认选择首页headerList:[{name:首页1},{name:首页2},{name:首页3},{name:首页4},{name:首页5},{name:首页6}]},methods:{// 1.选择selectMainTheme:fun…

ngrok服务器搭建_利用暴露在外的API,无法检测的Linux恶意软件将矛头指向Docker服务器...

K8s已经成为一线大厂分布式平台的标配技术。你是不是还在惆怅怎么掌握它&#xff1f;来这里&#xff0c;大型互联网公司一线工程师亲授&#xff0c;不来虚的&#xff0c;直接上手实战&#xff0c;3天时间带你搭建K8s平台&#xff0c;快速学会K8s&#xff0c;点击下方图片可了解…

干货 | C语言系列3——常量,运算符,常用数学函数......

符号常量和const常量1.符号常量符号常量通俗来讲就是“替换”&#xff0c;又称为宏定义。格式如下&#xff1a;#define 标识符 常量宏定义可以定义单个变量为常量&#xff0c;也可以定义某个语句或片段。宏定义有一点需要特别注意&#xff0c;它只是“机械”替换&#xff0c;并…

javafx 浏览器_浏览器中的JavaFX

javafx 浏览器浏览器中的JavaFX屏幕截图 最近&#xff0c;Carl Dea和我启动了一个新项目&#xff0c;将JavaFX 8引入浏览器。 今天&#xff0c;我想介绍我们创建的前两个概念验证&#xff0c;以查看该想法是否完全可行。 对于不耐烦的人&#xff0c;这里是到PoC的链接。 但请注…

django写mysql轮询_django 多数据库及分库实现方式

定义及路由机制定义在settings里面的DATABASES是一个字典&#xff0c;用于定义需要的数据库&#xff0c;如下&#xff0c;一共定义了两个数据库。DATABASES {default: {NAME: app_data,ENGINE: django.db.backends.postgresql_psycopg2,USER: postgres_user,PASSWORD: s3krit}…

python换行不执行_PYTHON无法换行问题,求指点

PYTHON无法换行问题&#xff0c;百思不得其解。fp.write(u{a}\n.format(a\n.join(a)))改成fp.write(u{a}\n.format(a&#xff0c;.join(a)))“&#xff0c;”可以正常显示下附源码&#xff0c;请指点一二#!/usr/bin/env python# encodingutf-8from bs4 import BeautifulSoupimp…

javafx 示例_JavaFX列表示例

javafx 示例这是使用JavaFX构建的示例列表应用程序。 该应用程序是待办事项列表。 该应用程序具有添加&#xff0c;更新和删除列表中项目的功能。 列表数据存储在HSQLDB关系数据库中。 该应用程序使用JDBC&#xff08;Java数据库连接&#xff09;API访问数据库。 该应用程序打包…

嵌入式C语言的7个硬核知识

1void 与 void*void表示的是无类型&#xff0c;不可以采用这个类型声明变量或常量&#xff0c;但是可以把指针定义为void类型&#xff0c;如void* ptr。void指针可以指向任意类型的数据&#xff0c;可用任意数据类型的指针对void指针赋值&#xff0c;比如int *ptrInt&#xff1…

python离线安装第三方库whl_详细说明如何在pycharm不联网的情况下,离线安装第三方库及依赖包(如sklearn)...

1、安装目标库1、首先&#xff0c;选择你要导入的库文件&#xff0c;如seaborn库下载网站&#xff1a;https://pypi.org/或https://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy2、在下载路径下空白处&#xff0c;按住Shift鼠标右键&#xff0c;选择在此处打开命令窗口执行安装命…

java 手机网站 cookie操作_java操作cookie问题

做的一个ssh项目&#xff0c;其中需要使用cookie来辅助记录用户页面访问量。可是我在使用的时候出现问题&#xff0c;就是我设置了有效期&#xff0c;但是关闭浏览器后或者重新打开另一个浏览器均不能获取到设置的coo...做的一个ssh项目&#xff0c;其中需要使用cookie来辅助记…

C语言指针用得好犹如神助!这些使用技巧值得收藏

指针用的好犹如神助&#xff0c;用不好会让你叫苦连连&#xff0c;但大多数人是用不好指针的&#xff0c;所以后来的很多语言都把指针封装&#xff0c;屏蔽。比如JAVA&#xff0c;java是没有指针的&#xff0c;但是很多地方都用到指针&#xff0c;不过不对用户开放&#xff0c;…

wso2_使用WSO2开发

wso2几个月以来&#xff0c;我又开始使用WSO2产品。 在接下来的文章中&#xff0c;我描述了我遇到的一些&#xff08;小&#xff09;问题以及如何解决它们。 设置开发环境时&#xff0c;我要做的第一件事是在Mac上下载Developer Studi o&#xff08;64位版本&#xff09;。 解…

python数据获取手段包括哪些_python开发应用-本地数据获取方法

文件的打开、读写和关闭文件的打开&#xff1a;file_objopen(filename,moder,buffering-1,...)filename是强制参数mode是可选参数&#xff0c;默认值是rbuffering是可选参数&#xff0c;默认值为-1(0代表不缓冲&#xff0c;1或大于1的值表示缓冲一行或指定缓冲区大小)f1open(e:…

有意思的C语言运算符

在C语言中&#xff0c;运算符用于执行程序代码运算&#xff0c;会针对两个或者两个以上操作数进行运算。比如&#xff1a;5 - 2&#xff0c;它的操作数是 5 和 2&#xff0c;而运算符则是 “-”。常见的运算符可大致分为 4 种类型&#xff1a;算术运算符、关系运算符、赋值运算…

java反向映射_opencv 直方图和直方图反向映射

histogram使用np进行直方图像素统计通过histogram对图像的三个通道分别进行一维直方图统计&#xff0c;由于被统计的数组必须是一维的&#xff0c;所以使用ravel将二维数组转换为一维数组&#xff0c;通过range参数指定统计区间为0--256&#xff0c;bin参数指定将统计区间分为2…

hamcrest_重新设计Hamcrest

hamcrest我在Hamcrest库上做了几篇文章 &#xff0c;我确实很喜欢使用它&#xff0c;但是我希望对其进行一些更改。 我了解他们所做的大多数设计决策&#xff0c;但我认为其中一些确实不值得。 介绍Litecrest 我对库所做的大多数更改都有助于减轻Hamcrest的负担&#xff0c;因…

程序员鄙视链python_关于程序员之间的鄙视链

鄙视像条食物链&#xff0c;是个绕不开的怪圈。在这个怪圈中&#xff0c;每一个人&#xff0c;都在链条的最末端。朋友圈有鄙视链&#xff0c;相亲有鄙视链&#xff0c;程序员圈也有鄙视链看完下面的鄙视链&#xff0c;你是那一层&#xff1f;↓↓↓↓【1】努力成为全栈&#x…