logo

Урок за Java Swing

Урок за Java Swing е част от Java Foundation Classes (JFC), т.е използвани за създаване на прозоречни приложения . Той е изграден върху AWT (Abstract Windowing Toolkit) API и е изцяло написан на java.

За разлика от AWT, Java Swing предоставя независими от платформата и леки компоненти.

Пакетът javax.swing предоставя класове за API на java swing като JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser и др.

булева алгебра на закона за разпределение

Разлика между AWT и Swing

Има много разлики между java awt и swing, които са дадени по-долу.

Не.Java AWTJava Swing
1)Компонентите на AWT са зависим от платформата .Java swing компонентите са независима от платформата .
2)Компонентите на AWT са тежка категория .Компонентите на люлка са лек .
3)AWT не поддържа външен вид и усещане за включване .Люлка поддържа външен вид и усещане за включване .
4)AWT предоставя по-малко компоненти отколкото Swing.Swing осигурява по-мощни компоненти като таблици, списъци, scrollpanes, colorchooser, tabbedpane и др.
5)AWT не следва MVC (Model View Controller), където моделът представлява данни, изгледът представлява презентация, а контролерът действа като интерфейс между модел и изглед.Люлка следва MVC .

Какво е JFC

Java Foundation Classes (JFC) са набор от GUI компоненти, които опростяват разработката на десктоп приложения.

Знаеш ли
  • Как да създадете изпълняваем jar файл в java?
  • Как да покажа изображение на бутон в swing?
  • Как да промените цвета на компонента, като изберете цвят от ColorChooser?
  • Как да покажа дигиталния часовник в урока за swing?
  • Как да създадете бележник в swing?
  • Как да създадете пъзел игра и pic пъзел игра в swing?
  • Как да създадете tic tac toe игра в swing?

Йерархия на класовете на Java Swing

Йерархията на API на java swing е дадена по-долу.

regex java
йерархия на javax swing

Често използвани методи на клас компоненти

Методите на класа Component са широко използвани в java swing, които са дадени по-долу.

МетодОписание
публично празно добавяне (компонент c)добавете компонент към друг компонент.
public void setSize(int ширина,int височина)задава размера на компонента.
public void setLayout(LayoutManager m)задава мениджъра на оформлението за компонента.
public void setVisible(boolean b)задава видимостта на компонента. По подразбиране е невярно.

Примери за Java Swing

Има два начина за създаване на рамка:

  • Чрез създаване на обект на клас Frame (асоциация)
  • Чрез разширяване на клас Frame (наследяване)

Можем да напишем кода на swing вътре в main(), конструктора или всеки друг метод.


Прост пример за Java Swing

Нека да видим прост пример за въртене, където създаваме един бутон и го добавяме към обекта JFrame вътре в метода main().

приоритет на java оператора

Файл: FirstSwingExample.java

 import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f=new JFrame();//creating instance of JFrame JButton b=new JButton('click');//creating instance of JButton b.setBounds(130,100,100, 40);//x axis, y axis, width, height f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } } 

Пример за Swing чрез асоцииране вътре в конструктора

Можем също така да напишем всички кодове за създаване на JFrame, JButton и извикване на метод в конструктора на Java.

Файл: Simple.java

сортиране на купчина
 import javax.swing.*; public class Simple { JFrame f; Simple(){ f=new JFrame();//creating instance of JFrame JButton b=new JButton('click');//creating instance of JButton b.setBounds(130,100,100, 40); f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } public static void main(String[] args) { new Simple(); } } 

SetBounds(int xaxis, int yaxis, int width, int height) се използва в горния пример, който задава позицията на бутона.


Прост пример за Swing чрез наследяване

Можем също да наследим класа JFrame, така че няма нужда да създаваме изрично екземпляра на класа JFrame.

Файл: Simple2.java

 import javax.swing.*; public class Simple2 extends JFrame{//inheriting JFrame JFrame f; Simple2(){ JButton b=new JButton('click');//create button b.setBounds(130,100,100, 40); add(b);//adding button on frame setSize(400,500); setLayout(null); setVisible(true); } public static void main(String[] args) { new Simple2(); }} 
изтеглете този пример Какво ще научим в Swing Tutorial
  • Клас JButton
  • Клас JRadioButton
  • Клас JTextArea
  • JComboBox клас
  • Клас JTable
  • Клас JColorChooser
  • Клас JProgressBar
  • Клас JSlider
  • Цифров часовник
  • Графика в движение
  • Показване на изображение
  • Редактирайте кода на менюто за Notepad
  • OpenDialog Box
  • Бележник
  • Пъзел игра
  • Снимка Пъзел игра
  • Игра Tic Tac Toe
  • BorderLayout
  • GridLayout
  • FlowLayout
  • CardLayout