यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
GridLayout
बच्चों को एक ग्रिड में व्यवस्थित करता है: प्रत्येक पंक्ति का अपना भिन्न द्वारा स्तंभों का विभाजन होता है, और पंक्ति की ऊँचाई सबसे ऊँचे घटक से आती है। “लेबल : फ़ील्ड” फ़ॉर्म के लिए उत्तम।
🟡 · पैकेज:
dev.crossfly.ui.layout· विस्तार करता है:Layout
कब उपयोग करें
- स्थिर अनुपात के साथ संरेखित फ़ॉर्म (लेबल | फ़ील्ड)।
- सेल की सरल तालिकाएँ।
कब उपयोग न करें
- केवल एक स्तंभ → VerticalLayout।
- एक घटक को दूसरे से जोड़ना → RelativeLayout।
add(...) — हस्ताक्षर और अर्थ (क्रम पर ध्यान दें!)
public GridLayout add(Object... v) // सभी चौड़ाइयां, फिर सभी कॉम्पोनेंट
पहले सभी चौड़ाइयाँ पास करें, फिर सभी घटक (समान मात्रा):
| चौड़ाई | अर्थ |
|---|---|
> 0 (ex. 0.35f) |
ग्रिड की चौड़ाई का भिन्न (35%) |
LAY_AUTO (0f) |
स्वचालित चौड़ाई (सेल सामग्री के आकार का उपयोग करता है) |
कंस्ट्रक्टर
| कंस्ट्रक्टर | विवरण |
|---|---|
new GridLayout() |
संरेखण START/START |
new GridLayout(Position h, Position v) |
पंक्तियों का क्षैतिज/ऊर्ध्वाधर संरेखण |
पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
package com.exemplo;
import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
GridLayout form = new GridLayout(Position.START, Position.START);
// लेबल (35%) | फ़ील्ड (65%) — पहले चौड़ाइयां, फिर कॉम्पोनेंट:
form.add(0.35f, 0.65f, new Label("Nome"), new TextField(""));
form.add(0.35f, 0.65f, new Label("E-mail"), new TextField(""));
form.add(0.35f, 0.65f, new Label("Telefone"), new TextField(""));
Component painel = new Component();
painel.setLayout(form);
setLayout(new VerticalLayout(Position.START, Position.START));
add(LAY_AUTO, new Label("Cadastro"));
add(LAY_FILL, painel);
}
}
नीचे दिए गए अंश केवल मूल भाग दिखाते हैं (जो
onShow()के अंदर जाता है)। चलाने के लिए, उन्हें ऊपर दिए गएMainWindowढाँचे में रखें।
बुनियादी उपयोग
GridLayout form = new GridLayout(Position.START, Position.START);
// लेबल (35%) | फ़ील्ड (65%) — पहले चौड़ाइयां, फिर कॉम्पोनेंट:
form.add(0.35f, 0.65f, new Label("Nome"), new TextField(""));
form.add(0.35f, 0.65f, new Label("E-mail"), new TextField(""));
form.add(0.35f, 0.65f, new Label("Telefone"), new TextField(""));
Component painel = new Component();
painel.setLayout(form);
यह कैसे व्यवस्थित करता है
┌───────────┬──────────────────────┐
│ Nome (35%)│ [campo] (65%) │ ← linha 1
├───────────┼──────────────────────┤
│ E-mail │ [campo] │ ← linha 2
└───────────┴──────────────────────┘
अच्छी प्रथाएँ
- एक पंक्ति के भिन्न चौड़ाई को कवर करने के लिए ~1.0 जोड़ते हैं।
- पंक्तियों में अलग-अलग स्तंभ संख्याएँ हो सकती हैं (प्रत्येक
addएक पंक्ति परिभाषित करता है)।
सामान्य त्रुटियाँ
- चौड़ाई और घटक को मिलाना:
add(0.35f, label, 0.65f, field)→UIExceptionफेंकता है। सही हैadd(0.35f, 0.65f, label, field)(चौड़ाइयाँ एक साथ, फिर घटक)। - चौड़ाइयों की संख्या ≠ घटकों की संख्या →
UIException(cols*2 == args)।
यह भी देखें
क्या यह पृष्ठ उपयोगी था?प्रतिक्रिया के लिए धन्यवाद!