При нажатии на кнопку не выводятся текст и картинка

Рейтинг: 0Ответов: 1Опубликовано: 01.11.2014

Идея работы такая: при нажиме на кнопку выводится текст и картинка. Проблема в том, что не происходит изменений (ничего не рисуется).
Подскажите, пожалуйста, как исправить или какой-то более филигранный способ реализации.

Код:

    public class Copy_2_of_SwingDemo_myTry_ {
    String msg;
    Image img;
    JFrame jfrm;
    Copy_2_of_SwingDemo_myTry_(){
        jfrm = new JFrame("Frame");
        jfrm.setLayout(new FlowLayout());
        jfrm.setSize(400, 600);

        jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JButton winterBtn = new JButton("winter");
        JButton summerBtn = new JButton("summer");

        winterBtn.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent e) {
                msg = "winter";
                img = new ImageIcon("1.jpg").getImage();
                jfrm.repaint();
            }

        });

        summerBtn.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent e) {
                msg = "summer";//jlab.setText("Winter");
                img = new ImageIcon("1.jpg").getImage();
                jfrm.repaint();
            }

        });

        //ImageIcon ii = new ImageIcon("i:/1.png");
        //JLabel lbl1 = new JLabel("Winter",ii,JLabel.CENTER);
        //jfrm.add(lbl1);

        jfrm.add(summerBtn);
        jfrm.add(winterBtn);
        //jfrm.add(jlbl);

        jfrm.setVisible(true);
    }
    public static void main(String[] args){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                new Copy_2_of_SwingDemo_myTry_();
            }
        });
    }
    public void paintComponent(Graphics g){
        //super.paintComponent(g);
        g.drawString(msg,50,50);
        g.drawImage(img, 100, 100, 100, 100, (ImageObserver) this);
    }

}

Ответы

Ответов пока нет.