欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java swing和aet的區別

方一強1年前7瀏覽0評論

Java Swing 和 AWT 是 Java 提供的 GUI 工具包, 能夠方便地開發跨平臺的用戶界面, 但是 Java Swing 和 AWT 這幾十年來都沒有什么更新, 只是進行了少量的修補, 而且也存在一些局限性。

而 AWT 的問題是它的自然外觀。AWT 窗口使用本地機器的本地窗口管理器進行呈現,而 Java Swing 容器是托管的,意味著它根本不需要依靠本地機器來呈現。這使得 Java Swing 程序在不同操作系統上擁有一致的外觀感。

import javax.swing.*;
import java.awt.event.*;
public class JCalc extends JFrame implements ActionListener
{
JButton b1,b2,b3;
JTextField t1,t2,t3;
JLabel lbl1,lbl2,lbl3;
public JCalc()
{
super("JCalc"); setLocation(100,100);
setLayout(null);
lbl1 = new JLabel("First No");
lbl1.setBounds(50,50,70,20);
add(lbl1);
t1 = new JTextField(10);
t1.setBounds(130,50,100,20);
add(t1);
lbl2 = new JLabel("Second No");
lbl2.setBounds(50,80,70,20);
add(lbl2);
t2 = new JTextField(10);
t2.setBounds(130,80,100,20);
add(t2);
b1 = new JButton("Add");
b1.setBounds(50,110,80,20);
add(b1);
b1.addActionListener(this);
b2 = new JButton("Subtract");
b2.setBounds(140,110,80,20);
add(b2);
b2.addActionListener(this);
lbl3 = new JLabel("Result");
lbl3.setBounds(50,140,70,20);
add(lbl3);
t3 = new JTextField(10);
t3.setBounds(130,140,100,20);
add(t3);
b3 = new JButton("Clear");
b3.setBounds(100,170,80,20);
add(b3);
b3.addActionListener(this);
setSize(300,300);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
int no1 = Integer.parseInt(t1.getText());
int no2 = Integer.parseInt(t2.getText());
int ans = 0;
if(e.getSource() == b1)
ans = no1+no2;
else
ans = no1-no2;
t3.setText(""+ans);
if(e.getSource() == b3)
{
t1.setText("");
t2.setText("");
t3.setText("");
}
}
public static void main(String args[])
{
new JCalc();
}
}

與 AWT 不同,Swing 容器是輕量級的,這使得它們更符合早期的計算機(具有少量內存和周期的計算機)。輕量級意味著 Swing 程序將占用更少的內存并運行更快。Swing 容器的另一個有點在于,可以對其進行更多的自定義,從而增強了功能。

Java Swing 也可以用于創建圖形編輯器、CAD 應用、文檔編輯器、瀏覽器、音頻/視頻播放器等等應用程序。

總而言之,Java Swing 是一個功能強大,但相對陳舊和緩慢的框架。而 AWT 雖然使用本地機器管理器呈現窗口,但不便于跨平臺開發。所以,你可以根據你的需求來選擇使用哪種框架。