日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java转成图形界面_【转】java图形界面设计(AWT)

發布時間:2024/9/19 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java转成图形界面_【转】java图形界面设计(AWT) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【轉自】http://blog.sina.com.cn/s/blog_616e189f0100ne1t.html

1.???????基本的java Frame操作。

Java的圖形界面的類主要包括AWT和Swing。在AWT中圖形元素的父類為Component。

繼承關系如下:Component->Container->Window->Frame->JFrame。(注意:Swing對AWT進行了擴展)。

下面給出一個簡單的java圖形程序:

package?com.guan.visualTest.frameTest;

import?java.awt.Button;

import?java.awt.event.WindowAdapter;

import?java.awt.event.WindowEvent;

import?javax.swing.JFrame;

public?class?MainFrame {

public?static?void?main(String[] args)

{

//創建frame

JFrame frame =?new?JFrame("welcome!!");

//調整frame的大小和初始位置

frame.setSize(400, 400);

frame.setLocation(100, 100);

//新建5個Button

Button button1 =?new?Button("hello1");

Button button2 =?new?Button("hello2");

Button button3 =?new?Button("hello3");

Button button4 =?new?Button("hello4");

Button button5 =?new?Button("hello5");

//將5個Button添加到frame中

frame.add(button1,"East");

frame.add(button2,"West");

frame.add(button3,"South");

frame.add(button4,"Center");

frame.add(button5,"North");

//增加窗口監聽事件,使用內部類方法,并用監聽器的默認適配器

frame.addWindowListener(new?WindowAdapter(){

//重寫窗口關閉事件

@Override

public?void?windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

//顯示窗體

frame.setVisible(true);

}

}

執行效果:

2.???????AWT的布局管理器

AWT中主要有四種布局管理器:FlowLayout、GridLayout、BorderLayout和CardLayout。

下面給出這四種布局管理器的源碼:

package?com.guan.visualTest.frameTest;

import?java.awt.BorderLayout;

import?java.awt.Button;

import?java.awt.CardLayout;

import?java.awt.FlowLayout;

import?java.awt.Frame;

import?java.awt.GridLayout;

import?java.awt.Panel;

import?java.awt.event.ActionEvent;

import?java.awt.event.ActionListener;

import?java.awt.event.WindowAdapter;

import?java.awt.event.WindowEvent;

public?class?YourFrame?extends?Frame{

private?static?final?long?serialVersionUID?= 1L;

Panel?borderLayoutPanel;

Panel?cardLayoutPanel;

Panel?flowLayoutPanel;

Panel?gridLayoutPanel;

private?void?generateGridLayoutPanel() {

gridLayoutPanel?=?new?Panel();

gridLayoutPanel.setLayout(new?GridLayout(2,2));

Button button1 =?new?Button("button1");

Button button2 =?new?Button("button2");

Button button3 =?new?Button("button3");

Button button4 =?new?Button("button4");

gridLayoutPanel.add(button1);

gridLayoutPanel.add(button2);

gridLayoutPanel.add(button3);

gridLayoutPanel.add(button4);

}

private?void?generateFlowLayoutPanel() {

flowLayoutPanel?=?new?Panel();

flowLayoutPanel.setLayout(new?FlowLayout());

Button button1 =?new?Button("button1");

Button button2 =?new?Button("button2");

Button button3 =?new?Button("button3");

Button button4 =?new?Button("button4");

Button button5 =?new?Button("button5");

button1.addActionListener(new?ActionListener() {

@Override

public?void?actionPerformed(ActionEvent e) {

((Button)e.getSource()).setLabel("welcome ");

}

});

flowLayoutPanel.add(button1);

flowLayoutPanel.add(button2);

flowLayoutPanel.add(button3);

flowLayoutPanel.add(button4);

flowLayoutPanel.add(button5);

}

private?void?generateBorderLayoutPanel() {

borderLayoutPanel?=?new?Panel();

borderLayoutPanel.setLayout(new?BorderLayout());

Button button1 =?new?Button("South");

Button button2 =?new?Button("West");

Button button3 =?new?Button("East");

Button button4 =?new?Button("North");

Button button5 =?new?Button("Center");

borderLayoutPanel.add(button1,BorderLayout.SOUTH);

borderLayoutPanel.add(button2,BorderLayout.WEST);

borderLayoutPanel.add(button3,BorderLayout.EAST);

borderLayoutPanel.add(button4,BorderLayout.NORTH);

borderLayoutPanel.add(button5,BorderLayout.CENTER);

}

private?void?genrateCardLayoutPanel() {

cardLayoutPanel?=?new?Panel();

final?CardLayout cl =?new?CardLayout();

cardLayoutPanel.setLayout(cl);

Button button1 =?new?Button("black");

Button button2 =?new?Button("red");

ActionListener al =?new?ActionListener() {

@Override

public?void?actionPerformed(ActionEvent e) {

cl.next(cardLayoutPanel);

}

};

button1.addActionListener(al);

button2.addActionListener(al);

cardLayoutPanel.add(button1,"1");

cardLayoutPanel.add(button2,"2");

}

public?YourFrame(String panelName) {

super("panelName");

generateBorderLayoutPanel();

generateFlowLayoutPanel();

generateGridLayoutPanel();

genrateCardLayoutPanel();

setLayout(new?GridLayout(2,2));

add(borderLayoutPanel);

add(flowLayoutPanel);

add(gridLayoutPanel);

add(cardLayoutPanel);

setSize(800, 800);

setLocation(100,100);

addWindowListener(new?WindowAdapter(){

@Override

public?void?windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

}

public?static?void?main(String[] args) {

YourFrame yourFrame =?new?YourFrame("welcome");

yourFrame.setVisible(true);

}

}

運行結果:

3.???????菜單欄的實現:

菜單欄關鍵的類包括MenuBar、Menu和MenuItem。下面給出測試代碼:

package?com.guan.visualTest.frameTest;

import?java.awt.FileDialog;

import?java.awt.Frame;

import?java.awt.Menu;

import?java.awt.MenuBar;

import?java.awt.MenuItem;

import?java.awt.TextArea;

import?java.awt.event.ActionEvent;

import?java.awt.event.ActionListener;

import?java.awt.event.WindowAdapter;

import?java.awt.event.WindowEvent;

import?java.io.FileInputStream;

import?java.io.FileNotFoundException;

import?java.io.IOException;

public?class?MenuFrame {

public?static?void?main(String[] args) {

final?Frame frame =?new?Frame();

frame.setSize(800,800);

frame.setLocation(100,100);

frame.addWindowListener(new?WindowAdapter(){

@Override

public?void?windowClosing(WindowEvent e) {

System.exit(0);

}

});

final?TextArea ta =?new?TextArea();

frame.add(ta);

//創建菜單欄

MenuBar mb =?new?MenuBar();

//創建菜單

Menu file =?new?Menu("File");

Menu edit =?new?Menu("Edit");

//創建菜單項

MenuItem mi1 =?new?MenuItem("Open");

//添加打開文件功能響應

mi1.addActionListener(new?ActionListener() {

@Override

public?void?actionPerformed(ActionEvent e) {

FileDialog fd =?new?FileDialog(frame,"打開文件",FileDialog.LOAD);

fd.setVisible(true);

String fileName = fd.getDirectory()+fd.getFile();

if(fileName !=?null)

{

try?{

FileInputStream fis =?new?FileInputStream(fileName);

byte[] buf =?new?byte[10*1024];

try?{

int?len = fis.read(buf);

ta.append(new?String(buf,0,len));

fis.close();

}?catch?(IOException e1) {

e1.printStackTrace();

}

}?catch?(FileNotFoundException e1) {

e1.printStackTrace();

}

}

}

});

MenuItem mi2 =?new?MenuItem("Save");

MenuItem mi3 =?new?MenuItem("Other Save");

MenuItem mi4 =?new?MenuItem("Close");

//添加?關閉響應

mi4.addActionListener(new?ActionListener() {

@Override

public?void?actionPerformed(ActionEvent arg0) {

System.exit(0);

}

});

MenuItem mi5 =?new?MenuItem("Cope");

MenuItem mi6 =?new?MenuItem("Paste");

file.add(mi1);

file.add(mi2);

file.add(mi3);

file.add(mi4);

edit.add(mi5);

edit.add(mi6);

mb.add(file);

mb.add(edit);

frame.setMenuBar(mb);

frame.setVisible(true);

}

}

執行結果:

4.???????最后Swing的簡單測試

package?com.guan.visualTest.frameTest;

import?java.awt.BorderLayout;

import?javax.swing.JButton;

import?javax.swing.JFrame;

public?class?SwingFrame?{

public?static?void?main(String[] args) {

JFrame frame =?new?JFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton button =?new?JButton("ok");

frame.getContentPane().add(button,BorderLayout.WEST);

frame.setSize(800,800);

frame.setLocation(100, 100);

frame.setVisible(true);

}

}

原文:http://www.cnblogs.com/zhzhang/p/5720116.html

總結

以上是生活随笔為你收集整理的java转成图形界面_【转】java图形界面设计(AWT)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。