JScrollPanel
görünüm genişliğini nasıl kısıtlayabilirim? Her durumda yatay kaydırma olmasını istemiyorum. Ben kendi JViewport
tedarik etmeye çalıştı ama bu çok yardımcı olmuyor. Ben maksimum genişliği alır tedarik JScrollPane
restrict JScrollPane görünüm genişliği
Container fpdp = ....
JScrollPane sp = new JScrollPane();
sp.setViewport(new WidthRestrictingViewport(fpdp));
sp.setViewportView(fpdp);
contents
örneğini oluşturmak
private static class WidthRestrictingViewport extends JViewport {
private Container contents;
public WidthRestrictingViewport(final Container cnts) {
contents = cnts;
}
@Override
public Dimension getPreferredSize() {
if (getParent() instanceof JScrollPane) {
JScrollPane sp = (JScrollPane) getParent();
return new Dimension(sp.getWidth(), contents.getHeight());
}
return super.getPreferredSize();
}
@Override
public Dimension getMaximumSize() {
return getPreferredSize();
}
}
Ve kod, ancak genişliği en fazla JScrollPane
genişliği böylece yatay kaydırma alışkanlık gerçekleşmesi olmak istiyorum. Neyi yanlış yapıyorum?
Soruyu anlamıyorum. "JScrollPane" in içeriği ile daha ne zaman o zaman 'JScrollPane' gerçek boyutu ne olmalıdır. Sadece kesilmiş mi? Bu durumda sadece kaydırma çubuğunu görünmez yapmayı düşünebilirsiniz (JScrollPane # getHorizontalScrollBar # setVisible (false) '); – Robin
@Robin, Kesilmez. Bölme genişliğini kaydırmak için görünüm genişliğini daraltın. Sadece sınır düzeni ve içeriği merkeze yerleştirilmiş panelleri hayal edin. Ancak bu durumda, sadece içeriğin genişliği, panelin genişliği ve içeriği ile sınırlıdır. Yükseklik, ihtiyaç duyulduğu kadar büyüyebilir (kaydırma çubuğu ekleyerek). –
'JViewPort' un sorumluluğunun, elde edebileceği genişlikle ilgili kısıtlamalar koyma sorumluluğunu taşıdığını düşünmüyorum, bu daha çok görüntünün kendisidir. ['Scrollabe'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/Scrollable.html) arayüzüne, özellikle [' Scrollable # getScrollableTracksViewportWidth'] 'a bakın (http : //docs.oracle.com/javase/7/docs/api/javax/swing/Scrollable.html#getScrollableTracksViewportWidth%28%29) – MadProgrammer