当前位置: 首页 > news >正文

河南网站排名漂亮的蓝色网站

河南网站排名,漂亮的蓝色网站,网站推广在线,怀化网站定制在开发Java Swing应用程序时#xff0c;最经常的是#xff0c;我们需要在多个嵌套面板中使用多个布局管理器。 通常这不是问题#xff0c;并且被认为是几乎所有人类已知语言的所有UI开发的常规做法。 但是#xff0c;大多数情况下#xff0c;对于UI中的每个面板#xff0… 在开发Java Swing应用程序时最经常的是我们需要在多个嵌套面板中使用多个布局管理器。 通常这不是问题并且被认为是几乎所有人类已知语言的所有UI开发的常规做法。 但是大多数情况下对于UI中的每个面板只需要一个布局管理器即可达到所需的效果但是有时您需要根据容器中的组件数对同一容器使用多个布局管理器。 这样的示例之一是在创建类似居中网格的布局时。 大多数情况下如果组件的数量固定则GridLayout或GridBagLayout可能就足够了但是如果组件的数量不断变化则布局可能不理想。 今天下午我遇到了类似的问题这是我想出的解决方案。 我想要实现的UI与Opera的快速拨号类似但是拨号次数可变。 基本上 您从一个组件开始并且应该在面板中居中 添加另一个组件它们都应该居中 添加三分之一所有三个都应放在一行的中心 如果添加了第四个组件则您应该有一个3 x 2的矩阵第一行中有三项第二行中有一项 对于最多六个组件应保留3 x 2矩阵 对于6个以上的组件矩阵应为4 x 3因此我们最多可以容纳12个组件这将是最大 最初这个要求看起来很棘手但解决方案通常是仅使用两个JPanels的布局管理器的组合。 基本上是一个用于使内部内容物居中的外部容器以及一个用于根据需要创建矩阵的内部容器。 使用哪个布局管理器 随之而来的问题是哪个布局管理器可以提供所需的结果 经过几分钟的试验我终于意识到GridBagLayout给了我所需的居中内容外观但是有时是不一致的。 因此我选择通过netbeans设计器使用GroupLayout。 因此将其应用于外部容器。 接下来我试图找到一个可以有效满足第一个要求的布局管理器。 选项为FlowLayout和GridLayout。 但是尽管FlowLayout倾向于将其内容垂直对齐到顶部但在这种情况下就足够了因为GroupLayout将FlowLayout内容垂直居中并满足了1-3的要求。 接下来对于需求4再次选择了GridLayout但是这次将其设置为anx 3矩阵其中n是任意数量的行。 这使GridLayout可以按预期增长并且还可以在垂直放置之前先水平放置其组件。 这也自动满足了要求5。 最后当组件大于6时将创建一个新的GridLayout其大小为nx 4需要有效地对齐内容。 可以进一步添加新组件直到最多达到12个组件为止并且禁止进一步添加。 这是该过程的示例代码。 JPanel container new JPanel(); container.setName(container); // NOI18N container.setOpaque(false);JPanel content new JPanel(); content.setBorder(javax.swing.BorderFactory.createEmptyBorder(50, 50, 50, 50)); content.setName(content); // NOI18N content.setOpaque(false); content.setLayout(new java.awt.GridLayout(0, 3));javax.swing.GroupLayout containerLayout new javax.swing.GroupLayout(container); container.setLayout(containerLayout); containerLayout.setHorizontalGroup(containerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(containerLayout.createSequentialGroup().addContainerGap(346, Short.MAX_VALUE).addComponent(content, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(347, Short.MAX_VALUE)) ); containerLayout.setVerticalGroup(containerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(containerLayout.createSequentialGroup().addContainerGap(223, Short.MAX_VALUE).addComponent(content, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(224, Short.MAX_VALUE)) ); 然后每添加一个新组件就会运行以下代码 getContent().removeAll();int gridSize organisations.size();switch( gridSize ) {case 1:case 2:case 3:getContent().setLayout( new FlowLayout(FlowLayout.CENTER) );break;case 4:case 5:case 6:getContent().setLayout( new GridLayout(0,3) );break;case 7:case 8:getContent().setLayout( new GridLayout(0,4) );break;default:getContent().setLayout( new GridLayout(0, 4) ); }for (Organisation org : organisations) {getContent().add(createOrgSelectionComponent(org)); }getContent().validate(); getContent().repaint(); 这是最终布局的屏幕截图。 参考 有时在Java中我们的JCG合作伙伴 Francis在“ Ice in Code”博客中 还没有一个Layout Manager 。 相关文章 JavaFX 2.0 beta示例应用程序和思考 Xuggler开发教程 Java Swing –日期选择器对话框 SmartGWT入门提供出色的GWT界面 YouTube Java API入门 翻译自: https://www.javacodegeeks.com/2011/09/sometimes-in-java-one-layout-manager-is.html
http://www.zqtcl.cn/news/570375/

相关文章:

  • 旅游网站建设国内外现状安卓开发软件安装教程
  • 网站建设必备网站自助建设
  • 杭州免费自助建站模板辽宁建设工程信息网为什么打不开
  • sdcms网站源码百度怎么免费做网站
  • 图书馆网站参考咨询建设wordpress安装500
  • 详细描述建设网站wordpress 子页面
  • 做公司网站推广如何快速推广
  • 给期货交易类做网站违法吗青海企业网站制作
  • 成都网站模板购买一站式营销型网站建设服务
  • wordpress建站优势做网站认证对网站有什么好处
  • synology做网站专业企业建站价格
  • php开发大型网站开发免费个人微网站
  • 专门做奢侈品的网站怎么建设课题网站
  • 博客推广那个网站列好深圳社保个人网页登录
  • 网站的背景图怎么做最新章节 第一百四十七章 做视频网站
  • 济南网站建设百家号阿里云怎么wordpress
  • 网站分享对联广告北京建设执业网站
  • 一级做爰片免费网站域名流量查询
  • 做网站网站需要注意什么网站建设swot市场分析
  • 大学生兼职网站的融资方案云凡济南网站建设开发
  • 做动态效果的插件网站抚顺清原网站建设招聘
  • 商务网站开发需求分析厦门35网站建设公司
  • wordpress classseo推广服务
  • 石景山网站建设公司网站后台密码如何破解
  • 哪个大学的网站做的最好看南宁网站设计制作公司
  • 北京 集团公司网站建设免费网站建设模版云盘
  • 阿里云建设网站要什么广州网站建设方案案例
  • 德阳吧网站建设线上编程培训机构哪家好
  • 天津电商网站开发备案查询站长之家
  • 网至普的营销型网站布局青岛做网站