क्या जावा स्विंग में ग्रिडलेआउट घटक के पहलू अनुपात को लॉक करने का कोई आसान तरीका है? या यह उस लेआउट वाले जेपीनल पर किया जाना चाहिए?जावा में ग्रिडलाउट के पहलू अनुपात को कैसे लॉक करें?
5
A
उत्तर
7
GridLayout
प्रभावी रूप से एक घटक के पसंदीदा आकार पर ध्यान नहीं देता है, लेकिन के रूप में इस example में दिखाया गया है जो कुछ भी, paintComponent()
में तैयार की है आप की aspect ratio नियंत्रित कर सकते हैं। प्रस्तुत आकार परिपत्र (1: 1 पहलू) रहता है, जबकि (लगभग) संकीर्ण आयाम में कंटेनर भरना। प्रभाव देखने के लिए फ्रेम का आकार बदलें।
परिशिष्ट: उदाहरण के लिए, मैंने N * N
CirclePanel
के उदाहरण GridLayout
पर दिए गए उदाहरणों को जोड़ा।
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
/**
* @see https://stackoverflow.com/a/9858355/230513
* @see https://stackoverflow.com/a/3538279/230513
*/
public class SwingPaint {
private static final int N = 4;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.setLayout(new GridLayout(N, N));
for (int i = 0; i < N * N; i++) {
frame.add(new CirclePanel());
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
});
}
private static class CirclePanel extends JPanel {
private static final Random r = new Random();
public CirclePanel() {
this.setPreferredSize(new Dimension(80, 80));
this.setForeground(new Color(r.nextInt()));
this.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
CirclePanel.this.update();
}
});
}
public void update() {
this.setForeground(new Color(r.nextInt()));
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Dimension size = this.getSize();
int d = Math.min(size.width, size.height) - 10;
int x = (size.width - d)/2;
int y = (size.height - d)/2;
g.fillOval(x, y, d, d);
g.setColor(Color.blue);
g.drawOval(x, y, d, d);
}
}
}
संबंधित मुद्दे
- 1. पहलू अनुपात
- 2. पहलू अनुपात
- 3. पहलू अनुपात
- 4. पहलू अनुपात
- 5. यूट्यूब वीडियो पहलू अनुपात
- 6. क्यूटी: अपने पहलू अनुपात
- 7. मूल पहलू अनुपात
- 8. पहलू अनुपात और चौड़ाई
- 9. एक निश्चित पहलू अनुपात
- 10. पहलू अनुपात और चौड़ाई
- 11. webrtc - वेबकैम के पहलू अनुपात
- 12. जावा ग्रिडलाउट
- 13. बिटमैप ड्रायबल में पहलू अनुपात कैसे रखें
- 14. क्विवर प्लॉट तीर पहलू अनुपात
- 15. libGDX में विभिन्न पहलू अनुपात से निपटने के लिए कैसे?
- 16. उत्तल झुकाव के पहलू अनुपात का आकलन
- 17. पृष्ठभूमि छवि स्केलिंग पहलू अनुपात को बनाए रखने के दौरान
- 18. एंड्रॉइड के पहलू अनुपात को कैसे संरक्षित करें: ExpandableListView में समूह इंडिकेटर?
- 19. निर्धारित करने के लिए कैसे जो पहलू अनुपात करीब हैं
- 20. मैं matplotlib में पहलू अनुपात कैसे सेट कर सकता हूं?
- 21. एंड्रॉइड: मीडियाप्लेयर वीडियो पहलू अनुपात मुद्दा
- 22. पहलू अनुपात को सही ढंग से रखने के साथ ज़ूम कैसे करें
- 23. मैं आर के चमकदार पैकेज में चार्ट के पहलू अनुपात को सशर्त रूप से कैसे बदलूं?
- 24. एक मेहेड सतह के त्रिकोण के पहलू अनुपात
- 25. जावा स्विंग ग्रिडलाउट "सेल अवधि"?
- 26. छवि मैगिक परिवर्तन पहलू अनुपात छवि को स्केल किए बिना
- 27. एंड्रॉइड कैमरा पूर्वावलोकन: 1: 1 पहलू अनुपात, कैसे?
- 28. खिड़की में फिट करने के लिए एक div स्केल करें लेकिन पहलू अनुपात
- 29. कोकोस 2 डी और नया आईफोन 5 पहलू अनुपात
- 30. पोर्ट्रेट अभिविन्यास छवियों पर छवि की चौड़ाई सीमित करें/पहलू अनुपात को संरक्षित करें
वहाँ कुछ है जिसके लिए आप किसी भी उदाहरण के लिए, मुझे आश्चर्य है कि नहीं है हो गया है !!!! :-) –
मैं [एसएससीई] (http://sscce.org/) का प्रशंसक हूं। :-) – trashgod
ठीक है, तो सामग्री पेंट कॉम्पोनेंट में किया जाना चाहिए। चारों ओर खेल रहे थे, अभी भी इस मुद्दे को हल किया है। फिलहाल, मैं अपने ग्रिड को मध्यस्थ जेननेल (जेपीनल -> मध्यवर्ती जेपीनेल -> ग्रिडलाउट) में डाल रहा हूं। मैं जड़ जेननेल के पेंट कॉम्पोनेंट में इस मध्यस्थ जेननेल के आकार को नियंत्रित करने की कोशिश कर रहा हूं। उसके बारे में तुम क्या महसूस कर रहे हो ? हैवेन्ट ने अभी तक काम किया था ... – Jerome