3

フレームのサイズが変更されてリスト自体に対して小さすぎるときはいつでも、スクロールバーを JList に表示したいと考えています。これまでのところ、これは私が持っているコードです。これを実行してフレームのサイズを変更すると、JList にスクロールバーが表示されないことに注意してください。

import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;


public class JListScroll extends JPanel{

JScrollPane listScrollPane;

public JListScroll() {
    String[] stringArray = {"Testing","This","Stuff"};
    JList<String> rowList = new JList<String>(stringArray);
    listScrollPane = new JScrollPane();
    listScrollPane.getViewport().setView(rowList);
    this.setSize(new Dimension(75,200));
    this.add(listScrollPane);
    this.doLayout();
}

public static void main(String[] args){
    JFrame frame = new JFrame();
    JListScroll scrollPanel = new JListScroll();
    frame.add(scrollPanel);
    frame.setVisible(true);
    frame.setSize(new Dimension(75,300));
}

}

JScrollPane が追加されているのに、ウィンドウが非常に小さくなるとリストにスクロール バーが表示されないことに注目してください。これは私が修正したいものです。

前もって感謝します!

4

2 に答える 2

2

メソッドを使用して、(垂直)スクロールバーの可視性を強制できますlistScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS)

于 2013-04-12T20:21:10.740 に答える