科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件使用Decorator模式实现日期选择组件(5)

使用Decorator模式实现日期选择组件(5)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

 对话框包装器有2个类组成:第一个是Popup_dialog,继承与JDialog实现小的如前所示的框架。

作者:中国IT实验室 来源:中国IT实验室 2007年8月26日

关键字: Decorator 日期选择组件

  • 评论
  • 分享微博
  • 分享邮件
  弹出对话框
  对话框包装器有2个类组成:第一个是Popup_dialog,继承与JDialog实现小的如前所示的框架。
  生成常规对话框的主要难点是所有的装饰(框架与标题栏)的消失问题,因此如果你需要生成自己的标题栏,下面提供了具体实现的大部分代码:
  标题栏是包含一个显示标题的标签和一个按钮(关闭按钮,如导航箭头一样加载图象资源)。
  代码如下:
  public class Popup_dialog extends JDialog
  {
    private Color TITLE_BAR_COLOR = com.holub.ui.Colors.LIGHT_YELLOW;
    private Color CLOSE_BOX_COLOR = com.holub.ui.Colors.DARK_RED;
  
    private JLabel title = new JLabel("xxxxxxxxxxxxxx");
    {  title.setHorizontalAlignment(SwingConstants.CENTER);
      title.setOpaque( false );
      title.setFont( title.getFont().deriveFont(Font.BOLD) );
    }
  
    private JPanel header = new JPanel();
    {  header.setBackground( TITLE_BAR_COLOR );
      header.setLayout( new BorderLayout() );
      header.setBorder( BorderFactory.createEmptyBorder(2,2,2,2) );
      header.add( title          , BorderLayout.CENTER );
      header.add( create_close_button()  , BorderLayout.EAST  );
    }
  
    private JPanel content_pane = new JPanel();
    {  content_pane.setLayout( new BorderLayout() );
    }
  
    public Popup_dialog( Frame owner ){ super(owner); setModal(true); }
    public Popup_dialog( Dialog owner){ super(owner); setModal(true); }
  
    /* Code common to all constructors. */
    {
      init_dragable();
  
      setUndecorated( true );
      JPanel contents = new JPanel();
      contents.setBorder( BorderFactory.createLineBorder(Color.BLACK,1) );
      contents.setLayout(new BorderLayout());
      contents.add(header,    BorderLayout.NORTH);
      contents.add(content_pane, BorderLayout.CENTER);
      contents.setBackground( Color.WHITE );
  
      setContentPane( contents ); // , BorderLayout.CENTER );
      setLocation(100,100);
    }
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章