【发布时间】:2015-03-02 10:50:47
【问题描述】:
JPanel panel = new JPanel(new GridLayout(0,1));
JScrollPane contentpane = new JScrollPane(panel);
JButton add = new JButton("ADD");
add.actionListener(new ActionListener() {
public void actionPerformed(){
MyPanel newpanel = new MyPanel("title","Button"); //MyPanel is a class which extends JPanel and contains constructor MyPanel(String TitleToSet ,String ButtonTitleTOAdd)
panel.add(newpanel);
panel.repaint();
}) ;
我使用此代码认为它会动态地将 MyPanel 添加到网格布局中,并且如果添加更多“MyPanel”,“面板”将是可滚动的。然而,情况并非如此,第一个“MyPanel”填满了整个“面板”,并且在添加第二个“MyPanel”时(通过单击“添加”按钮),第一个“MyPanel”被缩小以为添加第二个“MyPanel”腾出空间。 . 并且在添加更多内容时,所有“MyPanel”都适合视口而不是使“面板”可滚动。如何动态添加这些“MyPanel”并使“面板”在添加更多内容时可滚动?任何帮助将不胜感激。
【问题讨论】:
标签: java swing jpanel jscrollpane