[英]library Armen101 / AudioRecordView: chunks/ bars don't appear anymore
[英]Knobs don't appear on scroll bars
我有一個擴展JComponent的類,稱為Canvas。 即使它大於JScrollPane的JViewport,旋鈕也不會出現在滾動條上,並且我無法在Canvas上向下滾動。 我的滾動窗格的代碼在這里:
final JFrame frame = new JFrame("SketchPad");
frame.setLayout(new BorderLayout());
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
JScrollPane scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
JViewport vp = scrollPane.getViewport();
vp.setLayout(null);
vp.setBackground(Color.BLUE);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
canvas = new Canvas();
canvas.setBounds(0, 0, w, h);
vp.add(canvas);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
我在JScrollPane上做錯了什么,還是其他?
vp.setLayout(null);
不要在視口上設置空布局。 當添加到滾動窗格視口的組件的首選大小大於滾動窗格的大小時,滾動條將自動顯示。
我們用來確定首選尺寸的布局管理器(一般來說,您絕對不應使用空布局)。
另外,請勿使用Canvas,即AWT組件。 使用JPanel
時,請使用JPanel
。 或者,如果它是一個自定義類,則應使用更具描述性的名稱,以避免混淆。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.