这是我使用Miglayout的应用程序的插件:
这是MigLayout初始化代码,布局占用主面板的100%空间:
while (!string.equals(comp)) {
...
}
问题不在于左侧列表的水平滚动条,即带有BoxLayout的JPanel,即使我为它调用了setVerticalScrollBarPolicy。使用此循环动态填充JPanel:
import math
global guess
pasw = str(input('Input password: '))
chars = 'abcdefghijklmnopqrstuvwxyz' #only limeted myself to lowercase for simplllicity.
base = len(chars)+1
def cracker(pasw):
guess = ''
tests = 1
c = 0
m = 0
while True:
y = tests
while True:
c = y % base
m = math.floor((y - c) / base)
y = m
guess = chars[(c - 1)] + guess
print(guess)
if m == 0:
break
if guess == pasw:
print('Got "{}" after {} tests'.format(guess, str(tests)))
break
else:
tests += 1
guess = ''
cracker(pasw)
input()
我必须添加最后一行才能获得垂直滚动条。如果我不添加它,那么它也会丢失,即使它在底部有额外的空白空间的副作用。如何让滚动条正常工作?
答案 0 :(得分:0)
jep.setPreferredSize(new Dimension(200,20));
不要硬编码首选尺寸。
每个组件dynamcially
将根据组件的属性(文本,字体等)确定自己的首选大小。
然后,布局管理器可以dynamically
根据每个组件的首选大小确定面板的大小,并在需要时显示滚动条。
在完成将所有组件添加到面板后,您需要使用:
panel.revalidate();
调用布局管理器,以便计算面板的新大小。