在display Message()方法中,以可修改或者只读的样式(style)在窗口中添加各种输入字段。在屏幕(Screen)上面添加输入字段(Field)是一件很容易的事情,只需要调用add(字段)方法就可以了。但是客户新要求设置所有输入字段的背景颜色为淡蓝色。一种常用的方法是使用VerticalFieldManager布局管理器类,在布局管理器中设置背景色,然后调用manager.add(field)把相应输入字段放进这个布局管理器里面。
- protected void displayMessage(){
- VerticalFieldManager manager;
- manager = (VerticalFieldManager)getMainManager();
- Background bg = BackgroundFactory.createSolidBackground(Color.LIGHTBLUE);
- manager.setBackground(bg);
- long style;
- style = EditField.READONLY;
- if (_editable) style = EditField.EDITABLE;
- senderField = new EditField(" 提交人 : ", _message .getSender(), MAX_CHARS, style);
- manager.add(senderField);
- // 其他类似 代码从 略
- 。。。
- dateField = new DateField(" 提交日期 : ", (new Da te()).getTime(),DateFormat.DATE_MEDIUM);
- manager.add(dateField);
- // 其他类似 代码从 略
- 。。。
- }
4.3命令按钮区域coding
在displayButton()方法中,添加两个命令按钮,这两个命令按钮按照布局管理器FooterManager的处理被横着摆放,中间有一定的间隔;两个命令按钮和事件处理类FieldChangeListener关联,以处理用户点击按钮的事件,进而审批通过或者是直接返回上级父窗口。
- protected void displayButton() {
- //------------------------------------------------------------------
- // 创建按钮 点击 事 件 类 FieldChangeListener
- FieldChangeListener myButtonListener = new FieldChangeListener() {
- public void fieldChanged(Field field, int context) { ButtonField fieldChanged = (ButtonField) field;
- //begin testing to see what field changed if( fieldChanged == newButton) {
- Message message = new Message(new Date(), sen derField.getText(),
- subjectField.getText(), contentField.getText(), Message.STATUS_NEW);
- _list.addMessage(message);
- close();
- }
- // 其他类似 代码从 略
- }
- };
- //-------------------------------------------------- ----------------
- FooterManager manager = new FooterManager();
- newnewButton = new ButtonField(" 提交 ");
- newButton.setChangeListener(myButtonListener);
- if (_editable) manager.add(newButton);
- // 其他类似 代码从 略
- // 最后把布 局管理 器连同 里面 的两个按 钮一起 放到 从 窗口上
- add(manager);
- }
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-21862-3.html
等中国有这能力了
真的不太喜欢这次的冷色调
#吴亦凡#