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找最短次数等等题目的问题。在…

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的链接。 但请注…

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…

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;。 解…

有意思的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…

新手学习C语言编程的8个致命错误,你中招了吗?

序言C语言的最大特点是&#xff1a;功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格&#xff0c;这就给编程人员留下“灵活的余地”。但由于这个灵活给程序的调试带来了许多不便&#xff0c;尤其对初学C语言的人来说&#xff0c;经常会出一些连自己都不…

jpa 实体图查询_JPA实体图

jpa 实体图查询JPA 2.1的最新功能之一是可以使用实体图指定获取计划。 这很有用&#xff0c;因为它允许您自定义使用查询或查找操作检索的数据。 在使用中大型应用程序时&#xff0c;通常以不同的方式显示来自同一实体的数据。 在其他情况下&#xff0c;您只想选择最小的信息集…

C语言程序控制语句——while

while语句while &#xff08;表达式&#xff09; 语句当表达式为非0值&#xff08;真&#xff09;时&#xff0c;执行while循环体中的语句&#xff0c;如此往复&#xff0c;直到表达式的值等于0&#xff08;假&#xff09;&#xff0c;循环结束。如以下示例程序&#xff0c;循环…

kettle 资料_Kettle的使用-初级

本文从kettle的简介、下载、安装、初级使用来展开。1.kettle是什么&#xff1f;kettle是一款开源的ETL工具。可以运行在Windows和linux上。2.下载地址https://community.hitachivantara.com/s/article/downloads3.安装因为Kettle是基于Java开发的&#xff0c;所以要先安装jdk环…

C语言 | 语句概述

C语言语句的作用和分类1、9种控制语句if&#xff08;&#xff09;...else.. //条件语句 for&#xff08;&#xff09;... //循环语句 while&#xff08;&#xff09;... //循环语句 do...while&#xff08;&#xff09; //循环语句 continue //结束本次循环语句 break //中止执…

linux 查看日志_干货 | 名企高频考点之谈谈Linux日志查看方式都有哪些

点击蓝字关注我哦以下是本期干货视频视频后还附有文字版本哦▼《名企高频考点-谈谈Linux日志查看方式都有哪些》▼ps&#xff1a;请在WiFi环境下打开&#xff0c;如果有钱任性请随意0.概述在我们面试各大公司的时候&#xff0c;关于Linux往往最容易问到的问题之一就是Linux指令…

jvm7 jvm8_自我修复的JVM

jvm7 jvm8这篇帖子是关于一个应用程序的示例&#xff0c;其中解决每个IT问题的第一个解决方案-“您是否尝试过将其关闭并重新打开”-可能适得其反&#xff0c;弊大于利。 我们不需要关闭电源&#xff0c;而是拥有可以自愈的应用程序&#xff1a;它在一开始就失败了&#xff0c…

实例讲解C语言的位运算

C语言位运算有6种&#xff1a; &&#xff0c; | , ^(异或)&#xff0c; <<(左移)&#xff0c;>>(右移)。注意&#xff1a;参与位运算的元素必须是int型或者char型&#xff0c;以补码形式出现。1.按位与&&运算常应用于&#xff1a;迅速清零保留指定位判…

java字节码执行原理_《Java 底层原理》Java 字节码详解

前言我们在开发中会遇到一些Java的执行超出我们的想象&#xff0c;但是又不知道他为什么会这样执行&#xff0c;这个时候我们就需要能够知道他编译后Class文件是什么样子的&#xff0c;并且理解字节码的含义。Java字节码的原理进制class文件就是字节码文件&#xff0c;直接是打…