真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java代碼swing java代碼例子

java中的swing什么意思

swing的意思:

十載建站經(jīng)驗(yàn), 成都做網(wǎng)站、成都網(wǎng)站制作客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)公司提供完善的營銷型網(wǎng)頁建站明細(xì)報(bào)價(jià)表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

v.(使)擺動(dòng),搖擺,搖蕩;縱身躍向;蕩向;懸吊到;(使)弧線運(yùn)動(dòng),轉(zhuǎn)彎,轉(zhuǎn)動(dòng)。

n.擺動(dòng);揮動(dòng);轉(zhuǎn)動(dòng);強(qiáng)勁節(jié)奏;改變;改變的程度;秋千。

1、讀音:英 [sw??],美 [sw??]。

2、固定搭配:

The Swing 秋千 ; 裁縫 ; 搖擺樂 ; 全揮桿教學(xué)。

Swing Shift 小迷糊的情淚 ; 小夜班 ; 中班 ; 小迷糊情淚。

Full swing 如火如荼 ; 高揮桿 ; 全力揮拍 ; 達(dá)到活動(dòng)的高潮。

Swing Copters 搖擺直升機(jī) ; 搖搖欲墜 ; 晃飛機(jī) ; 旋轉(zhuǎn)直升機(jī)。

3、例句:

I like to swing.

我喜歡蕩秋千。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

擴(kuò)展資料?

swing的過去式:swung,詞匯解釋如下:

1、釋義:

v.(使)擺動(dòng),搖擺,搖蕩;縱身躍向;蕩向;懸吊到;(使)弧線運(yùn)動(dòng),轉(zhuǎn)彎,轉(zhuǎn)動(dòng)。

2、讀音:英 [sw??],美 [sw??]。

3、例句:

The?door?swung?open?again,?spilling?light?into?the?cell.

門再次打開了,光照亮了小屋。

java求一下用swing寫的代碼

幫你寫好了!不懂追問!

import?javax.swing.BorderFactory;

import?javax.swing.JButton;

import?javax.swing.JFrame;

import?javax.swing.JLabel;

import?javax.swing.JPanel;

import?javax.swing.JTextField;

