包装UI组件的模式

扬·科斯特(Jan Koester)

我想将UI组件包装在Java应用程序中,以使生产代码独立于具体的UI库。我现在有一个问题,如果我想在另一个组件上添加组件,因为包装类不知道具体的UI元素。

如何在不揭示底层UI库的情况下处理元素的排序?

public abstract class UIComponent {

}

public class UIPanel extends UIComponent {
    private JPanel jpanel;

    public UIPanel() {
        this.jpanel = new JPanel();
    }

    public void addUIComponent(UIComponent component) {
        // how can I add the concrete jbutton from a UIButton
        // to the concrete jpanel of this UIPanel?  
    }
}

public class UIButton extends UIComponent {
    private JButton jbutton;

    public UIButton() {
        this.jbutton = new JButton();
    }
}
斯坦尼斯拉夫

在UIComponent中定义一个方法

public JComponent getRealComponent();

然后,UIPanel和UIButton重写该方法,并相应地返回JPanel和JButton。

方法应该是这样的

public void addUIComponent(UIComponent component) {
  getRealComponent().add(component.getRealComponent());
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ReactJs:使用门户网站“模式”包装语义UI模式

来自分类Dev

包装SDK的设计模式

来自分类Dev

Web组件-包装子元素

来自分类Dev

JPanel FlowLayout强制组件包装

来自分类Dev

包装填料组件?(角)

来自分类Dev

VueJS 2.4 基本包装组件

来自分类Dev

我可以使用哪种设计模式来提供几种创建“预配置” UI组件的方法

来自分类Dev

可以使用哪些方法或模式来提供基于提供的数组的UI组件?

来自分类Dev

角组件模式通信

来自分类Dev

包装angular-ui指令

来自分类Dev

DynamoDB的Web UI包装器

来自分类Dev

使用HOC与组件包装之间的区别

来自分类Dev

React-包装的组件无法渲染

来自分类Dev

在React中制作包装器组件

来自分类Dev

用数组的多个父母包装组件

来自分类Dev

Redux包装的组件如何设置状态?

来自分类Dev

为React组件创建包装器

来自分类Dev

Blazor-组件包装和数据绑定

来自分类Dev

使用Maven组件包装单个罐子

来自分类Dev

如何修改Tabs组件的包装器CSS规则以使文本在Material-UI的垂直选项卡中向左对齐?

来自分类Dev

如何在动态组件周围包装Angular组件

来自分类Dev

样式化的组件未包装其他样式化的组件

来自分类Dev

打开下拉菜单(当前为蓝色)时如何更改Material UI Select组件的轮廓颜色(在轮廓模式下)

来自分类Dev

MvvmCross Android UI 组件

来自分类Dev

UI-Router $ state。$当前包装状态

来自分类Dev

R Shiny:自动井板包装UI

来自分类Dev

React Material UI包装表行

来自分类Dev

jQuery UI datepicker和移动“包装器”

来自分类Dev

UI-Router $ state。$当前包装状态