FormEditor 开发记录4 界面完成

本文介绍了如何使用Java Swing实现界面中的七个超链接功能,包括产品编辑器、团队编辑器等的打开方式,并提及了处理编辑器Dirty状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


界面已经基本完成,其中的附件功能直接用了过去已经写好的文件管理类的控件

接下来的工作是完成7个超链接的功能:

1. 点击产品名称显示产品编辑器

ExpandedBlockStart.gif代码
    public class OpenProductLink extends HyperlinkAdapter {
        @Override
        
public void linkActivated(HyperlinkEvent e) {
            LazyDTO ldto 
= (LazyDTO)hlOpenProduct.getData("LazyDTO");
            Assert.isNotNull(ldto, MSG_PRODUCT_NOT_EXSIT);
            UIOperations.openDTOWithPermission(ldto.getDTObject());
        }
    }

2.点击团队名称显示团队编辑器

3.点击注册产品显示注册的编辑器

ExpandedBlockStart.gif代码
    public class CreateProductLink extends HyperlinkAdapter {
        @Override
        
public void linkActivated(HyperlinkEvent e) {
            DTObject dto 
= systemDmc.createDTO();
            EditorInput input 
= new EditorInput(dto){

                @Override
                
protected void saveAfter(DataObjectEdtior editor, DTObject dto)
                        
throws Exception {
                    Object name 
= dto.getObjectDescription();
                    hlOpenProduct.setText(name
==null?"":name.toString());
                    LazyDTO ldto 
= new LazyDTO();
                    ldto.setDTO(dto);
                    hlOpenProduct.setData(
"LazyDTO", ldto);
                    
super.saveAfter(editor, dto);
                }
                
            };
            IWorkbenchPage page 
= PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
            
try {
                page.openEditor(input, SystemPartID.EDITOR_OBJECTEDITOR);
            } 
catch (PartInitException er) {
                er.printStackTrace();
            }
            
super.linkActivated(e);
        }
    }

4.点击注册团队显示团队注册的编辑器

5.点击选择产品显示产品选择对话框

ExpandedBlockStart.gif代码
    public class SelectProductLink extends HyperlinkAdapter {
        @Override
        
public void linkActivated(HyperlinkEvent e) {
            LazyDTO selection 
= FilteredSelectionDialog
                    .openClassDataSelector(DMModel.getDMCbyName(
"System"));

            String name 
= selection.getDTObject().getDescription();
            hlOpenProduct.setText(name 
== null ? "" : name.toString());
            hlOpenProduct.setData(
"LazyDTO", selection);

            
super.linkActivated(e);
        }
    }

6.点击选择团队显示团队选择对话框

7 点击组织结构,显示组织结构的CTreeView视图

ExpandedBlockStart.gif代码
    public class OpenTeamStructureLink extends HyperlinkAdapter {
        @Override
        
public void linkActivated(HyperlinkEvent e) {
            LazyDTO ldto 
= (LazyDTO)hlOpenTeam.getData("LazyDTO");
            Assert.isNotNull(ldto, MSG_TEAM_NOT_EXSIT);
            ListenerView.showView(
"com.sg.intellifmea.view.TeamView", ldto,true);
        }
    }


 完成了界面控制后,接下来是处理编辑器Dirty的状态。

 

 

转载于:https://www.cnblogs.com/seag/archive/2009/12/02/1615141.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值