kertokaa miten saa tehtyä niin että kun änkee flowlayout:ia käyttävään paneliin komponentteja niin komponentit jatkuu seuraavalta riviltä sillon kun tila loppuu??????????????????????????????
flowlayout
2
309
Vastaukset
- FlowLayout
Ne menee automaattisesti erille riveille, kokeile vaikka:
--- ALKAA ---
public class Esimerkki {
public static void main(String[] args) {
JFrame frame = new JFrame("Esimerkki");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().setLayout(new FlowLayout());
frame.setSize(500,500);
for (int i = 0; i < 20; i )
frame.getContentPane().add(new JButton("Painike " i));
frame.setVisible(true);
}
}
--- LOPPUU ---- netistä
/**
* A modified version of FlowLayout that allows containers using this
* Layout to behave in a reasonable manner when placed inside a
* JScrollPane
* @author Babu Kalakrishnan
*/
public class IntelligentFlowLayout extends FlowLayout
{
public IntelligentFlowLayout()
{
super();
}
public IntelligentFlowLayout(int align)
{
super(align);
}
public IntelligentFlowLayout(int align, int hgap, int vgap)
{
super(align, hgap, vgap);
}
public Dimension minimumLayoutSize(Container target)
{
return computeSize(target, false);
}
public Dimension preferredLayoutSize(Container target)
{
return computeSize(target, true);
}
private Dimension computeSize(Container target, boolean minimum)
{
synchronized (target.getTreeLock())
{
int hgap = getHgap();
int vgap = getVgap();
int w = target.getWidth();
// Let this behave like a regular FlowLayout (single row)
// if the container hasn't been assigned any size yet
if (w == 0)
w = Integer.MAX_VALUE;
Insets insets = target.getInsets();
if (insets == null)
insets = new Insets(0, 0, 0, 0);
int reqdWidth = 0;
int maxwidth = w - (insets.left insets.right hgap * 2);
int n = target.getComponentCount();
int x = 0;
int y = insets.top;
int rowHeight = 0;
for (int i = 0; i < n; i )
{
Component c = target.getComponent(i);
if (c.isVisible())
{
Dimension d =
minimum ? c.getMinimumSize() : c.getPreferredSize();
if ((x == 0) || ((x d.width) 0)
{
x = hgap;
}
x = d.width;
rowHeight = Math.max(rowHeight, d.height);
} else
{
x = d.width;
y = vgap rowHeight;
rowHeight = d.height;
}
reqdWidth = Math.max(reqdWidth, x);
}
}
y = rowHeight;
return new Dimension(reqdWidth insets.left insets.right, y);
}
}
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1897826
Klaukkalan onnettomuus 4.4
Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes944041- 682652
Kolari Klaukkala
Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se741692Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä
Mutta tätä ei YLE eikä Helsingin Sanomat kerto.3931616- 641508
Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!
Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l201476Toivoisin, että lähentyisit kanssani
Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä171141Kevyt on olo
Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <3841068Olisinpa jo siellä, otatkohan minut vastaan
Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni791060