01/10/2018, 09:26
Không hiển thị JScrollPane
Mình đã tạo một scrollpane cho list và đã add vào frame, nhưng khi chạy lại không hiển thị scroll. Các bạn sửa giúp mình với.
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
public class Test extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
@SuppressWarnings("unused")
Test t = new Test();
}
public Test() {
this.setSize(300, 170);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Test");
String[] toppings = { "xxx", "xxx", "xxx", "xxx", "xxx", "xxx", "xxx", "xxx", "xxx",
"xxx", "xxx", "xxx" };
JList<String> list = new JList<>(toppings);
list.setVisibleRowCount(5);
JScrollPane sc = new JScrollPane(list);
this.add(sc);
this.add(list);
this.setVisible(true);
}
}
Bài liên quan
Vấn đề là ở câu lệnh đầu tiên, thực chất khi bạn add sc thì đồng thời bạn cũng add luôn list rồi, nguyên nhân bạn đã đăng kí sc với list ở câu lệnh:
Tuy nhiên, khi bạn gọi câu lênh thứ hai: add list vào frame (vốn đã add vào lúc trước) thì nó sẽ mặc định coi list chưa có JScrollerPane nào đăng kí -> dẫn đến list ko được hiển thị qua JScrollerPane
Solution: xóa câu lệnh thứ 2