Java Swing GridBagLayout() 跨越一个对象 3 行不起作用

马丁·乌梅

我有一个 GridBagLayout 每 5 列 5 行。我试图跨越我的第一个对象,它是 3 行和 5 列上的 TilePanel。它部分工作。

我有第 4 行和第 5 行对象。我希望前 3 行会比第 4 行和第 5 行占用更多空间。实际上,空间被平均分配到窗口上。我究竟做错了什么?请参阅下面的代码片段和屏幕截图:

setLayout(new GridBagLayout());

GridBagConstraints grid = new GridBagConstraints();


// Initialize all the UI components
tilePanel = new TilePanel(gameModel);

grid.fill = GridBagConstraints.BOTH;

// Grid 5 lines by 5 columns
grid.weightx = 5;
grid.weighty = 5;

// tilePanel takes 3 lines and 5 columns
grid.gridwidth = 5;
grid.gridheight = 3;
grid.gridx = 0;
grid.gridy = 0;
this.add(tilePanel, grid);

// Forth Line       
goal = new JLabel("Goal: " + gameModel.getGameResult());
currentSum = new JLabel("Current sum: 0");
nextButton = new JButton("NEXT");
resetButton = new JButton("RESET");

grid.gridwidth = 1;
grid.gridheight = 1; 

// Forth Line: First column
grid.gridy = 4;
grid.gridx = 0;     
this.add(nextButton, grid);

// Forth Line: Second column
grid.gridx = 1;
this.add(resetButton, grid);


// Firth Line
grid.gridy = 5;

// Firth Line: First column
grid.gridx = 0;
goal.setBorder(new LineBorder(Color.BLACK, 1));
this.add(goal, grid);

// Firth Line: Second column
grid.gridx = 1;
currentSum.setBorder(new LineBorder(Color.BLACK, 1));
this.add(currentSum, grid);

// Firth Line: Third column
grid.gridx = 2;
this.add(new JLabel("TIME"), grid);     

// Firth Line: Fourth column
grid.gridx = 3;
this.add(new JLabel("RESET"), grid);    

// Firth Line: Fifth column
grid.gridx = 4;
this.add(new JLabel("LEVEL"), grid);

窗口截图:

https://i.stack.imgur.com/xngBG.png

weightx 和 weighty 应该是浮点值,最小值为 0.0,最大值为 1.0。值 1.0 表示“获得尽可能多的空间”,而 0.0 表示“您是最后一个获得额外空间的人”。您给出的值为 5,并且可能 GridBagLayout 正在制作......无论它制作什么。

我会尝试在添加 tilePanel 时将 weigthx 设置为 1.0 和 weighty=0.6(垂直空间的 60%),在添加其余部分(每行垂直空间的 20%)时将 weighty=0.2 设置为。

但我没有测试过。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java Swing 中的 GridBagLayout

来自分类Dev

与布局(的Java Swing)GridBagLayout的问题

来自分类Dev

Swing GridBagLayout发挥作用

来自分类Dev

Java Swing JComboBox,mouseListener不起作用

来自分类Dev

Java Swing JComboBox,mouseListener不起作用

来自分类Dev

Java Swing GridBagLayout-添加没有空格的按钮

来自分类Dev

Java Swing如何正确使用GridBagLayout和GridBagConstraints?

来自分类Dev

Java Swing:无法使用 GridBagLayout 在整个 JPanel 中传播组件

来自分类Dev

Swing中的GridBagLayout格式

来自分类Dev

JScroll在右面板JSplitPane中不起作用-Swing Java

来自分类Dev

ArrayList <String>中的JComboBox-不起作用-Java Swing

来自分类Dev

java swing-执行的按钮操作不起作用

来自分类Dev

Java Swing setIconImage(new ImageIcon(byte[])) 不起作用

来自分类Dev

是否有一个Java.Swing等效于AS3的ADDED_TO_STAGE事件?

来自分类Dev

GridBagLayout网格化不起作用

来自分类Dev

如何在一行中获得3个div?Flex不起作用

来自分类Dev

java对象,并且框架不起作用

来自分类Dev

重置倒数计时器不起作用+ Java Swing游戏中的JDialog / JOptionPane

来自分类Dev

在亚洲语言(韩文,日文,中文)的Java swing(JPasswordField)中设置密码不起作用

来自分类Dev

SwingWorker Java Swing中的计时器应用程序不起作用

来自分类Dev

Java Swing右边框在Microsoft Windows上不起作用

来自分类Dev

在 Swing、Java 中向 JPanel 添加更多组件后,Repaint() 不起作用

来自分类Dev

While循环仅创建3个对象不起作用

来自分类Dev

Java Swing-如何使下一个和上一个按钮显示数组中对象的变量?

来自分类Dev

当用户在 Java Swing 中单击按钮时从另一个类创建一个新对象

来自分类Dev

Java-开关:情况2和3不起作用

来自分类Dev

带有屏幕调整大小的Swing GridBagLayout

来自分类Dev

为什么此GridBagLayout代码不起作用?

来自分类Dev

每秒向变量添加一个点不起作用(Unity3d)

Related 相关文章

  1. 1

    Java Swing 中的 GridBagLayout

  2. 2

    与布局(的Java Swing)GridBagLayout的问题

  3. 3

    Swing GridBagLayout发挥作用

  4. 4

    Java Swing JComboBox,mouseListener不起作用

  5. 5

    Java Swing JComboBox,mouseListener不起作用

  6. 6

    Java Swing GridBagLayout-添加没有空格的按钮

  7. 7

    Java Swing如何正确使用GridBagLayout和GridBagConstraints?

  8. 8

    Java Swing:无法使用 GridBagLayout 在整个 JPanel 中传播组件

  9. 9

    Swing中的GridBagLayout格式

  10. 10

    JScroll在右面板JSplitPane中不起作用-Swing Java

  11. 11

    ArrayList <String>中的JComboBox-不起作用-Java Swing

  12. 12

    java swing-执行的按钮操作不起作用

  13. 13

    Java Swing setIconImage(new ImageIcon(byte[])) 不起作用

  14. 14

    是否有一个Java.Swing等效于AS3的ADDED_TO_STAGE事件?

  15. 15

    GridBagLayout网格化不起作用

  16. 16

    如何在一行中获得3个div?Flex不起作用

  17. 17

    java对象,并且框架不起作用

  18. 18

    重置倒数计时器不起作用+ Java Swing游戏中的JDialog / JOptionPane

  19. 19

    在亚洲语言(韩文,日文,中文)的Java swing(JPasswordField)中设置密码不起作用

  20. 20

    SwingWorker Java Swing中的计时器应用程序不起作用

  21. 21

    Java Swing右边框在Microsoft Windows上不起作用

  22. 22

    在 Swing、Java 中向 JPanel 添加更多组件后,Repaint() 不起作用

  23. 23

    While循环仅创建3个对象不起作用

  24. 24

    Java Swing-如何使下一个和上一个按钮显示数组中对象的变量?

  25. 25

    当用户在 Java Swing 中单击按钮时从另一个类创建一个新对象

  26. 26

    Java-开关:情况2和3不起作用

  27. 27

    带有屏幕调整大小的Swing GridBagLayout

  28. 28

    为什么此GridBagLayout代码不起作用?

  29. 29

    每秒向变量添加一个点不起作用(Unity3d)

热门标签

归档