मुख्य सामग्री पर जाएँ
CrossFly 100% ओपन सोर्सGitHub पर फ़ॉलो करें
CrossFlyCrossFly
शुरू करें

यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।

Quickstart: Hello World

“यह काम करता है!” वाला क्षण। इस पृष्ठ के अंत तक आपके पास डेस्कटॉप पर चलता एक इंटरैक्टिव ऐप होगा।

संपूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)

अपनी मुख्य विंडो बनाएँ — dev.crossfly.ui.Window की एक सबक्लास:

package com.exemplo.app;

import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;

public class MainWindow extends Window {
   @Override
   public void onShow() throws Exception {
      super.onShow();                       // अनिवार्य: वैध bounds + onAdd ट्रिगर करता है
      setLayout(new VerticalLayout());

      Label saudacao = new Label("Olá, CrossFly!");
      Button botao = new Button("Clique");
      botao.onAction(c -> saudacao.setText("Você clicou!"));   // paint thread पर चलता है

      add(LAY_AUTO, saudacao);              // LAY_AUTO = प्राकृतिक ऊंचाई
      add(LAY_AUTO, botao);
   }
}

चलाएँ

gradlew :lwjgl3:run

एक विंडो टेक्स्ट और बटन के साथ खुलती है; क्लिक करने पर टेक्स्ट बदल जाता है। 🎉

वे 4 तथ्य जो बाकी सब कुछ थामे रखते हैं

  1. स्क्रीन = Window की सबक्लास। ऐप की हर स्क्रीन एक Window है।
  2. UI onShow() में बनती है, कंस्ट्रक्टर में नहीं (वहाँ bounds अभी मान्य नहीं होते) — और हमेशा super.onShow() के साथ।
  3. सब कुछ Component है और add(tamanho, comp) व्यवस्था को Layout को सौंप देता है (LAY_AUTO=प्राकृतिक, LAY_FILL=बची हुई जगह भरता है)।
  4. MainWindow को classname द्वारा इंगित किया जाता है (देखें प्रोजेक्ट की शारीरिक-रचना)।

कोई रिएक्टिव बाइंडिंग नहीं: क्लिक Label को म्यूटेट करता है (setText) — आप UI को हाथ से अपडेट करते हैं। यह CrossFly का इम्पेरेटिव मॉडल है (देखें स्टेट और डेटा फ़्लो)।

अगले कदम

→ आपका पहला ऐप (मार्गदर्शित, आद्योपांत)

यह भी देखें

क्या यह पृष्ठ उपयोगी था?