मैंने अपने बटन को ग्रिडलाउट के साथ जेपीन में रखा। तब मैंने जेपीनेल को BoxLayout.Y_AXIS के साथ एक और जेपीनेल में रखा। मैं ग्रिडलाउट में बटन स्क्वायर होना चाहता हूं। मैं tmp.setSize (30,30) का उपयोग करता हूं और यह काम नहीं करता है। मैं new GridLayout(X, Y, 4, 4)
का उपयोग करने का भी प्रयास करता हूं लेकिन मैं यह नहीं समझ सकता कि एक्स और वाई क्या हैं। तो, इस सामान को करने का सही तरीका क्या है?मैं एक बटन का आकार कैसे सेट कर सकता हूं?
जोड़ा:
मैं अभी भी समस्या का समाधान नहीं कर सकते हैं। यहाँ मैं क्या करना है कोशिश कर रहा हूँ के कोड है:
import javax.swing.*;
import java.awt.*;
public class PanelModel {
public static void main(String[] args) {
JFrame frame = new JFrame("Colored Trails");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
JPanel firstPanel = new JPanel();
firstPanel.setLayout(new GridLayout(4, 4));
JButton btn;
for (int i=1; i<=4; i++) {
for (int j=1; j<=4; j++) {
btn = new JButton();
btn.setPreferredSize(new Dimension(100, 100));
firstPanel.add(btn);
}
}
JPanel secondPanel = new JPanel();
secondPanel.setLayout(new GridLayout(5, 13));
for (int i=1; i<=5; i++) {
for (int j=1; j<=13; j++) {
btn = new JButton();
btn.setPreferredSize(new Dimension(40, 40));
secondPanel.add(btn);
}
}
mainPanel.add(firstPanel);
mainPanel.add(secondPanel);
frame.add(mainPanel);
frame.setSize(400,600);
frame.setVisible(true);
}
}
समस्या यह है कि जावा firstPanel
और secondPanel
बराबर की चौड़ाई बनाने की कोशिश करता है! इसके अलावा, जावा खिड़की की सभी ऊंचाई को भरने की कोशिश करता है। मैं इस व्यवहार को कैसे हटा सकता हूं?
मैंने इस कोड को आजमाया। यह काम करता हैं। लेकिन अगर मैं अपने कार्यक्रम में एक ही विचार को लागू करने की कोशिश करता हूं, तो यह काम नहीं करता है। मुझे लगता है कि कारण यह है कि मैं अपने जेपीनल (ग्रिडलाउट के साथ) को अन्य जेपीनल (BoxLayout.Y_AXIS के साथ) में शामिल करता हूं। – Roman
@Roman यदि आप अधिक विशिष्ट सहायता चाहते हैं तो आपको कुछ नमूना कोड पोस्ट करने की आवश्यकता होगी! अनुरोध के अनुसार – Kris
, मैंने कोड पोस्ट किया। – Roman