Discussion:
[J2SE] Layout的選擇
(时间太久无法回复)
第一次上ptt
2007-03-27 01:57:37 UTC
Permalink
各位大大好

小弟最近在學習java,然而卻卡在layout上

我想要把JLabel分佈在一個panel上(label的size大小固定)

一個row可容納8個label,每個label按照順序,

有點類似Nautilus或My Computer的排序

如圖(x代表JLabel)

______________________
| x x x x x x x |
| x x x x x x x |
| x |
| |
| |
| |
| |
| |
|_____________________|

如果使用GridLayout,會變成
______________________
| |
| x x x x x x x |
| |
| |
| x x x x x x x |
| |
| |
| x |
|_____________________|

請問要怎麼修改,還是要選擇其他的layout?

謝謝

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.95.193.222
骨頭
2007-03-27 02:16:14 UTC
Permalink
※ 引述《bypang (第一次上ptt)》之銘言:
: 各位大大好
: 小弟最近在學習java,然而卻卡在layout上
: 我想要把JLabel分佈在一個panel上(label的size大小固定)
: 一個row可容納8個label,每個label按照順序,
: 有點類似Nautilus或My Computer的排序
: 如圖(x代表JLabel)
: ______________________
: | x x x x x x x |
: | x x x x x x x |
: | x |
: | |
: | |
: | |
: | |
: | |
: |_____________________|
: 如果使用GridLayout,會變成
: ______________________
: | |
: | x x x x x x x |
: | |
: | |
: | x x x x x x x |
: | |
: | |
: | x |
: |_____________________|
: 請問要怎麼修改,還是要選擇其他的layout?
: 謝謝


忘記有沒有更簡單的作法了
很少用Java的Layout - -a


我所想到最簡單的解法
假設你的panel是container

在container上疊加一個subpanel(JPanel),
採用GirdLayout並設定好大小(setBound),再疊到你顯示的大panel上。


container layout設null ;
container.add(subpanel);

--
I am a person, and I am always thinking .
Thinking in love , Thinking in life ,
Thinking in why , Thinking in worth.
I can't believe any of what ,
I am just thinking then thinking ,
but worst of all , most of mine is thinking not actioning...

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.27.68
淺水中
2007-03-27 03:51:08 UTC
Permalink
※ 引述《bypang (第一次上ptt)》之銘言:
: 各位大大好
: 小弟最近在學習java,然而卻卡在layout上
: 我想要把JLabel分佈在一個panel上(label的size大小固定)
: 一個row可容納8個label,每個label按照順序,
: 有點類似Nautilus或My Computer的排序
: 如圖(x代表JLabel)
: ______________________
: | x x x x x x x |
: | x x x x x x x |
: | x |
: | |
: | |
: | |
: | |
: | |
: |_____________________|
: 如果使用GridLayout,會變成
: ______________________
: | |
: | x x x x x x x |
: | |
: | |
: | x x x x x x x |
: | |
: | |
: | x |
: |_____________________|
: 請問要怎麼修改,還是要選擇其他的layout?
: 謝謝
1.Box Layout
2.Gridbag Layout
3.不要做Layout

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.105.36
第一次上ptt
2007-03-27 06:02:56 UTC
Permalink
※ 引述《farfree (i am farfree)》之銘言:
: 可以一個row 放在一個panel 上 , 用flow layout即可..
: container 也是 flow layout , 依序放入panel,
: 也就是說可以用兩個迴圈來解決.
: 如果你的frame size 是固定的那很好排 , 如果是變動的 ,
: 就要看你是要完全固定位置 , 還是要等比例縮放, 上面的方法 ,
: 是會按照縮放來等比例調整....
: 另外 , 如果你不排斥用其他的lib , table layout 很好用 , 也很簡單..

謝謝,我會考慮看看Table Layout
因為它能動態增加Row,這正是我要的特性

另外,隨手附上Table Layout的網站
https://tablelayout.dev.java.net/


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.95.193.222

Loading...