private var intervalId:uint;
getstyle什么意思_getstyle方法怎么用
protected function test1_changeHandler(event:Event):void
{if(CheckBox(event.target).selected){ //启动闪烁效果
intervalId = setInterval(setStyleForAll, 300);
}else{
clearInterval(intervalId);
setStyleForAll(true);
}}
private function setStyleForAll(reset:Boolean=false):void{
var ic:ICollection = network.elementBox.datas;
for(var i:int=0; i
var node:IElement = ic.getItemAt(i) as IElement;
if(reset){
node.setStyle(Styles.OUTER_ALPHA, 0);
}else{
if(node.getStyle(Styles.OUTER_ALPHA) == 1){
node.setStyle(Styles.OUTER_ALPHA, 0);
}else{
node.setStyle(Styles.OUTER_ALPHA, 1);
node.setStyle(Styles.OUTER_COLOR, 0xFFFF00);
}}
}}
JavaScript函数 parseint(getStyle(obj,attr))是在干什么?ge
getStyle是一个function,有两个参数,一个是dom节点,是一个style的属性名,找个getStyle的作用应该是获取这个dom的对应的style的样式,如
你这个时候调用找个getStyle,如果attr传的参数是width,就会得到1001、obj1你可以将其理解为一个物体,在网页中的表现他可能就是一个dom节点。
2、getStyle函数所做的事情是取节点样式的值,其中ele表示的是需要取样式值得dom节点,attr表示的是需要取哪个样式?currentStyle和getComputedStyle是浏览器支持的,之所以这样写是为了兼容各个浏览器。
3、etStyle(obj1,'left')就是去obj1这个元素距离左边的偏移量,是距离网页最左边还是父元素要看当前元素是什么定位。
4、最后的if判断就是判断两个元素有没有碰撞到。
不太明白你的意思,不知道这是不是你想问的问题解答:
getstyle如果是针对浏览器提供的getcomputedstyle,那可以找出某个样式的具体值,标准的js不能读取到写在class里的样式的,如果需要针对指定的样式如高度为某个数值的元素进行设置时,js就可以通过这个方法找出需要修改的元素。
谈谈java.awt.Graphics类
图形环境的概念同在 GUI 平台上开发应用程序紧密相关。虽然通常将窗口和组件本身作为对象来表达,但仍然需要另一个接口来执行实际的绘制、着色以及文本输出操作。Java 语言中提供这些功能的基类称作 java.awt.Graphics。从 java.awt.Component 类(所有窗口对象的基类)继承的类提供了一个名为 paint() 的方法,在需要重新绘制组件时,调用该方法。
paint() 方法只有一个参数,该参数是 Graphics 类的实例。
Graphics 类支持几种确定图形环境状态的特性。以下列出了部分特性:
1.Color:当前绘制颜色,它属于 java.awt.Color 类型。所有的绘制、着色和纯文本输出都将以指定的颜色显示。
2.Font:当前字体,它属于 java.awt.Font 类型。它是将用于所有纯文本输出的字体。
3.Clip:java.awt.Shape 类型的对象,它充当用来定义几何形状的接口。该特性包含的形状定义了图形环境的区域,绘制将作用于该区域。通常情况下,这一形状与整个图形环境相同,但也并不一定如此。
4.ClipBounds:java.awt.Rectangle 对象,它表示将包围由 Clip 特性定义的 Shape 的最小矩形。它是只读特性。
5.FontMetrics:java.awt.FontMetrics 类型的只读特性。该对象含有关于图形环境中当前起作用的 Font 的信息。
6.Paint Mode:该特性控制环境使用当前颜色的方式。如果调用了 setPaintMode() 方法,那么所有绘制操作都将使用当前颜色。如果调用了 setXORMode() 方法(该方法获取一个 Color 类型的参数),那么就用指定的颜色对像素做“XOR”操作。XOR 具有在重新绘制时恢复初始位模式的特性,因此它被用作橡皮擦除和动画操作。
Graphics 类方法:
可以将 java.awt.Graphics 支持的非特性方法划分为三个常规类别之下:
1.跟踪形状轮廓的绘制方法:
draw3DRect() drawArc() drawBytes() drawChars()
drawImage() drawLine() drawOval() drawPolygon()
drawPolyline() drawRect() drawRoundRect() drawString()
2.填充形状轮廓的绘制方法:
fill3DRect() fillArc() fillOval()
fillPolygon() fillRect() fillRoundRect()
3.诸如 translate() 之类的杂项方法,它们将图形环境的起点从其缺省值 (0,0) 变成其它值。
请注意,没有对任意形状进行操作的操作。直到 Java 2D 出现以前,图形操作一直都是很有局限性的。还需注意的是,对于渲染具有属性的文本也没有直接支持;显示格式化文本是一项费事的任务,需要手工完成。
下面我们来看一些具体的实例(注:所有的实例都没有加上关闭窗口的事件驱动,只能用Ctrl+C来中断程序):
1.画线程序:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class Main extends Frame {
Vector points = new Vector();
int lastDrawnPoint = 0;
Main() {
super("drawLine Example");
setSize(200, 200);
addMouseListener(new MouseEventHandler());
addMouseMotionListener(new MouseMotionEventHandler());
show();
}public void paint(Graphics g) {
Point curPt = null;
for (int i=0; i Point pt = (Point)points.elementAt(i);
if (curPt != null) {
g.drawLine(curPt.x, curPt.y, pt.x, pt.y);
}curPt = pt;
}lastDrawnPoint = points.size();
}public void update(Graphics g) {
Point curPt = null;
lastDrawnPoint = Math.max(0, lastDrawnPoint-1);
for (int i=lastDrawnPoint; i Point pt = (Point)points.elementAt(i);
if (curPt != null) {
g.drawLine(curPt.x, curPt.y, pt.x, pt.y);
}curPt = pt;
}lastDrawnPoint = points.size();
}class MouseEventHandler extends MouseAdapter {
public void mousePressed(MouseEvent evt) {
points.addElement(evt.getPoint());
repaint();
}}
class MouseMotionEventHandler extends MouseMotionAdapter {
public void mouseDragged(MouseEvent evt) {
points.addElement(evt.getPoint());
repaint();
}}
static public void main(String[] args) {
new Main();
}}
Graphics.drawLine(int x,int y,int x2,int y2);是从一个点的坐标到另一个点的坐标。
这个实例的运行结果也就是可以任意的画线。可以任意的拖动鼠标,我们知道,线都是由点构成的。我们的主程序是继承java.awt.Frame这个类,重载了paint()和update()这两个方法。而在主类添加了两个事件new MouseEventHandler()和MouseMotionEventHandler()。当我们运行程序结果时就能知道,paint()只是最初的调用,以后都是调用update(),而在MouseEventHandler()和MouseMotionEventHandler()中调用repaint()也是sun的程序员在内部已经嵌入的,所以这个不是我们需要担心的,程序的原理我想大家都明白的,用一个向量来保存鼠标的点,lastDrawnPoint是一个重要的变量,然后就不说了。
2.调用图片程序:
import java.awt.*;
class Main extends Frame {
Image image;
Main(String filename) {
super("drawImage Example");
try {
image = getToolkit().getImage(filename);
setIconImage(image);
} catch (Exception e) {
e.printStackTrace();
}setSize(400, 200);
show();
}public void paint(Graphics g) {
Insets insets = getInsets();
int x = insets.left, y = w = image.getWidth(this);
int h = image.getHeight(this);
// original
g.drawImage(image, x, y, this);
// shrinken
g.drawRect(x, y, w/4+1, h/4+1);
g.drawImage(image, x+1, y+1, w/4, h/4, this);
// horizontally flipped
g.drawImage(image, x+w, y, x+2*w, y+h, w, 0, 0, h, this);
// vertically flipped
g.drawImage(image, x+2*w, y, x+3*w, y+h, 0, h, w, 0, this);
// enlarged; use -1 to indicate proportional height
g.drawImage(image, x+3*w, y, 2*w, -1, this);
}static public void main(String[] args) {
if (args.length == 1) {
new Main(args[0]);
} else {
System.err.println("usage: java Main ");
}}
}相比较上面的程序,这个程式就简单的多,它就是调用你本地的图片,进行多角度显示。java.awt.Frame.getToolkit().getImage(filename)和Graphics.drawImage()是重要的方法。
3。画圆程式:
import java.awt.*;
import java.util.*;
import java.io.*;
class Main extends Frame {
Vector points = new Vector();
Main() {
super("drawOval Example");
setSize(200, 200);
show();
}void addPoint(Point p) {
points.addElement(p);
repaint();
}public void paint(Graphics g) {
Insets insets = getInsets();
int x = insets.left, y = (int i=0; i Point p = (Point)points.elementAt(i);
g.drawOval(x+p.x-5, y+p.y-5, 10, 10);
}}
static public void main(String[] args) {
Main m = new Main();
BufferedReader dis =
new BufferedReader(new InputStreamReader(System.in));
while (true) {
try {
m.addPoint(new Point(
Integer.parseInt(dis.readLine()),
Integer.parseInt(dis.readLine())));
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}}
}}
这个程式也比较简单,不过他调用了个System.in来限制画圆的坐标。
4.画三角形:
import java.awt.*;
import java.awt.event.*;
class Main extends Frame {
Polygon polygon = new Polygon();
Main() {
super("drawPolygon Example");
addMouseListener(new MouseEventHandler());
addMouseMotionListener(new MouseMotionEventHandler());
setSize(200, 200);
show();
}public void paint(Graphics g) {
System.out.println("paint:");
g.drawPolygon(polygon);
}// The default update method clears the screen which causes
// flicker. This override avoids this.
public void update(Graphics g) {
System.out.println("update:");
paint(g);
}class MouseEventHandler extends MouseAdapter {
public void mousePressed(MouseEvent evt) {
System.out.println("mousePressed:");
polygon.addPoint(evt.getX(), evt.getY());
repaint();
}}
class MouseMotionEventHandler extends MouseMotionAdapter {
public void mouseDragged(MouseEvent evt) {
System.out.println("mouseDragged:");
polygon.addPoint(evt.getX(), evt.getY());
repaint();
}}
static public void main(String[] args) {
new Main();
}}
画三角形是一个很有意思的东东。它注意是确定三个点了。第一个是最重要的。以后所有的三角形也这个为中心,如果你拖动鼠标的话,就会出现N多。
5.写字:
import java.awt.*;
import java.awt.event.*;
class Main extends Frame implements ItemListener {
MainCanvas cv = new MainCanvas();
Choice choice = new Choice();
Main() {
super("drawString Example");
for (int i=4; i<60; i += 4) {
choice.addItem(""+i);
}choice.select(0);
choice.addItemListener(this);
cv.setFontSize(4);
cv.setSize(300, 100);
add(cv, BorderLayout.CENTER);
add(choice, BorderLayout.SOUTH);
pack();
show();
}public void itemStateChanged(ItemEvent evt) {
String what = (String)(evt.getItem());
cv.setFontSize(Integer.parseInt(what));
}static public void main(String[] args) {
new Main();
}}
class MainCanvas extends Canvas {
void setFontSize(int size) {
Font f = getFont();
if (f == null) {
f = new Font("Serif", Font.PLAIN, size);
} else {
f = new Font(getFont().getName(), getFont().getStyle(), size);
}setFont(f);
repaint();
}public void paint(Graphics g) {
String s = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";
FontMetrics fontM = g.getFontMetrics();
g.setColor(Color.white);
g.fillRect(0, 0, fontM.stringWidth(s), fontM.getHeight());
g.setColor(Color.black);
g.drawString(s, 0, fontM.getAscent());
}}
大家上面写的好象都是在介绍Graphics,嘿嘿嘿,有意思
所谓的自动调用,代码应该在component类的构造函数中
g=this.getGraphics ()
paint(g);
不过这些代码应该都是被封装好的,用户不可见,就是d2tools.jar
(名字记不清了,好象是这个)
子类生成时,必然要先调用父类的构造函数.从而给人感觉是自动调用,其实就是java本身的类执行了一次paint()函数.
其实这是JAVA类编写最常用的一种机制
应该就是这样,以前特地研究过这个问题,不过可能时间久远了,描述可能有不恰当之处,见量!
至于getGraphics() 怎样形成图形编写环境的,这是个大问题了.因为java 代码我也没全看过,好象是通过一个图形生成类生成的,具体实现代码不详,不好意思
那你去找一下component类继承的类和所实现的接口类(ImagerObserver什么的,好象还有几个,好常时间没变过桌应了,记不太清楚了,自己找一下),必然是在代码中,类似的代码肯定有(只是时间久远了,实在记不清在哪儿了).有一点是肯定的JDK不是servlet,没有定义在xml所谓的自动调用什么的机制,所有的jdk中的实现必然是根据java现有的面向对象语法规则进行实现的,只要你根据现有的语法规则(父类与子类的调用次序等)去查找必然能找到答案.另外注意一切有可能的代码.
你既然有代码,只要在java编程环境中(eclipse ,jb)按住ctrl 点鼠标就可以找到相应的类代码(这个应该知道的哦,可能我多说了).
这个是在JVM里面,你只需要按你的需要重写Paint方法就可以了。当你new的时候,新产生的这个窗口(如果需要重写Paint方法,一般含Image等)就自动作为参数传给(Graphics g)。其实你只要会使用就行了。
可通过调用WINDOWS API函数来实现。
1:先使用API中的GetWindowThreadProcessId来获取进程ID
2:再用使用API中的OpenProcess来获取进程句柄。
任何程序语言都可以调用WINDOWS API函数。具体调整方法会根据语言不同而不同,请具体参见您所使用的编程语言规范来。
HINSTANCE hInstance;
HWND hwnd;
hInstance=GetWindowLong(hwnd,GWL_HINSTANCE);
attr是move(obj, attr, iTarget)函数的第二个参数啊
很明显opacity是css中设置透明度的,attr==‘opacity’就是判断带入的attr参数是不是'opacity',根据是或不是作相应的透明度设置或其他动作
var obj = document.getElementById('tab');此处获取对象是有问题的,根本获取不到。
然后运行后却不受影响的原因是,后面定义的obj把对象给覆盖了,真正有意义的获取是最下面的:
var obj = document.getElementById('box');
真正执行动作的是:
var obj = document.getElementById('box');
obj.onclick = function () {
animate(obj, { 'left': 200, 'top': 100 });
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。