आप टेक्स्ट फ़ील्ड जो वास्तव में है करने के लिए प्राप्त कर सकते हैं एक JFormattedTextField
द्वारा
- पहले स्पिनर के संपादक पाने के लिए अपने JSpinner पर
getEditor()
बुला
JSpinner.DefaultEditor
- को लौट वस्तु डाली तो
getTextField()
फोन इस पर। फिर वांछित अगर आप इसे पसंदीदा आकार सेट कर सकते हैं।
संपादित करें: जैसा कि ट्रैशगोड द्वारा नोट किया गया है, उचित लेआउट का उपयोग करना सर्वोपरि है और यह सुनिश्चित करना कि आपके द्वारा उपयोग किए जाने वाले लेआउट सबसे अच्छे हैं, शायद इस समस्या को हल करने का सबसे अच्छा तरीका है।
संपादित करें 2: उपरोक्त गलत है क्योंकि टेक्स्टफील्ड के पसंदीदा आकार को कुछ भी नहीं करता है। हालांकि आप संपादक के पसंदीदा आकार को स्वयं सेट कर सकते हैं, और यह काम करता है। उदा।,
import java.awt.Dimension;
import javax.swing.*;
public class SpinnerBigTextField {
private static void createAndShowGui() {
JSpinner spinner = new JSpinner(new SpinnerNumberModel(0.0, 0.0, 999.0,
0.5));
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(300, 100));
panel.add(spinner);
JComponent field = ((JSpinner.DefaultEditor) spinner.getEditor());
Dimension prefSize = field.getPreferredSize();
prefSize = new Dimension(200, prefSize.height);
field.setPreferredSize(prefSize);
JFrame frame = new JFrame("SpinnerBigTextField");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(panel);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}
स्रोत
2011-09-10 21:02:10
कंटेनर का लेआउट क्या है जिसमें आप स्पिनर डालते हैं? एक [एसएससीई] (http://sscce.org/) आदर्श होगा। – trashgod
मैंने अपना जवाब हटा दिया जब परीक्षण किया गया यह सादा गलत था। –