- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我一直在尝试解决这个问题,但没有成功。如何使 JPanel p
遵守定义的 GridLayout
?我得到的只是第一行包含 3 个面板,但不是我告诉 Java 执行的 4 个面板。
要让它发挥作用,有什么必要的巫术(或我不知道的知识)?
package temp2;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Temp2 {
public static void main(String[] args) {
JFrame f = new JFrame();
JPanel p = new JPanel();
// GridLayout flow = new GridLayout(1, 5); --> With this I get a row with 5 jpanels
GridLayout flow = new GridLayout(2, 4); // --> Why it doenst work? I want 4
// jpanels in the first row and
// subsequent one on the next row
// --> Why it doesnt respect my code?
p.setLayout(flow);
// p.setSize(800,800); // --> This doesnt make any difference on final result either
// p.setPreferredSize(new Dimension(800,800)); // --> This doesnt make any
// difference on final result either
p.setMinimumSize(new Dimension(800,800));
JPanel x1 = new JPanel();
x1.setPreferredSize(new Dimension(50,30)); // --> It doesnt respect these preferences
x1.setMaximumSize(new Dimension(50,30)); // --> It doesnt respect this maximum
x1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
JPanel x2 = new JPanel();
x2.setPreferredSize(new Dimension(50,30)); // --> It doesnt respect these preferences
x2.setMaximumSize(new Dimension(50,30)); // --> It doesnt respect this maximum
x2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
JPanel x3 = new JPanel();
x3.setPreferredSize(new Dimension(50,30)); // --> It doesnt respect these preferences
x3.setMaximumSize(new Dimension(50,30)); // --> It doesnt respect this maximum
x3.setBorder(javax.swing.BorderFactory.createEtchedBorder());
JPanel x4 = new JPanel();
x4.setPreferredSize(new Dimension(50,30)); // --> It doesnt respect these preferences
x4.setMaximumSize(new Dimension(50,30)); // --> It doesnt respect this maximum
x4.setBorder(javax.swing.BorderFactory.createEtchedBorder());
JPanel x5 = new JPanel();
x4.setMaximumSize(new Dimension(50,30)); // --> It doesnt respect these preferences
x5.setPreferredSize(new Dimension(50,30)); // --> It doesnt respect this maximum
x5.setBorder(javax.swing.BorderFactory.createEtchedBorder());
p.add(x1);
p.add(x2);
p.add(x3);
p.add(x4);
p.add(x5);
f.getContentPane().add(p, "Center");
f.setSize(800, 800);
f.setVisible(true);
p.updateUI();
}
}
因为这是我的第一个 StackOverflow 问题,所以我试图严格遵守规则:
具体:我希望 GridLayout
遵守行 x 列定义
我的最终目的:在第一行显示 4 个面板,在第二行显示后续面板。
让它与其他人相关:这就是为什么这段代码是说教的,重复所有面板声明,以便新手(和我)能够理解所有代码并专注于 GridLayout
问题。
最佳答案
GridLayout flow = new GridLayout(2, 4); // --> Why it doenst work? I want 4
// jpanels in the first row and
// subsequent one on the next row
// --> Why it doesnt respect my code?
像这样?
改用:
GridLayout flow = new GridLayout(0,4);
引用 constructor 的文档:
Creates a grid layout with the specified number of rows and columns. All components in the layout are given equal size.
One, but not both, of rows and cols can be zero, which means that any number of objects can be placed in a row or in a column.
关于java - Swing 不遵守我的 GridLayout Rows x Columns 定义。怎么修?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710164/
这正确地呈现了标题,因为我可以看到一个列带有“Product ID”标题的表:。我正试图重构它,这样我就可以重用它,因为它们在整个应用程序中几乎是相同的:。在这种情况下,头不会呈现...检查页面元素中
我什至不知道如何表达这一点,但在 Python 中有没有一种方法可以引用等号之前的文本,而无需实际再次编写? ** 编辑 - 我在 Jupyter 中使用 python3 我似乎用了半辈子的时间来写作
假设我有一个包含以下列的字典 dict_ = [ {'key1': 'value1', 'key2': 'value2', 'key3': 'value3', '
假设我有一个包含以下列的字典 dict_ = [ {'key1': 'value1', 'key2': 'value2', 'key3': 'value3', '
假设我的数据库中有一张地铁 map ,其中每条线路的每个站点都是一行。如果我想知道我的线路在哪里互连: mysql> SELECT LineA.stop_id FROM LineA, LineB WH
代码 select c1,c2,c3,c4,c5,c6 from table where c5 in ('a', 'b') 从这里开始,我想将 c5 列拆分为两列,然后根据它们对 c
我正在尝试搜索表格中的两列,即标题和描述。但我想先搜索标题,然后再搜索描述。所以匹配标题的所有行排在第一位,所有匹配描述的行排在第二位 我可以使用单个 SQL 查询来实现吗? 最佳答案 您还可以使用
下面有以下 Python 数据框。 “标志”字段是我想要用代码创建的所需列。 我想要执行以下操作: 如果“分配类型”是预测的并且“Activities_Counter”大于 10,我想创建一个名为“F
我有两列,area 和 block,其中 area 是一个 int 类型,block 是一个 varchar。 现在我正在写两个查询: select * from table where area a
使用 Slick 2,我试图生成一个带有元组 IN 子句的查询: select * from my_table where (a, b) IN ((1, 87)); 给定: val seq: Seq[
我正在尝试从数据透视表中获取一组值,其中 A 列等于值数组,例如 ID 12 的 attribute_value_id 等于 3 和 9。这可以做到吗?我已经走了这么远... ID | post_id
我找不到这样做的有效方法。我在 Python 中有以下 DataFrame,列从 A 到 Z A B C ... Z 0 2.0 8.0 1.0 ... 5.0 1
我的数据框中有以下格式的数据: >>> df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD')) >>> df
我有多个与我公司销售的产品相关的表被新产品取代,随着时间的推移,这导致了多个表的出现。 我一遍又一遍地使用以下查询,直到最终表中只剩下 2 个产品... CREATE TABLE mar15a
我有如下 2 个表:- 表A ------------------------------- | product_id | price | --------------------
我有一个名为 tbl_mainsheet7 的表,创建方式如下: pk_mainsheet client_id project_id mainsheet_id project_cat EA_
我得到了以下 HTML 结构: ... ... 我的 CSS: #main-container { width:80%; margin:20px auto;
对于我的以下要求,我无法获得解决方案。 如果 data.table(如下)在 Col1 和 Col3 中有匹配的值。替换 Col2 值(旧的 New-Val)。 Col1 Col2 Col3
我正在通过连接几个表来构建一个 View ,以通过 Entity Framework 提取数据。由于此 View 没有唯一列,EntityFramework 无法检索正确的结果集(即第一列重复)。 为
好的,我已经尝试了太久了,是时候寻求帮助了。我有一个看起来有点像这样的数据框: person fruit quantity all_fruits 0 p1 grapes 2
我是一名优秀的程序员,十分优秀!