我有一個包含多個對象(自定義類擴展Jpanel)對象的JPanel。 JPanel具有7行1列的網格佈局。我試圖添加一個帶有7個對象的JPanel到另一個JScrollPane,所以我可以滾動查看所有的對象,但它做的很奇怪。無論JPanel中有多少個對象,滾動條都不會顯示出來。有任何想法嗎?提前致謝。Java ScrollPane/JPanel
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneLayout;
public class Main {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
JFrame frame = new JFrame("Test");
frame.setLayout(new BorderLayout());
JLabel title = new JLabel("Game", JLabel.CENTER);
title.setPreferredSize(new Dimension(60,60));
title.setBorder(BorderFactory.createLineBorder(Color.black,5));
frame.add(title,BorderLayout.NORTH);
frame.setSize(850,480);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Grid g = new Grid();
JPanel jp = new JPanel();
jp.setLayout(new GridLayout(1,3));
jp.add(g);
JPanel test = new JPanel();
test.setLayout(new GridLayout(7,1));
test.add(p1);
test.add(p2);
test.add(p3);
test.add(p4);
test.add(p5);
test.add(p6);
test.add(p7);
JScrollPane jsp = new JScrollPane(test);
jsp.setViewportView(test);
jsp.getVerticalScrollBar().setUnitIncrement(50);
jsp.setCorn
jsp.setVerticalScrollBarPolicy(22);
jp.add(jsp,BorderLayout.EAST);
frame.add(jp);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
我無法將JScrollPane添加到ContentPane,因爲我不想在使用ScrollPane時移動另一個JPanel。此外,ScrollPane可能正在工作,但我需要將添加的對象垂直堆疊在彼此之上。感謝您的視口幫助。想法? –
如果視口視圖大於滾動窗格的視口,則會顯示滾動條。 –
我試着添加更多的對象來使條出現,但它不會顯示 –