Средство просмотра изображений Java - PullRequest
0 голосов
/ 01 мая 2011

Я пытаюсь создать средство просмотра изображений, идея состоит в том, чтобы средство просмотра показывало одно изображение: случайную кнопку и кнопку сброса, чтобы позволить пользователю нажать кнопку и циклически перебирать список различных изображений. Я могу открыть зрителя, но не могу заставить зрителя вращать изображения. вот код Буду благодарен за любую помощь

import java.awt.*;
import javax.swing.*;


public class CreateImage extends JFrame {
    private JButton jbtRandom = new JButton("Random");
    private JButton jbtReset = new JButton ("Reset");

   public CreateImage() {

        JPanel panel = new JPanel();
        panel.add(jbtRandom);
        panel.add(jbtReset);


        Image image1 = new ImageIcon("kobe.jpg").getImage();
        Image image2 = new ImageIcon("joe.jpg").getImage();
        Image image3 = new ImageIcon("sidney.jpg").getImage();
        Image image4 = new ImageIcon("bugs.gif").getImage();
        Image image5 = new ImageIcon("mac.jpg").getImage();
        Image image6 = new ImageIcon("snooki.jpg").getImage();

        setLayout(new GridLayout(2, 0, 5, 5));
        add(new ImageViewer(image1));


        /*add(new ImageViewer(image2));// <== extra lines form first viewer attempt  
         add(new ImageViewer(image3)); //, <== which showed all images at once.
         add(new ImageViewer(image4));// <== only need one image and to flip 
         add(new ImageViewer(image5));// <== to a random image
         add(new ImageViewer(image6));// <==      */
    }

    public class ImageViewer extends JPanel {
        private java.awt.Image image;
        private boolean stretched = true;
        private int xCoordinate;
        private int yCoordinate;
        public ImageViewer() {

        }
        public ImageViewer(Image image) {
            this.image = image;
       }

        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            if (image != null)
                if (isStretched())
                    g.drawImage(image, xCoordinate, yCoordinate, getWidth(), getHeight(), this);
                else
                    g.drawImage(image, xCoordinate, yCoordinate, this);
        }
        public java.awt.Image getImage() {
        return image;
        }

        public void setImage(java.awt.Image image) {
            this.image = image;
            repaint();
        }

        public boolean isStretched() {
            return stretched;
        }

        public void setStretched(boolean stretched) {
            this.stretched = stretched;
            repaint();
        }

        public int getXCoordinate() {
            return xCoordinate;
        }

        public void setXCoodinate(int xCoordinate) {
            this.xCoordinate = xCoordinate;
        }

        public int getYCoordinate() {
            return xCoordinate;
        }

        public void setYCoodinate(int yCoordinate) {
            this.yCoordinate = yCoordinate;
            repaint();
        }
    }

    public static void main(String[] args) {
        JFrame frame = new CreateImage();
        frame.setTitle("Random Image-Click The Button");
        frame.add(new JButton("Random"));
        frame.add(new JButton("Reset"));
        frame.setSize(400, 320);
        frame.setLocationRelativeTo(null); //Center Frame
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

    }
}

1 Ответ

0 голосов
/ 01 мая 2011

Вот несколько шагов, которые необходимо предпринять, чтобы начать:

1) Вместо того, чтобы просто создавать и выбрасывать изображения. Поместите их куда-нибудь - как в Список или Карту. 2) Добавьте обработчик событий к вашей кнопке Random. 3) Нажав эту кнопку, выберите и покажите новое изображение из своего списка или карты.

Как только вы это сделаете, напишите еще один более конкретный вопрос, если вы все еще застряли. Вы довольно далеки от достижения своей конечной цели на данный момент, поэтому пока просто сосредоточьтесь на реагировании на пользовательское событие (нажатие на кнопки), чтобы начать с.

Обратитесь к этому , чтобы начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...