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
318
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
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225134- 254308
- 272461
- 342234
- 371998
- 151908
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191587- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211247Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101164