public?class?Login??extends??JPanel?{?

public?Login(){

setLayout(null);

JPanel?panel=new?JPanel();

panel.setLayout(null);

panel.setBorder(BorderFactory.createTitledBorder("登陸"));

panel.setBounds(10,?10,?310,?120);

add(panel);

JLabel?nameLabel=new?JLabel("姓名");

nameLabel.setBounds(15,?30,?40,?25);

panel.add(nameLabel);

JTextField?nameTextField=new?JTextField();

nameTextField.setBounds(55,30,240,30);

panel.add(nameTextField);

JLabel?pwdLabel=new?JLabel("密碼");

pwdLabel.setBounds(15,?70,?40,?25);

panel.add(pwdLabel);

JTextField?pwdTextField=new?JTextField();

pwdTextField.setBounds(55,70,240,30);

panel.add(pwdTextField);

JButton?ok=new?JButton("確定");

ok.setBounds(100,?170,?70,30);

add(ok);

JButton?cancel=new?JButton("取消");

cancel.setBounds(175,?170,?70,30);

add(cancel);

}

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

JPanel?p=new?Login();

JFrame?jf=new?JFrame("用戶登陸");

jf.add(p);

jf.setLocation(500,100);

jf.setSize(350,?250);

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

利用 Java Swing 實(shí)現(xiàn)游戲開發(fā)

Swing初體驗(yàn) 對(duì)于想學(xué)習(xí)Swing編程的朋友 我們特地為大家準(zhǔn)備了一些小竅門 首先 下載并閱讀代碼是極有必要的 由于這是一篇關(guān)于Swing的教程 所以 我們只是盡可能講解一些與Swing有關(guān)的內(nèi)容 與Swing無關(guān)的內(nèi)容一般不會(huì)涉及 例如算法部分 其次 受篇幅限制 也不可能在這里將每部分代碼都寫得完完整整的 所以 大家也需要對(duì)照完整代碼來看 最后 為了使大家更容易把精力集中在Swing學(xué)習(xí)上 我們也將游戲開發(fā)中所需資源放在下載文件中 大家下載后便能夠編譯運(yùn)行 看到執(zhí)行結(jié)果 (下載游戲源文件) 頂層容器 什么是頂層容器?當(dāng)我們使用Java進(jìn)行圖形編程的時(shí)候 圖在哪里繪制呢?我們需要一個(gè)能夠提供圖形繪制的容器 這個(gè)容器就被稱為頂層容器 你也可以把它想象成一個(gè)窗口 頂層容器是進(jìn)行圖形編程的基礎(chǔ) 一切圖形化的東西 都必然包括在頂層容器中 在Swing中 我們有三種可以使用的頂層容器 它們分別是:JFrame:用來設(shè)計(jì)類似于Windows系統(tǒng)中的窗口形式的應(yīng)用程序 JDialog:和JFrame類似 只不過JDialog是用來設(shè)計(jì)對(duì)話框 JApplet:用來設(shè)計(jì)可以在嵌入在網(wǎng)頁中的Java小程序 如果需要使用Swing制作一個(gè)窗口類程序 我們的代碼看起來應(yīng)該是這樣:import javax swing *;public class KyodaiUIextends JFrame {……} 控件 控件是構(gòu)成應(yīng)用程序界面的基本元素 按鈕 文本框 進(jìn)度條等 這些都是控件 控件(這里我們只討論可視化控件)又可以分為容器控件和非容器控件 從字面意義上來理解 容器控件就是能包含其他控件的特殊控件 例如 Java中的JPanel控件就屬于容器型控件 我們可以在JPanel中放置按鈕 文本框等非容器控件 你甚至可以在JPanel中再放置若干個(gè)JPanel控件(值得注意的是 頂層容器也是容器型控件 每一個(gè)窗口應(yīng)用程序中有且只能有一個(gè)頂層容器控件 換句話說 頂層容器不能包括在其他的控件中) Java中的容器控件有很多 除剛才提到的JPanel外 還有JTabbedPane JScrollPane等 非容器控件有JButton JLabel JTextField等 如果你需要向某個(gè)容器型的控件中添加控件 你可以使用 add(Component p) 方法來實(shí)現(xiàn) 如:JPanel panel = new JPanel();JButton button = new JButton();panel add(button); 布局 什么是布局?布局是Java中用來控制控件排列位置的一種界面管理系統(tǒng) 使用過其他可視化編程開發(fā)語言的人在初次接觸Java界面設(shè)計(jì)時(shí) 總會(huì)感覺到Java界面設(shè)計(jì)很別扭:居然沒有提供所見即所得的設(shè)置控件坐標(biāo)的方法!然而 事實(shí)證明 Java本身提供的布局管理系統(tǒng)也一樣能夠出色地完成我們的需要 而且在跨平臺(tái)時(shí)表現(xiàn)得更有優(yōu)勢 常用的布局有:BorderLayout:將界面分割為上下左右以及中間一塊區(qū)域的管理系統(tǒng) 在BorderLayout布局中 最多你只能放 個(gè)控件 如果超過 個(gè)控件 建議還是選用其他的布局系統(tǒng)吧 GridLayout:GridLayout是將用戶界面切割為棋盤一樣的布局管理系統(tǒng) 如果我們要設(shè)計(jì)一個(gè)類似于Windows中自帶的計(jì)算器軟件 GridLayout無疑是最佳選擇 FlowLayout:FlowLayout與上述兩類布局管理系統(tǒng)不太一樣 在FlowLayout中 你不必指定每個(gè)控件放在哪 你只需要把控件加入到FlowLayout中 FlowLayout就會(huì)根據(jù)你添加控件的順序依次放置控件 如果空間不夠 會(huì)自動(dòng)換行 在對(duì)這幾個(gè)布局管理系統(tǒng)有了基本認(rèn)識(shí)后 我們就一起來進(jìn)入界面設(shè)計(jì)吧 在仔細(xì)觀察了QQ游戲中 連連看 的設(shè)定后 我們可以發(fā)現(xiàn) 整個(gè)界面分為三個(gè)區(qū) 頂部是系統(tǒng)菜單區(qū) 占地面積最大的是用戶游戲區(qū) 另外還有一個(gè)用戶交互區(qū) 每個(gè)區(qū)域中都由若干控件組成 這么多控件 我們從哪開始入手呢?由于容器控件中可以放置其他控件 因此 我們只需要先確定放置的容器控件就可以了 既然已經(jīng)知道需要使用容器控件的個(gè)數(shù) 接下來讓我們就進(jìn)入布局管理系統(tǒng)的選擇 用GridLayout?似乎有點(diǎn)勉強(qiáng) 用FlowLayout?還有更好的選擇嗎?對(duì)了 我想你一定想到了是BorderLayout吧 如下圖 所示 動(dòng)手之前 大家一定要注意的是 界面的設(shè)計(jì)要先考慮好尺寸 不管是主程序界面的大小還是每個(gè)區(qū)域的大小 如果沒有設(shè)計(jì)好合適的尺寸 將來改動(dòng)起來會(huì)十分痛苦 下面便是相應(yīng)的源程序:import java awt *;import javax swing *;public class KyodaiUI extends JFrame {public KyodaiUI() {this setSize( ); //將窗體的大小設(shè)定為 * this setDefaultCloseOperation(JFrame EXIT_ON_CLOSE);this setResizable(false); //窗體不能改變大小this setTitle( 連連看 ); //設(shè)置標(biāo)題JPanel toolBar = new JPanel();toolBar setBackground(Color white);toolBar setPreferredSize(new Dimension( ));JPanel actionPanel = new JPanel(); //新建JPanel型的控件actionPanel setBackground(Color yellow); //設(shè)置背景色actionPanel setPreferredSize(new Dimension( )); //設(shè)置大小JPanel contentPanel = new JPanel();contentPanel setBackground(Color blue);contentPanel setPreferredSize(new Dimension( ));this getContentPane() add(toolBar BorderLayout NORTH);this getContentPane() add(actionPanel BorderLayout EAST);this getContentPane() add(contentPanel BorderLayout CENTER);}public static void main(String[] args) throws HeadlessException {KyodaiUI kyodaiUI = new KyodaiUI();kyodaiUI show();}}讓我們來看看上面這段程序是如何運(yùn)行的 首先 extends JFrame表明了這是從JFrame中繼承過來的 JFrame是最基本的頂層容器控件 實(shí)際上 在JDK中 以字母J打頭的控件都是Swing控件 然后設(shè)置了容器的屬性 其中 setDefaultCloseOperation(JFrame EXIT_ON_CLOSE)是用來告訴Java虛擬機(jī) 當(dāng)用戶點(diǎn)擊窗體右上角的 關(guān)閉 按鈕時(shí) 關(guān)閉該窗口進(jìn)程 如果不這么做的話 你會(huì)發(fā)現(xiàn)雖然你可以點(diǎn)將窗口關(guān)閉 然而程序卻沒有退出 在接下來的代碼中 我們?yōu)轫攲尤萜魈砑恿巳齻€(gè)Panel容器 要注意的是 在AWT中 我們可以直接寫為add(toolBar BorderLayout NORTH) 而在 Swing 中卻一定要寫成getContentPane() add(toolBar BorderLayout NORTH) 否則程序就會(huì)出錯(cuò) 現(xiàn)在大家可以放在編譯運(yùn)行看看 是不是和我的運(yùn)行結(jié)果一樣(見圖 )? 邊框 雖然我們使用了不同前景色來區(qū)別不同的區(qū)域 然而卻沒有層次感 加上邊框一定會(huì)漂亮許多 在Java中 所有以J打頭的Swing控件都可以使用setBorder方法來為自己設(shè)置邊框 邊框有很多種 線型 凸起 凹下 空的 你甚至可以自由組合形成個(gè)人風(fēng)格 所有的Border都必須使用javax swing BorderFactory中提供的靜態(tài)方法來創(chuàng)建 比如:Border border = BorderFactory createBevelBorder(BevelBorder LOWERED new Color( ) new Color( ) new Color( ) new Color( ));現(xiàn)在 我們將toolBar setBackground(Color white)改為toolBar setBorder(border) 立體效果是不是已經(jīng)出現(xiàn)了?實(shí)戰(zhàn)??寫上自己的大名現(xiàn)在我們已經(jīng)有了一個(gè)能夠運(yùn)行的界面了 雖然它什么也做不了 但是請(qǐng)你別慌 羅馬不是一天建成的 現(xiàn)在讓我們在菜單區(qū)提供一個(gè) 關(guān)于 菜單 用來顯示程序的信息 難道你不想讓別人知道你的大名嗎?Swing本身就提供了現(xiàn)成的按鈕控件JButton 我們只需要?jiǎng)?chuàng)建一個(gè)新的按鈕:JButton about = new JButton( 關(guān)于 );這個(gè)按鈕該怎么放到菜單區(qū)而不是別的地方呢?我們可以加入下面的代碼:toolBar add(about);咦 怎么點(diǎn)按鈕沒有反應(yīng)?這是因?yàn)槟氵€沒有告訴程序點(diǎn)擊按鈕時(shí)要做什么事情呢 要為按鈕添加事件響應(yīng) 首先需要使用about addActionListener(this)來告訴程序監(jiān)聽按鈕按下時(shí)的事件 由于ActionListener是一個(gè)程序接口 因此 我們在類的申明的地方也得做一點(diǎn)小小的修改:public class KyodaiUI extends JFrame implements ActionListener { }實(shí)現(xiàn)ActionListener接口是為了告訴程序我要進(jìn)行事件處理了 當(dāng)然 最后我們得添加響應(yīng)事件的代碼:public void actionPerformed(ActionEvent e) {if (e getSource() == about) {JOptionPane showMessageDialog(this 我的大名 關(guān)于 JOptionPane INFORMATION_MESSAGE);return ;}}其中 e getSource() 表示當(dāng)前觸發(fā)事件的控件 由于我們的程序中往往會(huì)有多個(gè)以上的控件 這些控件都有可能產(chǎn)生事件 所以我們必須使用這個(gè)方法來找到產(chǎn)生事情的控件 小結(jié) 讓我們一起來回顧一下今天所學(xué)的內(nèi)容:首先我們了解了頂層容器 也知道了控件分為容器控件和非容器控件 同時(shí)還知道使用邊框 最后 我們還小小的處理了一下按鈕的事件 學(xué)而時(shí)習(xí)之 不亦說乎 就讓我留點(diǎn)小小的作業(yè) 幫助大家鞏固一下今天所學(xué)的內(nèi)容:上面我們添加的按鈕在菜單欄的中間 并不美觀 lishixinzhi/Article/program/Java/hx/201311/25907

Java很神奇 用swing制作歡迎屏幕

幾乎所有時(shí)髦的應(yīng)用都有一個(gè)歡迎屏幕 歡迎屏幕既是宣傳產(chǎn)品的方法之一 而且在長時(shí)間的應(yīng)用啟動(dòng)過程中 歡迎屏幕還用來表示應(yīng)用正在準(zhǔn)備過程中 現(xiàn)在教你怎么用java中的swing技術(shù)制作一個(gè)時(shí)髦的歡迎屏幕

下面是一個(gè)最簡單的歡迎屏幕實(shí)現(xiàn)

Java代碼

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

setVisible(true);

screenSize = null;

labelSize = null;

}

}

SplashWindow 類從Swing的JWindow派生 JWindow是一個(gè)容器 它沒有其他窗口所具有的各種窗口元素 如標(biāo)題條 窗口管理按鈕 甚至連突出顯示的邊框也沒有 因此 JWindow對(duì)于制作歡迎屏幕來說是非常合適的 上面的代碼假定圖形文件在當(dāng)前目錄 圖形通過ImageIcon裝入內(nèi)存 然后它就被放到了JWindow的中心 接著 窗口被pack() 這使得Swing把窗口調(diào)整到適當(dāng)?shù)拇笮?最后窗口被移到了屏幕的中心

