【发布时间】:2020-05-27 00:40:06
【问题描述】:
我正在学习 Head First Java 的流程布局,我正在尝试让按钮环绕,因为它说 Flow Layout 应该(从左到右,从上到下)。
import javax.swing.*;
import java.awt.*;
public class Flow {
public static void main(String[] args) {
Flow gui = new Flow();
gui.go();
}
public void go() {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JButton buttonOne = new JButton("hello");
JButton buttonTwo = new JButton("this is");
JButton buttowThree = new JButton("woody");
panel.add(buttonOne);
panel.add(buttonTwo);
panel.add(buttonThree);
frame.getContentPane().add(BorderLayout.EAST, panel);
frame.setSize(200,200);
frame.setVisible(true);
}
}
但是,当在框架的EAST 区域设置面板时,按钮会离开屏幕并且不会环绕。如果我将面板设置在NORTH 或SOUTH 区域,我只会看到两个按钮。如果我将面板设置在CENTER 区域,它们会自动换行并且可以清楚地看到它们。为什么是这样?
【问题讨论】:
-
嗨维德,你是对的,我发布的答案没有回答你的问题。我已经适当地删除了答案。对于它的价值,我给你的建议是不要陷入 FlowLayout 的缺陷中(就像我说的,它总是可用性有限),而是花时间学习其他一些 LayoutManager,比如 BoxLayout 和 BorderLayout。
标签: java swing layout-manager border-layout flowlayout