Hoj,

odpovedet nebude snadny, protoze se da tezko vyznat v tom co si poslal - nicmene:

1) GBC funguje normalne, problem je pouze v tom, ze mas gulas v tom kodu - zda se mi, ze bys obcas chtel nastavit gridy opet na nula, takhle ti to musi vykreslovat nejake podivne kaskadovite usporadani - tj. gulas.

2) tezko rict proc ti nefunguje resize, nevim co jsou promenne hodnotaX a hodnotaY, takze pokud ti to obrazek nezmensi, zda se mi, ze duvod bude stejny jako v minulem bode - gulas. Posledni argument getScaledInstance je popsany v javadocu a je to napr. Image.SCALE_FAST.

bonus) Nepouzivej podtrzitka v nazvech promennych. Nepojmenovavej promenne s velkym pismenem na zacatku.

Good luck.

[EMAIL PROTECTED] wrote:
Hoj,
mohl by někdo poradit. Mám následující problémy.
v metodě action_performed vykresluju do JPanelu butony potaženy Imagem. Problémy jsou dva 1 - do GridLayout(JPanel jpa) se mi to skládá opačně než potřebuju, tj. obrázek projedu po sloupcích SubImage ,ale když to skládám do Layoutu tak se to skládá napřed do řádků ...
2 - potřebuju změnit rozměry SubImage tj. původní obrázek má třeba rozměry  
2000*1000 a já to potřebuju překonvertovat na 800*600
přikládám metodu :

BufferedImage img = null;
        try {
            img = ImageIO.read(new File("LV.jpg"));
        } catch (IOException e) {
} int Width = img.getWidth()/4;
        int Height = img.getHeight()/3;
        JPanel jpa = new JPanel(new GridLayout(4,3));
        jpa.setSize(800,600);
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx =0;
        gbc.gridy =0;
        for (int i = 0; i < 4; i++) {
            gbc.gridx++;
            for (int j = 0; j < 3; j++) {
                gbc.gridy++;
                int pozicex =Width*i;
                int pozicey =Height*j;
                BufferedImage im = 
img.getSubimage(pozicex,pozicey,Width,Height);
                // ImageIcon f1 = new ImageIcon(im);
<----
                int rozmerX_Frame = jpa.getWidth()/hodnotaX;
                int rozmetY_Frame = jpa.getHeight()/hodnotaY;
                Image f1 = im.getScaledInstance(rozmerX_Frame,rozmetY_Frame,1);
                ImageIcon f2 = new ImageIcon(f1);
---->  pokud tuto čast odstraním ,funguje ale do buttonu se uloží neresizované 
ImageIcon
                JButton btn = new JButton(f2);
                jpa.add(btn,gbc);
} } add(jpa);
        setVisible(true);
problém 1 jsem se pokoušel řešit přes GridBagConstraints ale nefunguje .(( u generování menších rozměrů jsem nějak nepochopil volby getScaledInstance(rozmerX_Frame,rozmetY_Frame,1); ten poslední int má určovat nějakou metodu převodu ale to teda nevím .) co bych měl zvolit Popřípadě kdyby někdo věděl jiný(lepší řešení jak to udělat).......

Zatím Petr Roubal




--
S pozdravem,

        Tomas Zverina

Multimedia atelier s.r.o.
Na Dolinách 4
147 00 Praha 4
IČO: 25127071
tel.: 241 433 120
e-mail: [EMAIL PROTECTED]
http://www.m-atelier.cz/

Společnost Multimedia atelier s.r.o. je zapsána u rejstříkového soudu v
Praze, oddíl C, vložka 51961.

Odpovedet emailem