Boqijonov Azizbek Dasturlash-2 fanidan
Download 16.16 Kb.
|
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
ma'muriyatiga murojaat qiling