方式有二:
1)来源于网上:建立mxml格式组件。注,不能:直接将下列片段放主应用程序文件,原因是在主应用程序中this是主应用程序的引用,不知道还有其它方式引用否(var panel:Panel=event.target as Panel;//获取不到,不知为什么)。
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo" layout="vertical" creationComplete="init();"
removedEffect="Fade" styleName="popUpPanel" borderColor="#5C5C5C"
width="150" height="150">
<fx:Script>
<![CDATA[
import mx.controls.Button;
import mx.containers.HBox;
import mx.controls.Image;
import mx.managers.PopUpManager;
import mx.controls.Alert;
private function init():void{
var button:Button = new Button();
button.width=16;
button.height=16;
button.addEventListener(MouseEvent.CLICK, buttonClick);
//Create Hbox to add to title bar
var titleHbox:HBox = new HBox();
titleHbox.width=this.titleBar.width;
titleHbox.height=this.titleBar.height;
//Add image and button to HBox
titleHbox.addChild(button);
//Add Hbox with button and image
this.titleBar.addChild(titleHbox);
//center popup panel
}
//Function called when button is clicked
private function buttonClick(event:Event):void{
Alert.show('Button clicked now closing');
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
</mx:Panel>
2)直接扩展Panel,编译的速度很慢,
package module.procurement.components
{
import mx.containers.Panel;
import mx.controls.LinkButton;
import flash.events.MouseEvent;
import mx.core.UIComponent;
public class PanelMy extends Panel
{
var topBar:UIComponent;
public function PanelMy()
{
super();
}
private var maxClick:LinkButton;
//下面的两个重载过的函数会在视图生成的时候自动执行
override protected function createChildren():void
{
super.createChildren();
maxClick = new LinkButton;
maxClick.label = "Maximize";
maxClick.addEventListener(MouseEvent.CLICK, toMaxHandler);
titleBar.addChild(maxClick);
}
override protected function updateDisplayList (unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
maxClick.setActualSize( maxClick.getExplicitOrMeasuredWidth(),
maxClick.getExplicitOrMeasuredHeight() );
var y:int = 4;
var x:int = this.width - maxClick.width - 12;
maxClick.move(x, y);
}
//点击linkbutton后的触发函数
private function toMaxHandler(event:MouseEvent):void
{
if(maxClick.label == "Maximize")
{
//dispatchEvent(new Event("maxTalkBrowse"));
maxClick.label = "Minimize";
}
else if(maxClick.label == "Minimize")
{
//dispatchEvent(new Event("miniTalkBrowse"));
maxClick.label = "Maximize";
}
}
}
}
后记:终于发现了java程序员用flex的好处了,很容易入手。用它做前台界面,和java简直绝配,给公司省不少钱。扫了下javaFX,发现用它必须身兼数职,这不是要程序员的老命么
分享到:
相关推荐
标题中的“自定义的TitleBar”指的是在Android或者iOS应用开发中,开发者为了满足特定设计需求,不使用系统默认的标题栏(ToolBar或NavigationBar),而是自己编写代码创建的个性化标题栏。这种自定义通常是为了实现...
自定义TitleBar可以让开发者根据应用的需求和设计风格来创建独特且功能丰富的头部视图,提高用户体验。本文将深入探讨如何在Android中实现自定义TitleBar,并结合提供的文件"lushan123456-TitleBarView-3f3a8ec"进行...
自定义TitleBar是为了满足个性化需求,提供更丰富的功能和视觉效果。本教程将详细介绍如何在Android项目中封装一个通用的TitleBar。 首先,我们需要创建一个新的布局文件,比如`title_bar.xml`,在该布局文件中设计...
自定义Titlebar可以为应用程序提供独特的外观和交互体验,使得UI设计更加符合品牌形象或者用户需求。本教程将深入探讨如何在Android中实现自定义Titlebar。 首先,我们需要了解Android的布局系统。Titlebar通常由一...
在提供的压缩包文件"安卓自定义titlebar和卫星菜单1"中,应该包含了实现这些功能的相关代码和资源文件,包括自定义TitleBar类的Java源码、自定义标题栏和卫星菜单的布局XML文件,以及可能的动画资源和样式表。...
本主题将深入探讨如何为`BaseActivity`自定义TitleBar,提升应用的用户体验和界面一致性。 首先,TitleBar(也称为ActionBar或Toolbar,在Android的不同版本中有所变化)是Android应用程序顶部显示应用名称、操作...
下面将详细介绍如何在Android中自定义Titlebar并添加ProgressBar。 首先,我们来理解Titlebar的基本概念。在Android API 11及更高版本中,传统的Titlebar被Action Bar所取代,提供了一种更统一的界面设计。随着...
总的来说,"qt自定义titlebar"项目展示了如何利用Qt的事件处理机制和自定义控件功能,来创建一个美观且可拖动的自定义标题栏。通过这样的方式,开发者可以提升应用的用户体验,同时保持代码的可维护性和跨平台性。在...
在Android应用开发中,UI设计和交互体验是至关重要的元素,而标题栏(titlebar)和菜单则是用户界面中的核心部分。本教程将深入探讨如何在Android中实现自定义的标题栏以及卫星菜单的运用,通过源码分析,帮助开发者...
然而,系统默认的TitleBar可能无法满足所有设计需求,因此开发者常常需要自定义TitleBar来实现更个性化的功能和视觉效果。本教程将详细介绍如何在使用Eclipse开发环境中,创建一个可自定义的TitleBar组件,包括左右...
自定义控件TitleBar可以让开发者根据需求自由设计样式和功能,提升应用的用户体验。本文将深入探讨如何在Android中创建一个自定义的TitleBar控件,并结合文件`CommCircleView`来实现一个特定的功能。 首先,我们来...
根据自己喜好定义不同风格的titleBar,已达到界面美观的效果,来吸引跟多的人来观赏
在IT行业中,自定义Titlebar是一项常见的任务,尤其是在开发桌面应用程序或者Android应用时。Titlebar,也称为窗口标题栏,是用户界面中的一个重要元素,它通常包含应用的名称、关闭、最小化和最大化按钮,以及可能...
在本文中,我们将深入探讨如何使用Qt库中的QSS(Qt StyleSheet)来实现自定义TitleBar,这是一项在Qt C++应用中增强用户界面的重要技术。QSS类似于HTML中的CSS,允许开发者通过样式表来控制Qt组件的外观和布局。 ...
在Android开发中,创建自定义TitleBar主要有以下几种方法: 1. **使用Android系统的ActionBar**:Android SDK内置了ActionBar,可以通过设置主题、添加菜单项和使用ToolBar来定制TitleBar。开发者可以使用`app:...
安卓自定义的titlebar,无layout,调用简单,可变化性强
前段时间在做flex的一个文档在线浏览时用到了需要TitleWindow的缩放以及最大化、最小化功能,于是自己就查看资料和参考各位大虾的代码,自己实现了下
在Android系统中,虽然默认的ActionBar或ToolBar可以满足基本需求,但有时为了实现更个性化的设计或者增加特定功能,开发者会选择自定义TitleBar。这个实例可能提供了自定义TitleBar的XML布局文件和对应的Java或...
本文将深入探讨如何创建一个自定义的组合控件,特别是针对App标题栏(TitleBar)的设计与实现。我们将从基本的自定义控件概念讲起,并逐步构建一个完整的TitleBar组件。 首先,了解自定义控件的基本原理。在Android...