2.5 Java notes

2007-02-05 22:27:56

Chapter 11 GUI Programming

 

1. 导入静态常量 (JDK 1.5 Feature)

import static java.awt.BorderLayout.*;

这样就可以直接使用EAST代替java.awt.BorderLayout.EAST

 

2. Layout Manager 属性

setHGap(int), setVGap(int):设定控间间的水平和垂直距离

setAlignment(int):设置对齐方式(FlowLayout.LEFT/RIGHT/CENTER/LEADING/TRAILING)

setRows(int), setColumns

 

3. 重新布局

一个container每次只能有一个layout manager,但是可以通过setLayout(aNewLayout)方法设置新的layout manager,并使用 validate() 方法强制container重新对控间布局。

如果layout manager没有变,只是修改了它的属性,那么可以使用 doLayout() 方法强制container重新布局。

 

4. java.awt.Color 类

publc Color(int r, int g, int b);

修改控间前景:java.awt.Component.setForeground(Color c)

修改控间背景:java.awt.Component.setBacground(Color c)

Color 类中预先定义了black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, yellow 13种颜色供直接使用,如jbtOK.setForeground(Color.red);

但是由于这些常量的名称有悖于命名惯例,JDK 1.4 以后可以使用新的常量BLACK, BLUE, DARK_GRAY, …。

 

5. java.awt.Font 类

public Font(String name, int style, int Size);

name:字体名,如”Serif”

style:Font.PLAIN, Font.BOLD, Font.ITALIC, Font.BOLD+Font.ITALIC

可以使用java.awt.GraphicsEnvironment.getAvailableFontFamilyNames()获取系统包含的字体。

import java.awt.*;

 

public class GetFonts {

public static void main(String[] args) {

GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();

String[] fontnames = e.getAvailableFontFamilyNames();

 

for (int i = 0; i > fontnames.length; i++) {

System.out.println(fontnames[i]);

}

}

}

 

6. java.awt.Panel 类

Panel 可以作为子容器分组不同的控件。Swing中相对应的是javax.swing.JPanel。

public JPanel()

public JPanel(LayoutManager)

举例:

JPanel p = new JPanel();

p.add(new JButton(“OK”));

f.getContentPane().add(p);

 

7. 在Panel上作图

通常的方法是创建一个新的JPanel子类,并重载paintComponent方法。

prototect void paintComponent(Graphics g)

Graphic类是一个抽象类,提供了在不同平台上独立于硬件的显示图形的接口。每个组件显示的时候,都有一个Graphics对象为它创建。

重载paintComponent时先要调用父类的paintComponent清理作图区域。

重绘方法 repaint()

 

8. Java坐标系

左上角的点为(0, 0) 而传统坐标系则是以屏幕中心为(0, 0)

 

9. 作图方法(Graphics.)

drawLines(int, int, int, int); 作直线

 

drawRect(int x, int y, int width, int height); 作空心矩形

fillRect(int, int, int, int); 作实心矩形

 

drawRoundRect(int, int, int, int, int aw, int ah); 作空心圆角矩形

fillRoundRect(int, int, int, int, int aw, int ah); 作实心圆角矩形

aw:圆角水平轴长 ah:圆角垂直轴长

 

draw3DRect(int, int, int, int, boolean raised);

raised:凸或凹

 

drawOval(int, int, int, int);

fillOval(int, int, int, int);

作椭圆

 

drawArc(int, int, int, int, int startAngel, int arcAngel);

fillArc(int, int, int, int, int startAngel, int arcAngel);

作椭圆中的部分弧,角度制。

 

Polygon 类作多边形用

public Polygon()

public Polygon(int[] xpoints, int[] ypoints, int npoints)

方法:

addPoint(int x, int y)

Graphics.drawPolygon(int[] xpoints, int[] ypoints, int npoints)

Graphics.fillPolygon(int[] xpoints, int[] ypoints, int npoints)


 

你可能感兴趣的:(2.5 Java notes)