導航:首頁 > 編程語言 > javaswing總結

javaswing總結

發布時間:2023-09-18 04:51:34

A. java awt;java applet;java swing分別是什麼他們之間有什麼聯系和區別

Applet 是嵌入網頁的小程序
awt和swing里的都是GUI圖形所需的類
awt和SWING沒什麼區別
唯一的區別就是awt沒有swing強大(比如:awt里的按鈕不能添加圖片,而swing里的按鈕可以添加) awt是SUN的失敗品,所以後來才弄了個swing
祝你成功!

B. java的awt和swing有什麼不同呢

awt和swing的區別:

1.awt是基於本地方法的C/C++程序,其運行速度比較快;

而swing是基於awt的Java程序,其運行速度比較慢。

2.AWT的控制項在不同的平台可能表現不同,而Swing在所有平台表現一致。

3.AWT和Swing的實現原理不同。

AWT的圖形函數與操作系統提供的圖形函數有著一一對應的關系。

而Swing 不僅提供了AWT 的所有功能,還用純粹的Java代碼對AWT的功能進行了大幅度的擴充。

4.awt是抽象窗口組件工具包,是 java 最早的用於編寫圖形節目應用程序的開發包;

但swing是為了解決awt存在的問題而新開發的包,它以awt為基礎的。

(2)javaswing總結擴展閱讀:

在實際應用中,應該使用AWT還是Swing取決於應用程序所部署的平台類型。

對於一個嵌入式應用,目標平台的硬體資源往往非常有限,而應用程序的運行速度又是項目中至關重要的因素。

在這種矛盾的情況下,簡單而高效的AWT當然成了嵌入式Java的第一選擇。

在普通的基於PC或者是工作站的標准Java應用中,硬體資源對應用程序所造成的限制往往不是項目中的關鍵因素。

所以在標准版的Java中則提倡使用Swing, 即通過犧牲速度來實現應用程序的功能。

C. java中的swing用法

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class TestRegister extends JDialog {

// setup the variable
String name="";
String password="";
JLabel nameL,passwordL;
JTextField nameArea;
JPasswordField passwordArea;
JButton register,login,cancel;
ArrayList <User> userData = new ArrayList <User>();

public static void main(String[] args) {
TestRegister test = new TestRegister();
test.setupLayout();

}

public void setupLayout(){
this.setBounds(300, 200,280,120);
this.setTitle("Register");
this.setResizable(false);
this.setModal(true);
setupTypeArea();
this.getData();
this.setVisible(true);
}

public void setupTypeArea(){
JPanel typeArea = new JPanel();
typeArea.setLayout(new FlowLayout());
nameL = new JLabel("name: ");
passwordL = new JLabel("password: ");

nameArea = new JTextField(15);
passwordArea = new JPasswordField(15);

typeArea.add(nameL);
typeArea.add(nameArea);
typeArea.add(passwordL);
typeArea.add(passwordArea);

this.add(typeArea);

JPanel buttonArea = new JPanel();
register = this.addButton("Register", buttonArea);
login = this.addButton("Login", buttonArea);
cancel = this.addButton("Cancel", buttonArea);

this.add(buttonArea,BorderLayout.SOUTH);

}

public JButton addButton(String name,JPanel panel){
JButton temp = new JButton(name);
temp.addActionListener(new ButtonMonitor());
panel.add(temp);
return temp;
}

public void showMessage(String m){
JOptionPane.showMessageDialog(this, m);
}

public void getData(){
try {
Scanner input = new Scanner(new FileReader("D:/data.txt"));
while(input.hasNextLine()){
this.addUser(input.nextLine());
}
} catch (FileNotFoundException e) {
return;
}
}

public void addUser(String data){
String [] s = data.split(" ");
String name = s[0];
String password = s[1];
userData.add(new User(name,password));
}

public void updateData(){
try {
FileWriter saver = new FileWriter("D:/data.txt");
String data = "";
for(int i=0; i<userData.size();i++){
data += userData.get(i).toString()+"\n";
}
saver.write(data);
saver.close();
} catch (IOException e) {
return;
}
}

public void doRegister(){
String name = nameArea.getText();
String password = passwordArea.getText();
if(!name.isEmpty()&!password.isEmpty()){
for(int i=0;i<userData.size();i++){
if(name.equals(userData.get(i).getName())){
String m = "這個用戶名已經注冊!!";
this.showMessage(m);
doCancel();
return;
}
}
userData.add(new User(name,password));
updateData();
doCancel();

}
else{
String m="用戶名或者密碼是空!!!";
this.showMessage(m);
doCancel();
}
}

public void doLogin(){
String name = nameArea.getText();
String password = passwordArea.getText();
for(int i=0;i<userData.size();i++){
if(name.equals(userData.get(i).getName())&&password.equals(userData.get(i).getPassword())){
String m = "登陸成功";
this.showMessage(m);
this.doCancel();
return;
}
}
String m ="用戶名和密碼不匹配!!";
this.showMessage(m);
this.doCancel();

}

public void doCancel(){
nameArea.setText("");
passwordArea.setText("");
}

class ButtonMonitor implements ActionListener{

public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("Register")){
doRegister();
}else if(e.getActionCommand().equals("Login")){
doLogin();
}else if(e.getActionCommand().equals("Cancel")){
doCancel();
}
}

}

