Boqijonov Azizbek Dasturlash-2 fanidan


Download 16.16 Kb.
Sana02.06.2024
Hajmi16.16 Kb.
#1838758
Bog'liq
Azizbek1


Boqijonov Azizbek
Dasturlash-2 fanidan
1-topshiriq: Java dasturlash tilining Swing moduli yordamida sodda kalkulyator yaratish.
Nazariy qism:
Java Swing Java Foundation Classes (JFC) ning bir qismi bo'lib,
Javada ish stoli ilovalarini yaratish uchun GUI komponentlari va
vositalari to'plamini taqdim etadi. Bu ishlab chiquvchilarga boy va
interaktiv grafik foydalanuvchi interfeyslarini yaratishga imkon
beruvchi kuchli ramka.
Java Swing bilan bog'liq ba'zi asosiy xususiyatlar va tushunchalar:
Yengil: Swing komponentlari butunlay Java-da amalga oshiriladi, bu
ularni platformadan mustaqil va engil qiladi. Ular asosiy operatsion
tizimning oyna tizimiga bog'liq emas.
MVC arxitekturasi: Swing Model-View-Controller (MVC) arxitektura
naqshiga amal qiladi. U UI komponentlarini (Ko‘rish) ilova
mantig‘idan (Model) ajratadi va ular orasidagi o‘zaro aloqalarni
boshqarish uchun kontrollerlarni taqdim etadi.
Komponentlarning boy to'plami: Swing GUI ilovalarini yaratish
uchun keng ko'lamli komponentlarni taklif etadi, jumladantugmalar, teglar, matn maydonlari, tasdiqlash qutilari, radio
tugmalar, ro'yxatlar, jadvallar, menyular va boshqalar. Ushbu
komponentlar maxsus talablarni qondirish uchun sozlanishi va
kengaytirilishi mumkin.
Layout menejerlari: Swing konteyner ichidagi tarkibiy qismlarni
tartibga solish va joylashtirish uchun turli xil tartib menejerlarini
taqdim etadi. Layout menejerlari mavjud bo'sh joy va belgilangan
qoidalar asosida komponentlarning avtomatik o'lchamlarini va
joylashishini boshqaradi.
Voqealarga asoslangan dasturlash: Swing ilovalari voqealarga
asoslangan, ya'ni ular tegishli kodni bajarish orqali foydalanuvchi
harakatlariga yoki tizim hodisalariga javob beradi. Tugmalarni
bosish, sichqoncha harakati va tugmachalarni bosish kabi hodisalar
voqealar tinglovchilari va qayta qo'ng'iroqlar yordamida
boshqarilishi mumkin.
Qarang va his eting: Swing turli xil UI mavzularini qo'llash orqali
ilovangizning ko'rinishini va hissiyotini o'zgartirishga imkon beradi.standart Java koʻrinishi va hissiyotini (Metal), shuningdek,
Windows, macOS va GTK kabi boshqa koʻrinish va his qilish
imkoniyatlarini qoʻllab-quvvatlaydi.
Xalqarolashtirish va qulaylik: Swing xalqarolashtirish (i18n) va
mahalliylashtirish (l10n) uchun yordam beradi, bu ilovalarni turli
tillarga osongina tarjima qilish imkonini beradi. Shuningdek, u GUI
ilovalarini nogironlar foydalanishi uchun qulaylik xususiyatlarini o'z
ichiga oladi.
Umuman olganda, Java Swing Java-da ish stoli ilovalarini yaratish
uchun ko'p qirrali va keng qo'llaniladigan GUI asboblar to'plamidir.
Zamonaviy Java UI rivojlanishi uchun u asosan JavaFX bilan
almashtirilgan bo'lsa-da, Swing hali ham eski ilovalar va muayyan
foydalanish holatlari uchun to'g'ri tanlov bo'lib qolmoqda.
Amaliy qism:
SimpleCalculator.java
import java.awt.*; import
java.awt.event.*; import javax.swing.*;public class Calculator extends JFrame implements ActionListener {
private JTextField textField1, textField2, resultField;
private JButton addButton, subtractButton, multiplyButton,
divideButton;
public Calculator() {
setTitle("Simple Calculator"); setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Font font = new Font("Arial", Font.BOLD, 24);
textField1 = new JTextField(20); textField2 = new
JTextField(10); resultField = new
JTextField(10); resultField.setEditable(false);
textField1.setFont(font); textField2.setFont(font);
resultField.setFont(font);
addButton = new JButton("+");
subtractButton = new JButton("-");
multiplyButton = new JButton("*"); divideButton
= new JButton("/"); addButton.setFont(font);
subtractButton.setFont(font);
multiplyButton.setFont(font);
divideButton.setFont(font);
addButton.addActionListener(this);
subtractButton.addActionListener(this);
multiplyButton.addActionListener(this);
divideButton.addActionListener(this);
// create a panel for the input fields
JPanel inputPanel = new JPanel();
inputPanel.setLayout(new BoxLayout(inputPanel,
BoxLayout.Y_AXIS)); inputPanel.add(newJLabel("Enter First Number:"));
inputPanel.add(textField1);
inputPanel.add(new JLabel("Enter Second Number:"));
inputPanel.add(textField2);
JPanel resultPanel = new JPanel();
resultPanel.setLayout(new BoxLayout(resultPanel,
BoxLayout.Y_AXIS)); resultPanel.add(new
JLabel("Result:"));
resultPanel.add(resultField);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
buttonPanel.add(addButton); buttonPanel.add(subtractButton);
buttonPanel.add(multiplyButton);
buttonPanel.add(divideButton);
JPanel calculatorPanel = new JPanel();
calculatorPanel.setLayout(new BoxLayout(calculatorPanel,
BoxLayout.Y_AXIS)); calculatorPanel.add(inputPanel);
calculatorPanel.add(resultPanel);
calculatorPanel.add(buttonPanel);
getContentPane().add(calculatorPanel);
pack();
setLocationRelativeTo(null);
} public void actionPerformed(ActionEvent e) {
double num1 = Double.parseDouble(textField1.getText());double num2 = Double.parseDouble(textField2.getText());
double result = 0;
if (e.getSource() == addButton) {
result = num1 + num2;
} else if (e.getSource() == subtractButton) {
result = num1 - num2;
} else if (e.getSource() == multiplyButton) {
result = num1 * num2;
} else if (e.getSource() == divideButton) { result
= num1 / num2;
}
resultField.setText(String.format("%.2f", result));
}
public static void main(String[] args) {
Calculator calc = new Calculator();
calc.setVisible(true); } }Chiqan Natijalar
1 . Yigindi
2. Ayirma
3. Kopaytma
4. Bolinma
Download 16.16 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling