-2
我有一個課程延伸JPanel
,我已經覆蓋了paintComponent(Graphics g)
方法。但是,我看不到我繪製的矩形或滾動條。如何使Java中的JPanel可滾動?
在主函數下面我有以下代碼:
MyClass mainPanel = new MyClass();
mainPanel.setPreferredSize(new Dimension(1000, 1000));
mainPanel.setLayout(new BorderLayout());
JPanel scrollPanel = new JPanel();
scrollPanel.setSize(new Dimension(2000, 2000));
JScrollPane scrollPane = new JScrollPane(scrollPanel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); //Let all scrollPanel has scroll bars
scrollPane.setViewportView(scrollPanel);
scrollPane.setOpaque(true);
scrollPanel.revalidate();
mainPanel.add(scrollPane);
JFrame frame = new JFrame("Scrollable Panel");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(mainPanel);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
讓您的閱讀[官方指南(https://docs.oracle.com/javase/tutorial/uiswing/components/scrollpane.html) – AxelH
嘗試'scrollPanel.setPreferredSize(新尺寸(2000年,2000 ));'。目前你的'scrollPanel'縮小到什麼都沒有,所以'scrollPane'不需要顯示任何滾動條。 – khelwood
@NimrodArgov,閱讀他的代碼,他有一個。 – AxelH