class User{

String name;
String password;

public User(String name, String password) {

this.name = name;
this.password = password;
}

public String getName() {
return name;
}

public String getPassword() {
return password;
}

public String toString(){
return name+" "+password;
}

}

}
給你隨便寫了一下。。。簡單登陸用的話用JDialog就夠了不必要用JFrame
其實最好是用資料庫

D. 誰能詳細介紹一下java swing里的JTable JTree是怎樣用的以及他們的方法!

Swing是由100%純Java實現的,Swing組件是用Java實現的輕量級( light-weight)組件,沒有本地代碼,不依賴操作系統的支持,這是它與AWT組件的最大區別。由於AWT組件通過與具體平台相關的對等類(Peer)實現,因此Swing比AWT組件具有更強的實用性。Swing在不同的平台上表現一致,並且有能力提供本地窗口系統不支持的其它特性。

Swing採用了一種MVC的設計範式,即"模型-視圖-控制"(Model-View-Controller),其中模型用來保存內容,視圖用來顯示內容,控制器用來控制用戶輸入。

在AWT組件中,由於控制組件外觀的對等類與具體平台相關,使得AWT組件總是只有與本機相關的外觀。Swing使得程序在一個平台上運行時能夠有不同的外觀。用戶可以選擇自己習慣的外觀。

7.1.2 Swing的類層次結構

在javax.swing包中,定義了兩種類型的組件:頂層容器(JFrame,JApplet,JDialog和JWindow)和輕量級組件。Swing組件都是AWT的Container類的直接子類和間接子類。

java.awt.Component
-java.awt.Container
-java.awt.Window
-java.awt.Frame-javax.swing.JFrame
-javax.Dialog-javax.swing.JDialog
-javax.swing.JWindow
-java.awt.Applet-javax.swing.JApplet
-javax.swing.Box
-javax.swing.Jcomponet

swing包是Swing提供的最大包,它包含將近100個類和25個介面,幾乎所有的Swing組件都在swing包中,只有JtableHeader和 JtextComponent是例外,它們分別在swing.table和swing.text中。
swing.border包中定義了事件和事件監聽器類,與AWT的event包類似。它們都包括事件類和監聽器介面。
swing.pending包包含了沒有完全實現的Swing組件。
swing.table包中主要包括了表格組建(JTable)的支持類。
swing.tree同樣是JTree的支持類。
swing.text、swing.text.html、swing.text.html.parser和swing.text.rtf都是用於顯示和編輯文檔的包。

E. JAVA初學者:swing是什麼

看看這個就知道了
Java應用程序用戶界面開發包
Swing是一個用於開發Java應用程序用戶界面的開發工具包。它以抽象窗口工具包(AWT)為基礎使跨平台應用程序可以使用任何可插拔的外觀風格。Swing開發人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創建優雅的用戶界面。
工具包中所有的包都是以swing作為名稱,例如javax.swing,javax.swing.event
用Swing創建圖形界面步驟:
(1)導入Swing包
(2)選擇界面風格
(3)設置頂層容器
(4)設置按鈕和標簽
(5)將組件放到容器上
(6)為組件增加邊框
(7)處理事件
(8)輔助技術支持
1。導入Swing包
下面語句導入Swing包
import javax.swing.*;
大部分Swing程序用到了AWT的基礎底層結構和事件模型,因此需要導入兩個包:
import java.awt.*;
import java.awt.event.*;
如果圖形界面中包括了事件處理,那麼還需要導入事件處理包:
import javax.swing.event.*;
2.選擇界面風格
Swing允許選擇程序的圖形界面風格常用的有java風格,windows風格等
下面的代碼用於選擇圖形界面風格,這里選擇的是跨平台的Java界面風格。
try { UIManager.setLookAndFeel(
UIManager.( )); }
catch (Exception e) { }
(3) 設置頂層容器
圖形界面至少要有一個頂級Swing容器
頂級Swing容器為其它Swing組件在屏幕上的繪制和處理事件提供支持
常用的頂級容器:
JFrame(框架):表示主程序窗口
JDialog(對話框):每個JDialog對象表示一個對話框,對話框屬於二級窗口
JApplet(小程序):在瀏覽器內顯示一個小程序界面
一個框架包括邊界、菜單欄、工具欄、狀態欄,以及中間佔主要部分的窗格
窗格也可以看作是一種面板,但它是框架的一個組成部分
組件不會直接放到框架上,而是放在若干個面板上,這些面板再放到窗格上
用框架對象的getContentPane()函數來獲得窗格,再調用窗格的add()函數放置面板
public static void main(String[ ]args){JFrame frame=new JFrame("SwingApplication");
JPanel panel1=new JPanel();
frame.getContentPane().add(panel1,BorderLayout.CENTER);
......//添加其他組件
frame.pack();frame.setVisible(true);}

