簡體   English   中英

如何使用jgoodies表單最大化組件高度

[英]how to maximise component height using jgoodies forms

Noob問題 :我有以下表單布局(請原諒JRuby語法)。 我希望所有三個按鈕都能將其高度拉伸以填充可用空間。 但只有按鈕3才這樣做。

require 'java'
require './lib/jgoodies-common-1.2.1.jar'
require './lib/jgoodies-forms-1.4.2.jar'

java_import javax.swing.JButton
java_import javax.swing.JFrame

java_import com.jgoodies.forms.layout.CellConstraints
java_import com.jgoodies.forms.layout.FormLayout

class Foo < JFrame
  def initialize
    super
    cc = CellConstraints.new

    layout = FormLayout.new(
      "10dlu, pref:grow, 10dlu, pref:grow, 10dlu",
      "10dlu, pref:grow, 10dlu, pref:grow, 10dlu"
    )
    layout.setRowGroups([[2, 4]])
    layout.setColumnGroups([[2, 4]])

    self.setLayout(layout)

    self.add(JButton.new("button 1"), cc.xy(2, 2))
    self.add(JButton.new("button 2"), cc.xy(2, 4))
    self.add(JButton.new("button 3"), cc.xywh(4, 2, 1, 3))

    self.pack
    self.setVisible(true)
    self.toFront
  end
end

Foo.new

提示和指示贊賞。

--Ben

告訴rowSpec填充高度:

    FormLayout layout = new FormLayout(
            "10dlu, pref:grow, 10dlu, pref:grow, 10dlu",
            "10dlu, fill:pref:grow, 10dlu, fill:pref:grow, 10dlu"
            );

從技術上講,這明確地覆蓋了行的“對齊”,默認情況下是CENTER。 對於列,默認對齊方式為FILL(因此,如果要水平拉伸,則不需要覆蓋)。 第三個按鈕看起來垂直拉伸的原因是它跨越了兩個內容行:它可以對齊然后填充的其他內容(據我記憶,沒有檢查細節)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM