0

我正在尝试放置两个画布元素,让每个屏幕占据一半。但是当我使用 FlowLayout 时,两个画布都放在中心,彼此放在一起。

我有以下结果: 在此处输入图像描述

我想得到如下图所示: 在此处输入图像描述

我的代码:

public class SigForApplication extends Frame{

public SigForApplication(String title) {
    commonInit(title);
    sigInit();
}

public static void main(String[] args) {
    SigForApplication a = new SigForApplication("SigFor");

}

private void commonInit(String title) {
    this.setTitle(title);
    this.setLayout(new FlowLayout());
    this.setSize(800, 400);
    this.setVisible(true);
    this.addWindowListener(
            new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            dispose();
            System.exit(0);
        }
    });
}

private void sigInit() {

    SignatureCanvasInput sigCanvasIn = new SignatureCanvasInput();
    sigCanvasIn.setSize(new Dimension(400, 200));
    this.add(sigCanvasIn);

    SignatureCanvasInput sigCanvasOutput = new SignatureCanvasInput();
    sigCanvasOutput.setMaximumSize(new Dimension(400, 200));
    this.add(sigCanvasOutput);

}
}
4

1 回答 1

2

为此使用 a GridLayout,在一行中只有两个组件。网格布局中的组件被分配相同的大小。

另请参阅教程的容器内布局组件课程,并按照 camickr 的建议,特别是布局管理器的视觉指南

于 2013-09-21T15:05:26.263 回答