Created
June 21, 2012 09:11
-
-
Save Cherubi/2964763 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.awt.*; | |
import javax.swing.*; | |
/** | |
* | |
* @author Cherubi | |
*/ | |
public class LayoutBlockOut implements Runnable { | |
private JFrame kehys; | |
public static void main(String[] args) { | |
SwingUtilities.invokeLater(new LayoutBlockOut()); | |
} | |
@Override | |
public void run() { | |
luoIkkuna(); | |
luoPaaLayout(); | |
} | |
private void luoIkkuna() { | |
kehys = new JFrame(); | |
kehys.setPreferredSize(new Dimension(800, 600)); | |
kehys.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | |
kehys.pack(); | |
kehys.setVisible(true); | |
} | |
private void luoPaaLayout() { | |
kehys.setLayout(new BorderLayout()); | |
kehys.add(luoCenter(), BorderLayout.CENTER); | |
kehys.add(luoEtelavalikko(), BorderLayout.SOUTH); | |
} | |
private JButton luoNappula(String teksti) { | |
JButton nappula = new JButton(teksti); | |
nappula.setFocusable(false); | |
return nappula; | |
} | |
private Container luoEtelavalikko() { | |
Container etela = new Container(); | |
etela.setLayout(new GridLayout(1,3)); | |
etela.add(luoPystyLayoutEtelaan()); | |
etela.add(luoNappula("2")); | |
etela.add(luoNappula("3")); | |
return etela; | |
} | |
private Container luoPystyLayoutEtelaan() { | |
Container pysty = new Container(); | |
pysty.setLayout(new GridLayout(3,1)); | |
pysty.add(luoNappula("1.1")); | |
pysty.add(luoNappula("1.2")); | |
pysty.add(luoNappula("1.3")); | |
return pysty; | |
} | |
private Container luoCenter() { | |
Container center = new Container(); | |
center.setLayout(new BorderLayout()); | |
center.add(luoTalletetut(), BorderLayout.WEST); | |
center.add(luoNappula("Otsikko"), BorderLayout.NORTH); | |
center.add(luoAsetukset(), BorderLayout.CENTER); | |
return center; | |
} | |
private Container luoTalletetut() { | |
Container talletetut = new Container(); | |
talletetut.setLayout(new GridLayout(7,1)); | |
talletetut.add(luoNappula("Talletetut asetukset")); | |
for (int i = 1; i < 6; i++) { | |
talletetut.add(luoNappula(i+"")); | |
} | |
talletetut.add(luoNappula("")); | |
return talletetut; | |
} | |
private Container luoAsetukset() { | |
Container asetukset = new Container(); | |
asetukset.setLayout(new BorderLayout()); | |
asetukset.add(luoNappula("Otsikko"), BorderLayout.NORTH); | |
asetukset.add(luoAsetusGrid(), BorderLayout.CENTER); | |
return asetukset; | |
} | |
private Container luoAsetusGrid() { | |
Container grid = new Container(); | |
grid.setLayout(new GridLayout(1,3)); | |
grid.add(luoEkaPuoliGrid("1", "Palikat")); | |
grid.add(luoTokaPuoliGrid("1", "2")); | |
grid.add(luoFlow()); | |
return grid; | |
} | |
private Container luoEkaPuoliGrid(String eka, String toka) { | |
Container puoli = new Container(); | |
puoli.setLayout(new GridLayout(2,1)); | |
puoli.add(luoPalikkasetit()); | |
puoli.add(luoNappula(toka)); | |
return puoli; | |
} | |
private Container luoPalikkasetit() { | |
Container palikkasetit = new Container(); | |
palikkasetit.setLayout(new BoxLayout(palikkasetit, BoxLayout.Y_AXIS)); | |
palikkasetit.add(new JLabel("Palikkasetti")); | |
for (int i=0; i<4; i++) { | |
palikkasetit.add(luoNappula(i+1 + "")); | |
} | |
return palikkasetit; | |
} | |
private Container luoTokaPuoliGrid(String eka, String toka) { | |
Container puoli = new Container(); | |
puoli.setLayout(new GridLayout(2,1)); | |
puoli.add(luoUlottuvuudet()); | |
puoli.add(luoJaettuGrid()); | |
return puoli; | |
} | |
private Container luoUlottuvuudet() { | |
Container palikkasetit = new Container(); | |
palikkasetit.setLayout(new BoxLayout(palikkasetit, BoxLayout.Y_AXIS)); | |
for (int i=0; i<3; i++) { | |
palikkasetit.add(new JLabel(i+1 + ". teksti")); | |
palikkasetit.add(luoNappula(i+1 + "")); | |
} | |
return palikkasetit; | |
} | |
private Container luoJaettuGrid() { | |
Container jaettu = new Container(); | |
jaettu.setLayout(new GridLayout(2,1)); | |
jaettu.add(luoNappula("Nappulat")); | |
jaettu.add(luoNappula("Värit")); | |
return jaettu; | |
} | |
private Container luoFlow() { | |
Container flow = new Container(); | |
flow.setLayout(new FlowLayout()); | |
Container box = new Container(); | |
box.setLayout(new BoxLayout(box, BoxLayout.Y_AXIS)); | |
box.add(new JLabel("Taso")); | |
for (int i=0; i<=10; i++) { | |
box.add(luoNappula(i + "")); | |
} | |
flow.add(box); | |
return flow; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment