本文目錄一覽:
- 1、java的Swing是輕量級組件,輕量級組件是什麼意思?
- 2、java中的swing用法
- 3、JAVA初學者:swing是什麼
- 4、java裡面的swing組件是什麼東西?
- 5、java中swing 全稱
java的Swing是輕量級組件,輕量級組件是什麼意思?
一、輕量級組件是用java代碼畫出來的,這樣具有平台移植性
重量級組件是調用系統的函數畫出來的組件,比如主窗體
一般來說盡量用輕量級的組件,這樣對程序的移植性很好。
一般java.swing包里的組件大部分是輕量級的,java.awt裡面的是重量級的。
swing是由100%純java實現的,swing組件是用java實現的輕量級組件,沒有本地代碼
不依賴操作系統的支持,這是與AWT組件的最大組別。由於AWT組件通過與具體平台的
對等類(peer)實現,因此Swing比AWT組件具有更強的實用性。Swing在不同的
平台上表現一致,並且有能力提供本地窗口系統不支持的其它特性。
二、總的來說就是
重量級組件:對應運行平台必須存在一個對應的組件.
輕量級組件:在一個虛擬的畫布上畫出來的組件(所以swing較慢),所有輕量級組件”最終”要放到重量級組件(jframe,jdialog)中.由於是畫出來所以能做到各種平台上一致的表現.同樣,如果混合重量級組件和輕量級組件容易引起重疊上的衝突.
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; iuserData.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;iuserData.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;iuserData.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
其實最好是用資料庫
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.getCrossPlatformLookAndFeelClassName( )); }
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);}
java裡面的swing組件是什麼東西?
是一種b/s結構的,做的是桌面程序的,但是Java的swing不是很好,Java強打的是網頁,所以一般很少用到swing
java中swing 全稱
swing就是全稱
awt是abstract window toolkit的簡寫,但是swing沒有
swing的意思是:
1 搖擺; 擺動
2 擺動的幅度; 擺動的範圍
The pendulum’s swing is 12 inches. 鐘擺的擺動幅度是十二寸
3 手臂揮動產生的打擊
4 揮動 (球棒, 高爾夫球棒等物) 的姿勢
5 (態度, 地位, 狀況的) 改變
a swing to conservation 轉趨保守
6 自由的行為
The children have free swing in deciding what color to paint their room.孩子可自行決定房間油漆的顏色
7 a. 優雅的移動
has a swing to her walk 走路搖曳生姿
b. 前後擺動
the swing of a bird across the sky 鳥在空中的飛行
8 (可以回到原點的) 路線, 行程
a swing across the state while campaigning 競選時在州內的循環活動
9 鞦韆
10 正常步調
back in the swing 回歸正常
11 (詩的) 音律
12 股市行情的起伏
13 『音樂』
a. 搖擺樂
1935 年以爵士為基礎發展而成的流行舞曲, 旋律較簡單
b. 放搖擺樂舞曲的舞廳
c. 輕妙的節奏
看來swing有很多有意思的地方,或許開發者開發swing組件的時候就看上了哪條吧~
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/189038.html