posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2.5 Java notes

          Posted on 2007-04-22 20:23 ZelluX 閱讀(312) 評(píng)論(1)  編輯  收藏 所屬分類: OOP
          2007-02-05 22:27:56

          Chapter 11 GUI Programming

          ?

          1. 導(dǎo)入靜態(tài)常量 (JDK 1.5 Feature)

          import static java.awt.BorderLayout.*;

          這樣就可以直接使用EAST代替java.awt.BorderLayout.EAST

          ?

          2. Layout Manager 屬性

          setHGap(int), setVGap(int):設(shè)定控間間的水平和垂直距離

          setAlignment(int):設(shè)置對(duì)齊方式(FlowLayout.LEFT/RIGHT/CENTER/LEADING/TRAILING)

          setRows(int), setColumns

          ?

          3. 重新布局

          一個(gè)container每次只能有一個(gè)layout manager,但是可以通過(guò)setLayout(aNewLayout)方法設(shè)置新的layout manager,并使用 validate() 方法強(qiáng)制container重新對(duì)控間布局。

          如果layout manager沒(méi)有變,只是修改了它的屬性,那么可以使用 doLayout() 方法強(qiáng)制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 類中預(yù)先定義了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()獲取系統(tǒng)包含的字體。

          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中相對(duì)應(yīng)的是javax.swing.JPanel。

          public JPanel()

          public JPanel(LayoutManager)

          舉例:

          JPanel p = new JPanel();

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

          f.getContentPane().add(p);

          ?

          7. 在Panel上作圖

          通常的方法是創(chuàng)建一個(gè)新的JPanel子類,并重載paintComponent方法。

          prototect void paintComponent(Graphics g)

          Graphic類是一個(gè)抽象類,提供了在不同平臺(tái)上獨(dú)立于硬件的顯示圖形的接口。每個(gè)組件顯示的時(shí)候,都有一個(gè)Graphics對(duì)象為它創(chuàng)建。

          重載paintComponent時(shí)先要調(diào)用父類的paintComponent清理作圖區(qū)域。

          重繪方法 repaint()

          ?

          8. Java坐標(biāo)系

          左上角的點(diǎn)為(0, 0) 而傳統(tǒng)坐標(biāo)系則是以屏幕中心為(0, 0)

          ?

          9. 作圖方法(Graphics.)

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

          ?

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

          fillRect(int, int, int, int); 作實(shí)心矩形

          ?

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

          fillRoundRect(int, int, int, int, int aw, int ah); 作實(shí)心圓角矩形

          aw:圓角水平軸長(zhǎng) ah:圓角垂直軸長(zhǎng)

          ?

          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)


          ?


          評(píng)論

          # re: 2.5 Java notes  回復(fù)  更多評(píng)論   

          2008-02-05 12:31 by ZelluX
          一年前的今天
          一年里我才學(xué)了這么點(diǎn)東西。。。
          主站蜘蛛池模板: 建平县| 叶城县| 淮滨县| 和平县| 集贤县| 广河县| 霍山县| 天峨县| 衡南县| 道孚县| 化州市| 东台市| 准格尔旗| 伽师县| 恩施市| 长海县| 渭南市| 嫩江县| 台中县| 大埔县| 延川县| 伊金霍洛旗| 苏州市| 琼结县| 庆安县| 织金县| 时尚| 揭东县| 景东| 同仁县| 兰溪市| 阜阳市| 象山县| 获嘉县| 宿松县| 磐石市| 新巴尔虎左旗| 始兴县| 大悟县| 天台县| 永年县|