मैं जावा स्विंग में एक आभासी पियानो प्रकार कार्यक्रम बना रहा हूं। पियानो चाबी के लिए मेरे क्षेत्र अभी सफेद कुंजी के रूप में सफेद JButtons युक्त एक क्षैतिज BoxLayout के साथ एक JPanel है। मैं काले चाबियाँ भी जोड़ना चाहता हूं, और उन्हें सफेद कुंजी ओवरलैप कराना चाहता हूं।बनाना JButtons ओवरलैप
दो अलग दृष्टिकोण मैं कोशिश की है रहे हैं। एक ओवरलेलेआउट का उपयोग कर रहा है। दुर्भाग्य से ओवरलेलेआउट प्रबंधक के लिए ऑनलाइन अधिक दस्तावेज नहीं है, और यह नेटबीन जीयूआई बिल्डर में उपलब्ध नहीं है। मेरे पास कोई संकेत नहीं है कि इसे कैसे काम करें। मैंने जो दूसरी चीज कोशिश की है वह जेलेयरपेन्स का उपयोग कर रही है। नेटबीन्स में इसके साथ गड़बड़ करने के बाद भी मुझे लगता है कि एक भी बाहर नहीं है।
तो मुझे लगता है मेरे सवाल का बहुत सरल है। अन्य JButtons के शीर्ष पर JButtons जोड़ने के लिए, यदि कोई है, तो सबसे अच्छा तरीका क्या है? या शायद पियानो कुंजी के लिए JButtons का उपयोग करने का एक विकल्प है?
संपादित
मैं संयोजित कर दी है aioobe की और परिणाम मैं चाहता था पाने के लिए dacwe के कोड। मैंने मूल रूप से एओबेब के मूल आयामों (थोड़ा सा बढ़ाया गया) और मोड 7 भाग के साथ डैकवे के जेड-ऑर्डरिंग का भी उपयोग किया। मैंने चीजों को और स्पष्ट करने के लिए कुछ चर भी जोड़े। मेरे पास अब यही है।
import javax.swing.*;
import java.awt.Color;
public class Test2 {
public static void main(String[] args) {
JFrame frame = new JFrame("Test");
JLayeredPane panel = new JLayeredPane();
frame.add(panel);
int maxKeys = 8;
int width = 60;
int height = 240;
for (int i = 0; i < maxKeys; i++) {
JButton b = new JButton();
b.setBackground(Color.WHITE);
b.setLocation(i * width, 0);
b.setSize(width, height);
panel.add(b, 0, -1);
}
int width2 = 48;
int height2 = 140;
for (int i = 0; i < maxKeys; i++) {
int j = i % 7;
if (j == 2 || j == 6)
continue;
JButton b = new JButton();
b.setBackground(Color.BLACK);
b.setLocation(i*(width) + (width2*3/4), 0);
b.setSize(width2, height2);
panel.add(b, 1, -1);
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,280);
frame.setVisible(true);
}
}
धन्यवाद दोस्तों! अब मुझे किसी भी तरह से इन बटनों पर श्रोता और पाठ संलग्न करने की आवश्यकता है।
घटक जेड आदेश गड़बड़ कर रहे हैं !! – dacwe
आपको लगता है? मुझे लगता है कि यह अच्छा लग रहा है ... :) – aioobe
एहह, संकलित और चलाया और माउस पर ले जाया गया ... यह फिर से प्रस्तुत किए जाने पर गलत क्रम में बटन प्रस्तुत करेगा। – dacwe