public final WFrame setOrientation(Orientation orientation) {
        if (this.orientation != orientation) {
            this.orientation = orientation;
            switch (orientation) {
                case TOP:
                    ((FlowLayout) super.getLayoutManager()).setFlowType(FlowLayout.VERTICAL_FLOW);
                    ((FlowLayout) this.titleButton.getLayoutManager()).setFlowType(FlowLayout.HORIZONTAL_FLOW);
                    this.titleButton.setZ(1);
                    this.contentPanel.setZ(0);
                    break;
                case BOTTOM:
                    ((FlowLayout) super.getLayoutManager()).setFlowType(FlowLayout.VERTICAL_FLOW);
                    ((FlowLayout) this.titleButton.getLayoutManager()).setFlowType(FlowLayout.HORIZONTAL_FLOW);
                    this.titleButton.setZ(0);
                    this.contentPanel.setZ(1);
                    break;
                case LEFT:
                    ((FlowLayout) super.getLayoutManager()).setFlowType(FlowLayout.HORIZONTAL_FLOW);
                    ((FlowLayout) this.titleButton.getLayoutManager()).setFlowType(FlowLayout.VERTICAL_FLOW);
                    this.titleButton.setZ(1);
                    this.contentPanel.setZ(0);
                    break;
                case RIGHT:
                    ((FlowLayout) super.getLayoutManager()).setFlowType(FlowLayout.HORIZONTAL_FLOW);
                    ((FlowLayout) this.titleButton.getLayoutManager()).setFlowType(FlowLayout.VERTICAL_FLOW);
                    this.titleButton.setZ(0);
                    this.contentPanel.setZ(1);
                    break;
            }
            this.invalidate();
        }
        return get();
    }