激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 詳解如何使用Java編寫圖形化的窗口

詳解如何使用Java編寫圖形化的窗口

2020-01-08 14:40goldensun JAVA教程

這篇文章主要介紹了如何使用Java編寫圖形化的窗口,是Java的本地GUI軟件開發的基礎,需要的朋友可以參考下

窗口是GUI編程的基礎,小應用程序或圖形界面的應用程序的可視組件都放在窗口中,在GUI中,窗口是用戶屏幕的一部分,起著在屏幕中一個小屏幕的作用。有以下三種窗口:
Applet窗口:Applet類管理這個窗口,當應用程序程序啟動時,由系統創建和處理;
框架窗口(JFrame):這是通常意義上的窗口,它支持窗口周邊的框架、標題欄,以及最小化、最大化和關閉按鈕;
一種無邊框窗口(JWindow):沒有標題欄,沒有框架,只是一個空的矩形。

用Swing中的JFrame類或它的子類創建的對象就是JFrame窗口。

JFrame類的主要構造方法:

  • JFrame():創建無標題的窗口對象;
  • JFrame(String s):創建一個標題名是字符串s的窗口對象。

JFrame類的其他常用方法:

  • setBounds(int x,int y,int width,int height):參數x,y指定窗口出現在屏幕的位置;參數width,height指定窗口的寬度和高度。單位是像素。
  • setSize(int width,int height):設置窗口的大小,參數width和height指定窗口的寬度和高度,單位是像素。
  • setBackground(Color c):以參數 c設置窗口的背景顏色。
  • setVisible(boolean b):參數b設置窗口是可見或不可見。JFrame默認是不可見的。
  • pack():用緊湊方式顯示窗口。如果不使用該方法,窗口初始出現時可能看不到窗口中的組件,當用戶調整窗口的大小時,可能才能看到這些組件。
  • setTitle(String name):以參數name設置窗口的名字。
  • getTitle():獲取窗口的名字。
  • setResiable(boolean m):設置當前窗口是否可調整大小(默認可調整大小)。

Swing里的容器都可以添加組件,除了JPanel及其子類(JApplet)之外,其他的Swing容器不允許把組件直接加入。其他容器添加組件有兩種方法:
一種是用getContentPane()方法獲得內容面板,再將組件加入。例如,例5.1程序中的代碼:

?
1
mw.getContentPane().add(button);


該代碼的意義是獲得容器的內容面板,并將按鈕button添加到這個內容面板中。
另一種是建立一個JPanel對象的中間容器,把組件添加到這個容器中,再用setContentPane()把這個容器置為內容面板。例如,代碼:

?
1
2
3
JPanel contentPane = new JPanel();
mw.setContentPane(contentPane);


以上代碼把contentPane置成內容面板。

【例】一個用JFrame類創建窗口的Java應用程序。窗口只有一個按鈕。

?
1
2
3
4
5
6
7
8
9
10
import javax.swing.*;
public class Example5_1{
  public static void main(String args[]){
    JFrame mw = new JFrame(“我的第一個窗口”);
    mw.setSize(250,200);
    JButton button = new JButton(“我是一個按鈕”);
    mw.getContentPane().add(button);
    mw.setVisible(true);
  }
}

用Swing 編寫GUI程序時,通常不直接用JFrame創建窗口對象,而用JFrame派生的子類創建窗口對象,在子類中可以加入窗口的特定要求和特別的內容等。

【例】定義JFrame派生的子類MyWindowDemo創建JFrame窗口。類MyWindowDemo的構造方法有五個參數:窗口的標題名,加放窗口的組件,窗口的背景顏色以及窗口的高度和寬度。在主方法中,利用類MyWindowDemo創建兩個類似的窗口。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Example5_2{
  public static MyWindowDemo mw1;
  public static MyWindowDemo mw2;
  public static void main(String args[]){
    JButton static butt1 = new JButton(“我是一個按鈕”);
    String name1 = “我的第一個窗口”;
    String name2 = “我的第二個窗口”;
    mw1 = new MyWindowDemo(name1,butt1,Color.blue,350,450);
    mw1.setVisible(true);
    JButton butt2 = new JButton(“我是另一個按鈕”);
    mw2 = new MyWindowDemo(name2,butt2,Color.magenta,300,400);
    mw2.setVisible(true);
  }
}
class MyWindowDemo extends JFrame{
  public MyWindowDemo(String name,JButton button,Color c,int w,int h){
    super();
    setTitle(name);
    setSize(w,h);
    Container con = getContentPane();
    con.add(button);
    con.setBackground(c);
  }
}

顯示顏色由java.awt包的Color類管理,在Color類中預定了一些常用的顏色,參見表11-3。JFrame類的部分常用方法參見下表。
Color 類中定義的常用顏色
詳解如何使用Java編寫圖形化的窗口
JFrame 類的部分常用方法

詳解如何使用Java編寫圖形化的窗口

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 性生活视频一级 | 免费亚洲视频在线观看 | 国产精品久久久久久久久久久久久久久 | xxxx欧美视频 | 337p日本欧洲亚洲大胆精蜜臀 | 91短视频在线视频 | 黄色一级片在线观看 | 欧美熟videos肥婆 | 激情av在线 | 新久草在线视频 | 欧美中文在线 | 免费视频精品一区二区 | japan护士性xxxⅹhd | 久久精品视频2 | 国产69精品久久99不卡免费版 | 黄色大片大毛片 | 天海翼无删减av三级在线观看 | 国产一区二区影视 | 免费a级片在线观看 | 免费专区 - 91爱爱 | 在线视频国产一区 | 久久人操 | av在线收看 | 爱福利视频 | 最新黄色电影网站 | 日韩视频一区二区三区四区 | 日韩一级毛毛片 | 欧美成人二区 | 国产成人精品免费视频大全办公室 | 欧美日韩免费在线观看视频 | 中文字幕 亚洲一区 | 日本欧美一区 | 老女人碰碰在线碰碰视频 | 91在线视频在线观看 | 九一免费国产 | 日韩av片在线播放 | 超级av在线| 性欧美日本 | 久久国产一 | 国产精品成人免费一区久久羞羞 | 美女久久久久久久久 |