如果我們運(yùn)行上面的程序 可以發(fā)現(xiàn)雖然歡迎畫面確實(shí)出現(xiàn)在屏幕中央 但遺憾的 它卻不會(huì)關(guān)閉!要關(guān)閉歡迎畫面 我們需要加入更多的代碼 Java代碼

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

addMouseListener(new MouseAdapter()

{

public void mousePressed(MouseEvent e)

{

setVisible(false);

dispose();

}

});

setVisible(true);

}

}

和原先的SplashWindow 類相比 這個(gè)SplashWindow 類唯一的區(qū)別在于多出了一個(gè)安裝到JWindow上的匿名MouseListener 經(jīng)過這個(gè)改動(dòng)之后 用戶可以點(diǎn)擊歡迎屏幕關(guān)閉它

現(xiàn)在我們有了一個(gè)很不錯(cuò)的歡迎屏幕 它可以通過點(diǎn)擊的方法關(guān)閉 但它不會(huì)自己消失 接下來我們要加入代碼 使得歡迎屏幕在顯示一定的時(shí)間之后自動(dòng)消失 這里我們要考慮到運(yùn)用線程

Java代碼

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f int waitTime)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

addMouseListener(new MouseAdapter()

{

public void mousePressed(MouseEvent e)

{

setVisible(false);

dispose();

}

});

