Java GridBagLayout + 绝对布局

标签 java swing layout-manager gridbaglayout null-layout-manager

我正在尝试制作 3 列布局,在每一列中我希望能够绝对定位标签和文本框。

问题是我的标签 (jLabel2) 甚至从未显示..

这是我的代码:

 /**
  * Top JPanel (Top) 
  */
 JPanel pnlTop = new JPanel();
 pnlTop.setBackground(new java.awt.Color(223, 223, 217));
 pnlTop.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, new java.awt.Color(173, 173, 166)));
 c.gridx = 0;
 c.gridy = 0;
 c.gridwidth = 5; // five rows
 c.gridheight = 1; // one column
 c.fill = GridBagConstraints.BOTH;
 //c.weighty = 0.04;
 add(pnlTop, c);       

 /**
  * Top JPanel Content (Here is where i want to put absolute content)
  */
 JPanel pnlTopContent = new JPanel();
 pnlTopContent.setLayout(null);

 jLabel2.setFont(new java.awt.Font("Lucida Grande", 1, 16)); // NOI18N
 jLabel2.setText("Hello");

 jLabel2.setLocation(150, 50);     

 pnlTopContent.add(jLabel2);
 pnlTop.add(pnlTopContent);

知道我做错了什么吗?

最佳答案

Then its showing but not in the right place

“正确的地方”对您来说意味着什么?为什么你还要将标签添加到第二个面板上?为什么不直接将标签添加到 pnlTopContent 中?

GridBagLayout 有一个约束,允许您将组件定位在列的右/左/中心。阅读 Swing 教程中关于 How to Use GridBagLayout 的部分。您可能想从anchor 约束开始。

关于Java GridBagLayout + 绝对布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17789794/

相关文章:

java - 如何在 Java 中将整数添加到 char 中?

java - 图像未显示在 JFrame 中

java - 如何将文本添加到 JTextArea

java - 如何均匀化 JTable 中的组件大小?

java - 如何固定 Swing 组件的边界

java - OSGi java.lang.NoClassDefFoundError : org/osgi/framework/BundleContext

java - 无法配置数据源 : 'url' attribute is not specified and no embedded datasource could be configured. SPRING

java - 更新由 netbeans 创建的 jTable 上的某些条目

java - 无法居中 JButtons

java - JSP、Java 和数据库。如果尝试登录时提交了错误的数据,如何再次调用同一个index.jsp?