Java Swing 圖形界面開發(fā)

一: 前言

java swing是一個(gè)用于開發(fā)java圖形界面應(yīng)用程序的開發(fā)工具包。它是以抽象窗口工具包(AWT)為基礎(chǔ),使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。swing開發(fā)人員通過使用少量的代碼,就可以利用swing包中豐富、靈活的功能和模塊化組件類來開發(fā)出令人滿意的用戶界面了。接下來我們會(huì)用相關(guān)的例子來演示如何使用 java swing 開發(fā)圖形界面。

二 :示例

1.0 ?如下圖 a 所示,制作一個(gè)計(jì)算器。

a

制作一個(gè)桌面的計(jì)算器。

代碼如下:

package com.Swing.DeLongYang;

import javax.swing.*;

import java.awt.*;

//? 主要是布局嵌套

public class LayoutNesting extends JFrame {

//

public LayoutNesting(){

this.setBounds(50,50,250,250);

Container c=this.getContentPane();

JPanel panTop=new JPanel(new BorderLayout());

JPanel panMiddle= new JPanel(new GridLayout(4, 4, 10, 10));

JPanel panButtom= new JPanel(new FlowLayout(FlowLayout.CENTER));

// 布局頂部

panTop.add(new JTextField("計(jì)算結(jié)果"),BorderLayout.EAST);

panTop.add(new JButton("計(jì)算"),BorderLayout.WEST);

c.add(panTop, BorderLayout.NORTH);

// 布局中部

String []s="7,8,9,+,-,*,/,4,5,6,1,2,3,.".split(",");

for (int i=0; i<s.length;i++){

panMiddle.add(new JButton(s[i]));

}

c.add(panMiddle, BorderLayout.CENTER);

// 布局底部

panButtom.add(new JButton("關(guān)于產(chǎn)品"));

c.add(panButtom, BorderLayout.SOUTH);//

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args){

new LayoutNesting()

}

}

運(yùn)行就會(huì)出現(xiàn)這樣的 計(jì)算器界面。

2.0 ?制作一個(gè)簡(jiǎn)單的登錄界面

如下圖b 所示。

b


代碼如下。

package com.Swing.DeLongYang;

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class LoginFrame extends JFrame{

JLabel lable=new JLabel("用戶名");

JTextField userNameTextField=new JTextField();

JLabel passLable= new JLabel("密碼");

JTextField passTextField=new JTextField();

JButton loginBtn=new JButton("登錄");

JButton exitBtn=new JButton("關(guān)閉");

public LoginFrame(){

this.setBounds(50,50,250,150);

Container c=this.getContentPane();

c.setLayout(new GridLayout(3, 2, 10, 10));

c.add(lable);

c.add(userNameTextField);

c.add(passLable);

c.add(passTextField);

c.add(loginBtn);

c.add(exitBtn);

loginBtn.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

String name=userNameTextField.getText();

String pass=passTextField.getText();

if(name.equals("Tom")&&pass.equals("123")){

System.out.println("登錄成功");

}else{

System.out.println("用戶名或者密碼錯(cuò)誤");

}

}

});

exitBtn.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

System.exit(0);

}

});

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args){

new LoginFrame();

}

}

運(yùn)行結(jié)果 想必 你已經(jīng)從代碼中看出來了。 如果輸入 Tom 和 123 就會(huì)有登錄成功輸出

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,724評(píng)論 19 139
  • /** 記事本程序* 編寫時(shí)間:2010.3.12*/import java.awt.BorderLayout;i...
    霙愔閱讀 608評(píng)論 0 2
  • 面向?qū)ο笾饕槍?duì)面向過程。 面向過程的基本單元是函數(shù)。 什么是對(duì)象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,228評(píng)論 0 4
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,900評(píng)論 18 399
  • 今天主要在 2 方面優(yōu)化 Klib. 本地化支持 利益于 Kindle Mate 作者提供的真實(shí)的、奇怪的用戶筆記...
    ITJason閱讀 161評(píng)論 0 0

友情鏈接更多精彩內(nèi)容