1
我正在使用Miglayout
为我的程序定义布局。问题是JScrollPane
阻止JButton缩小到低于其首选大小。 JButton
的最小宽度,首选宽度和最大宽度均如此设置,"w 300:600:900" //min:pref:max
。JScrollPane防止组件缩小到低于其首选大小
解决此问题的最佳方法是什么?
SSSCE
import java.awt.*;
import javax.swing.*;
import net.miginfocom.swing.MigLayout;
public class ButLay extends JFrame {
private ButLay() {
super("Button Layout");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new MigLayout("", "grow", "grow"));
createPanel();
setSize(800, 200);
setVisible(true);
}
JPanel panel = new JPanel(new MigLayout("", "grow", "grow"));
JScrollPane scroll;
JButton button = new JButton("Button");
private void createPanel() {
panel.add(button, "gapleft 100, align right, w 300:600:900, south");
scroll = new JScrollPane(panel);
getContentPane().add(scroll, "grow");
}
public static void main(String[] args) {
new ButLay();
}
}
谢谢你的回答。我会仔细看看的。但是,我确实改变了我的方法,因为我意识到我的'JButton'不需要在'JScrollPane'中,所以我只是将它停靠在JFrame的南部 – Dan