Rumah >Java >javaTutorial >Rangka Kerja GUI Java

Rangka Kerja GUI Java

王林
王林asal
2024-08-30 15:08:53665semak imbas

GUI ditakrifkan sebagai antara muka yang mempunyai komponen mesra pengguna seperti butang, medan teks, dll. untuk menjadikan pengguna berinteraksi dengan perisian dengan mudah. Dalam Antara Muka Pengguna Grafik, tindakan yang akan dilakukan dilambangkan dengan menggunakan grafik atau gambar kecil. Di sini, tumpuan adalah pada tindakan pengguna. Pengguna boleh berinteraksi dengan menggunakan tetikus untuk memilih tindakan yang akan dilakukan dengan mengklik pada grafik tertentu. Sebagai contoh, jika pengguna ingin mencetak fail, apa yang dia perlu lakukan ialah mengklik pada grafik kecil yang menggambarkan pencetak. Dalam topik ini, kita akan belajar tentang Rangka Kerja GUI Java.

IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Rangka kerja AWT Java

AWT ialah API untuk membina GUI atau aplikasi berasaskan tetingkap.

Ia mempunyai pelbagai komponen seperti Butang, Medan Teks, Kotak Semak, Senarai.

AWT memanggil subrutin sistem pengendalian untuk mencipta komponen seperti kotak teks, kotak semak, butang. Itulah sebabnya ia bergantung pada platform.

Beberapa konsep asas berkenaan hierarki AWT adalah seperti berikut:

  • Bekas: Bekas ialah kelas yang mengandungi semua komponen seperti butang, medan teks, bar tajuk, bar menu, dll.
  • Komponen: Komponen ialah objek GUI seperti butang, label, medan teks, senarai semak.
  • Panel: Panel ialah kelas kontena. Ia mewujudkan ruang untuk aplikasi di mana semua komponen boleh dimuatkan. Ia mewarisi kelas kontena. Panel tidak mengandungi bar menu atau bar tajuk di dalamnya tetapi boleh mengandungi komponen lain seperti medan teks, butang.
  • Bingkai: Bingkai ialah kelas kontena. Ia mengandungi bar menu dan bar tajuk serta boleh mengandungi komponen lain juga.

Program untuk AWT:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class AWTCalculator extends Frame implements ActionListener
{
Label label1,label2,label3;
TextField text1,text2,text3;
Button button1,button2,button3,button4,button5;
public AWTCalculator()
{
label1 = new Label("Var 1");
label2 = new Label("Var 2");
label3 = new Label("Result");
text1 = new TextField(10);
text2 = new TextField(10);
text3 = new TextField(10);
button1 = new Button("Add");
button2 = new Button("Sub");
button3 = new Button("Multi");
button4 = new Button("Div");
button5 = new Button("Close");
add(label1);
add(text1);
add(label2);
add(text2);
add(label3);
add(text3);
add(button1);
add(button2);
add(button3);
add(button4);
add(button5);
setSize(200,200);
setTitle("AWTCalculator");
setLayout(new FlowLayout());
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
button5.addActionListener(this);
}
public void actionPerformed(ActionEvent action) {
double a1=0,b1=0,c1=0;
try
{
a1 = Double.parseDouble(text1.getText());
}
catch (NumberFormatException e) {
text1.setText("Invalid input entered");
}
try
{
b1 = Double.parseDouble(text2.getText());
}
catch (NumberFormatException e) {
text2.setText("Invalid input entered");
}
if(action.getSource()==button1)
{
c1 = a1 + b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button2)
{
c1 = a1 - b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button3)
{
c1 = a1 * b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button4)
{
c1 = a1 / b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource() == button5)
{
System.exit(0);
}
}
public static void main(String[] args)
{
AWTCalculator calC = new AWTCalculator();
calC.setVisible(true);
calC.setLocation(300,300);
}
}

Output:

Rangka Kerja GUI Java

Rangka Kerja GUI Java

Swing Java Framework

  • Java swing bukan peletakan untuk abstract window Toolkit(AWT). Ia adalah peningkatan berbanding api sedia ada AWT kerana ciri bebas platformnya.
  • AWT dan Swing adalah serupa dengan kebanyakan komponen AWT mempunyai komponen yang sepadan dalam ayunan.
  • Adalah disyorkan walaupun AWT harus dihadkan hanya kepada mekanisme pengendalian acara dan penciptaan dan pemaparan komponen UI hendaklah dilakukan hanya menggunakan hayunan.

Berikut ialah sebab yang menarik untuk menggunakan Java swing:

  • Set komponen yang kaya memudahkan usaha pembangun.
  • Buat asal/Buat semula sokongan terbina dalam untuk komponen.
  • Perenderan grafik 2D lebih mudah
  • Tampilan dan rasa boleh pasang (boleh disesuaikan).

1. Corak reka bentuk Model-View-Controller(MVC) untuk pemaparan UI yang fleksibel

Kod:

import javax.swing.JButton;
import javax.swing.JFrame;
public class JButtonDemo {
JButtonDemo(){
JFrame newFrame=new JFrame();
// Creating Button
JButton b=new JButton("Click"); b.setBounds(50,50,90,50);
//Adding button onto the frame
newFrame.add(b);
// Setting Frame size. This is the window size newFrame.setSize(300,200);
newFrame.setLayout(null); newFrame.setVisible(true);
newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) { new JButtonDemo();
}
}

Output:

Rangka Kerja GUI Java

2. Menambah imej pada butang

Kod:

import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; public class JButtonDemo {
JButtonDemo(){
JFrame newFrame=new JFrame(); Icon icon = new ImageIcon("edit.png");
// Creating Button
JButton b=new JButton(icon); b.setBounds(50,50,90,50);
//Adding button onto the frame newFrame.add(b);
// Setting Frame size. This is the window size
newFrame.setSize(300,200);
newFrame.setLayout(null); newFrame.setVisible(true);
newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) { new JButtonDemo();
}
}

Output:

Rangka Kerja GUI Java

Rangka Kerja Lain

Qt Jambi

Pembungkus java ke perpustakaan qt asli yang ditulis dalam c/c++.

Ia sangat berkuasa, digunakan secara meluas dan diterima. Mempunyai banyak komponen GUI dan API yang mudah digunakan.

SWT

Dicipta oleh IBM untuk Eclipse, mereka nampaknya berpendapat Swing tidak sesuai untuk Eclipse pada masa itu.

Dengan sendirinya adalah tahap rendah, dan ia menggunakan widget asli platform melalui JNI. Ia tidak berkaitan dengan Swing dan AWT sama sekali.

SWT ialah kit alat widget sumber terbuka untuk Java yang direka bentuk untuk menyediakan akses mudah alih yang cekap kepada kemudahan antara muka pengguna sistem pengendalian yang mana ia dilaksanakan.

Pasi Apache

Ia memaparkan UI menggunakan Java2D, sekali gus meminimumkan kesan warisan (IMO, kembung) Swing dan AWT.

Fokus utamanya nampaknya tertumpu pada RIA (Aplikasi internet yang kaya), tetapi nampaknya ia juga boleh digunakan pada aplikasi desktop.

JGoodies

JGoodies OTOH ialah mengenai PLAF dan susun atur.

JavaFX

Keunggulan terbaru Java/Oracle. menjanjikan untuk menjadi standard facto dalam membangunkan desktop atau aplikasi web yang kaya.

Atas ialah kandungan terperinci Rangka Kerja GUI Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:compareTo JavaArtikel seterusnya:compareTo Java