final int pause = waitTime;

final Runnable closerRunner = new Runnable()

{

public void run()

{

setVisible(false);

dispose();

}

};

Runnable waitRunner = new Runnable()

{

public void run()

{

try

{

Thread sleep(pause);

SwingUtilities invokeAndWait(closerRunner);

}

catch(Exception e)

{

e printStackTrace();

// 能夠捕獲InvocationTargetException

// 能夠捕獲InterruptedException

}

}

};

setVisible(true);

Thread splashThread = new Thread(waitRunner SplashThread );

splashThread start();

}

}

這里的基本思路是利用一個(gè)在一定時(shí)間內(nèi)暫停等待的Thread對(duì)象 在上面的代碼中 線程的暫停時(shí)間是 秒 當(dāng)這個(gè)線程喚醒時(shí) 它將關(guān)閉歡迎屏幕 由于Swing是非線程安全的 除非代碼在事件分派線程上執(zhí)行 否則它就不應(yīng)該影響任何UI組件的狀態(tài) 所謂事件分派線程 就是Swing中負(fù)責(zé)繪圖和事件處理的線程

為了解決這個(gè)問題 Swing設(shè)計(jì)者賦予我們安全地把Runnable對(duì)象加入U(xiǎn)I事件隊(duì)列的能力 在本例中 我們用可運(yùn)行對(duì)象closerRunner完成最關(guān)鍵的工作 我們把可運(yùn)行對(duì)象傳入SwingUtilities invokeAndWait()靜態(tài)方法 然后wingUtilities invokeAndWait()進(jìn)行所有未完成的UI操作 并執(zhí)行傳遞給該方法的可運(yùn)行對(duì)象closerRunner的run方法 通過運(yùn)用一個(gè)獨(dú)立的線程負(fù)責(zé)歡迎屏幕的關(guān)閉操作 應(yīng)用擔(dān)負(fù)起了顯示和關(guān)閉歡迎屏幕之間的所有操作

如果要讓歡迎屏幕總是顯示且用戶不能關(guān)閉它 你必須刪除那些隱藏歡迎屏幕的代碼 如果要讓歡迎屏幕只能由用戶手工關(guān)閉 你可以象使用任何其他JWindow對(duì)象一樣調(diào)用SplashWindow 對(duì)象上的setVisible(false)和dispose()方法

lishixinzhi/Article/program/Java/hx/201311/26872


當(dāng)前標(biāo)題:java代碼swing java代碼例子
網(wǎng)頁鏈接:http://weahome.cn/article/hjeodc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部