2011-06-22 6 views
2

コンポーネントを含むパネルのリスト、つまりチェックボックス、ラベル、ボタンをすべて同じ水平線で表示したいと思います。各パネルは、1つのアイテムに関する情報を表示するための1つのコンポーネントセットを表します。 メインパネルの高さに収まるように、スクロールパネル内にパネルのリスト(番号は不定)を配置する必要があります。Groovy SwingBuilder:スクロールパネルを使用してパネルのリストを表示

コンポーネントとスクロールパネルとパネルを混合するソリューションを見つけることができないようです。私はこの結果を取得したいのですが

scrollpanel {

  • チェックボックスを|アイテム1 |ボタン1 |ボタン1 |ラベル1 | label1
  • チェックボックス|アイテム2 |ボタン2 |ボタン2 |ラベル2 | label2
  • チェックボックス| item3 |ボタン3 |ボタン3 |ラベル3 | LABEL3

    [...]

}

私は現在、ここに示されているものの作業例があります: Groovy SwingBuilder : button to change the color of a panel

をそこには、あなたは6つの項目があります見ることができますそれぞれに関連するそれぞれの構成要素を有する。 6個ではなく60個のアイテムを表示する場合、フレームは画面サイズに合わせて拡大されますが、画面サイズを超えます。

Javaチュートリアルと関連する質問のすべての例をここで確認しましたが、そのような「スクロールパネル」が機能するとは思っていましたが、うまく動作しません。

tia。 ミシェル

+0

+1素敵な質問:) –

答えて

2

パネルをvboxの内側に置くことができます。vboxの内側には、scrollPaneを入れます。

前の質問からコードを取ると、あなたはこのようなもので終わる:

import groovy.swing.SwingBuilder 
import javax.swing.WindowConstants as WC 
import javax.swing.JOptionPane 
import javax.swing.JScrollPane 
import javax.swing.BoxLayout as BXL 

int numPanels = 20 

swing = new SwingBuilder() 
frame = swing.frame(title:'test', pack:true, visible:true, defaultCloseOperation:WC.HIDE_ON_CLOSE) { 
    panel(id:'mainPanel'){ 
    scrollPane(verticalScrollBarPolicy:JScrollPane.VERTICAL_SCROLLBAR_ALWAYS) { 
     vbox { 
     (1..numPanels).each { num -> 
      def panelID = "panel$num" 
      def pane = panel(alignmentX:0f, id:panelID, background:java.awt.Color.GREEN) { 
      label('description') 
      textField(id: "description$num", text:panelID, columns: 70) 
      button(id: "buttonpanel$num", text:panelID, actionPerformed:{ 
       swing."$panelID".background = java.awt.Color.RED 
      }) 
      } 
     } 
     } 
    } 

    boxLayout(axis: BXL.Y_AXIS) 
    panel(id:'secondPanel' , alignmentX: 0f){      
     button('Quit', actionPerformed:{ 
     frame.visible = false 
     }) 
    } 
    }  
} 
frame.size = [ frame.width, 600 ] 
+0

すごいです!再びトップノッチの答え。箱から出した!私は何時間も探して実験してきたことにさらに感謝しています。タイム! –

+1

喜んで助けてくれる:-)幸運! –

+0

ここで 'alignmentX'の使い方は?それは実際には何ですか? –

関連する問題