F. java swing組件的優點有哪些

Java Swing組件的復特點:

1、Swing的實現是一個小型制GUI框架,該框架無基本平台依賴性,而在AWT實現中卻有依賴性。

2、javax.swing.JComponent類是所有Swing組件的基類。

3、Swing模型的目標是要遵循模型-視圖-控制器體系結構。模型封裝了數據和狀態的底層表示。

4、javax.swing.plaf包提供了一個介面和許多抽象類用於定義可插入的外觀框架。預設的外觀由javax.swing.plaf.basic包中的類實現。

G. java的swing組件的使用

Swing是用於圖形用戶界面開發的一個全面解決方案,包括250多個類,在這里不能一一列出。本書僅使用Swing用戶界面。
1.標 簽 2.按 鈕 3.文本域 4.文本區 5.列表框 6.組合框
7.復選框 8.單選按鈕 9.滾動條 10.選項卡 11.對話框 12.菜 單
1.標 簽
標簽類JLabel是用於顯示文字或圖標的簡單組件。JLabel的構造方法包括:
public JLabel()
public JLabel(Icon icon)
public JLabel(Icon icon, int horizontalAlignment)
public JLabel(String text)
public JLabel(String text, Icon icon, int horizontalAlignment)
public JLabel(String text, int horizontalAlignment)
在構造方法中,text指定標簽的文字,icon指定標簽的圖標,horizontalAlignment指定文本或圖標的水平對齊方式。
JLabel實例維護的屬性包括:
表8.3 JLabel的屬性 屬性名
數據類型
訪問
預設值

disabledIcon
Icon
SG
灰色過濾圖標

displayedMnemonic
Int
SG
——

horizontalAlignment
Int
CSG
LEFT

horizontalTextPosition
Int
SG
RIGHT

Icon
Icon
CSG
null

iconTextGap
Int
SG
4個像素

labelFor
Component
SG
null

Text
String
CSG
「」

verticalAlignment
Int
SG
CENTER

verticalTextPosition
int
SG
CENTER

註:在訪問中,C=可在構造時設置/G=獲取方法/S=設置方法
disabledIcon:標簽被禁用時顯示的圖標。
displayedMnemonic:設置LabelFor屬性後顯示的助記符。
horizontalAlignment:標簽內容的水平對齊方式。取值包括:SwingConstants.LEFT、SwingConstants.RIGHT和SwingConstants.CENTER。
horizontalTextPosition:文本相對於圖標的水平位置;與水平對齊方式的有效值相同。
icon:標簽在啟用時顯示的圖標。
iconTextGap:標簽的文本與圖標之間的間隙,以像素點為單位。
labelFor:一個組件,它在標簽的助記符被鍵入時獲得焦點。
Text:標簽顯示的文本。
verticalAlignment:標簽內容的垂直對齊方式。取值包括:SwingConstants.TOP、SwingConstants.BOTTOM和SwingConstants.CENTER。

閱讀全文

與javaswing總結相關的資料

熱點內容
數據計算屬於什麼統計學 瀏覽:921
07word怎麼去掉標記 瀏覽:979
qq緩存的數據是什麼 瀏覽:348
LED主Kv文件多少兆 瀏覽:856
蘋果edge怎麼刪除下載文件 瀏覽:471
sas邏輯回歸代碼 瀏覽:572
用於keil下的stc器件資料庫 瀏覽:400
新聞網站後台如何操作前台 瀏覽:539
在剪映app中怎麼查看視頻尺寸 瀏覽:9
linux文件成分包括 瀏覽:886
文件轉換免費的軟體 瀏覽:644
linuxwpsxlsx 瀏覽:482
小米手機怎麼上移動網路連接失敗怎麼辦 瀏覽:598
win10系統打開java 瀏覽:479
全日制編程什麼意思 瀏覽:447
筆記本創建區域網怎麼傳文件 瀏覽:871
怎樣查看id密碼 瀏覽:647
贛州極客晨星少兒編程怎麼樣 瀏覽:690
覺醒年代哪個app可以免費觀看 瀏覽:830
如何關閉win10觸摸屏幕 瀏覽:761

友情鏈接