मैं अगले कोड मिल गया है:jScrollPane और JList ऑटो स्क्रॉल
listModel = new DefaultListModel();
listModel.addElement(dateFormat.format(new Date()) + ": Msg1");
messageList = new JList(listModel);
messageList.setLayoutOrientation(JList.VERTICAL);
messageScrollList = new JScrollPane(messageList);
messageScrollList.setPreferredSize(new Dimension(500, 200));
messageScrollList.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
e.getAdjustable().setValue(e.getAdjustable().getMaximum());
}
});
यह ऑटो स्क्रॉल नीचे। लेकिन, अगर मैं एक संदेश को फिर से पढ़ने के लिए बैक अप लेने का प्रयास करता हूं, तो यह एक स्क्रॉल को मजबूर करता है। मैं इसे कैसे ठीक कर सकता हूं?
समायोजन प्रकार दोनों मामलों में समान है। अगर कोई संदेश जोड़ा जाता है तो मैंने इसे स्क्रॉल करने की कोशिश की है। लेकिन अगर मैं ऐसा करता हूं, तो अंतिम जोड़ा गया संदेश दिखाई नहीं दे रहा है। यह पर्याप्त नीचे स्क्रॉल नहीं करता है। मैं इसे कैसे हल कर सकता हूं? – dododedodonl
हम्म ... ठीक है, एक चीज जो आप कर सकते हैं वह एक बूलियन वैरिएबल होगा जहां आप सूची में कुछ जोड़ते हैं। फिर, अपने हैंडलर में आप यह देखने के लिए जांचते हैं कि चर सेट है या नहीं। यदि ऐसा है, तो आप समायोजन (और चर को अनसेट करें) अन्यथा, आप इसे अनदेखा करते हैं। इस तरह, सूची में प्रति आइटम केवल एक स्क्रॉल-डाउन जोड़ा जाएगा। –