webForumDet fria alternativet

JSplitPane start storlek

Java

1 svar · 180 visningar · startad av Viktor

Medlem sedan aug. 20021 752 inlägg
Frågan#1

Jag har en JTextArea och en JPane (fylld med lite olika saker), dessa två stoppar jag ner i en JSplitPane och vill att JTextArea ska ta upp ca 85% av fönstret, men det vill inte fungera :(

JSplitPane splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JScrollPane(text),p1);
splitPane.setOneTouchExpandable(true);
Dimension minimumSize = new Dimension(100, 50);
text.setMinimumSize(minimumSize);
p1.setMinimumSize(minimumSize);
		
Dimension maximumSize = Toolkit.getDefaultToolkit().getScreenSize();
p1.setMaximumSize(maximumSize);
text.setMaximumSize(maximumSize);

splitPane.setDividerLocation(0.85);

Enligt alla dokumentation som jag kan hitta så ska man skriva så men vad jag än sätter setDividerLocation till så blir den alltid samma. Bilden nedan är tagen när koden ovan är körd, och det är ju inte riktigt 85%...

/Viktor

split.gif
Medlem sedan maj 20012 237 inlägg
#2

Istället för 0.85 så kör med heltal. Tex 200 så placeras dividern på koordinatet 200.

Eller så får du själv beräkna hur mycket 85% av skärmens yta eller Framens yta är och sedan förvandla resultatet till int och lägga in talet i metoden setDividerLocation.

Testa det. :)

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)