Netbeans Warnung: der Export von nicht-öffentlicher Art durch öffentliche API

Ich bin erstellen einer Slick2D game. Jetzt bin ich durch ein Video-Klasse, die enthält innere Klassen (FrameSize, FPS, FullScreen..). So hatte ich ein GUTES Idee um die Kiste in der Art und Weise, wie wir es nennen-System.aus.println(). Das bedeutet, dass ich die öffentlichen Video-Klasse und öffentliche, statische Instanzen von seiner inneren clasess, aber netbeans IDE wirft mir einen Tipp mit "Export von nicht-öffentlicher Art durch öffentliche API ". So, soll ich das einfach ignorieren und weiterhin tun, die Art und Weise, die ich Tat, oder es wäre toll, wenn könnten Sie mir empfehlen, Ihre Idee?

VIDEO

public class Video {

    public static FrameSize frameSize;
    public static FullScreen fullScreen;
    public static FPS fps;

    private Video() {}

    public static void loadArguments(Scanner loadInput) {
        boolean isVideo = false;
        String readLine;

        while (loadInput.hasNext()) {
            readLine = loadInput.next();
            if (readLine.equalsIgnoreCase("video")) {
                isVideo = true;
                break;
            }
        }

        while (isVideo && loadInput.hasNext()) {
            readLine = loadInput.next();
            if (readLine.equalsIgnoreCase("end")) {
                break;
            }
            String[] line = readLine.split("=");

            String key = line[0];
            String value = line[1];

            switch (key) {
                case "width":
                    frameSize.setWidth(Integer.parseInt(value));
                    break;
                case "height":
                    frameSize.setHeight(Integer.parseInt(value));
                    break;
                case "fullscreen":
                    break;
                case "fps":
                    break;
                default:
                    System.err.println("Unknown video key: " + key);
                    break;
            }
        }
    }

    public static void saveArguments(String filePath) {
        Scanner saveInput;
        try {
            saveInput = new Scanner(new File(filePath));
        } catch (FileNotFoundException fne) {
            System.err.println("Invalid settings-file.");
            return;
        }

        //TO DO: save function

        saveInput.close();
    }

    class FrameSize {

        public final int[][] SIZE_VALUES = {
                {800, 600},
                {1000, 700},
                {1200, 800},
                {1400, 900}
        };

        private int index;
        private int width, height;

        private FrameSize() {}

        public void setSize(int width, int height) {
            this.width = width;
        }

        public int getWidth() {
            return width;
        }

        public void setWidth(int width) {
            this.width = width;
        }

        public int getHeight() {
            return height;
        }

        public void setHeight(int height) {
            this.height = height;
        }

        @Override
        public String toString() {
            return this.width + " x " + this.height;
        }

    }

    class FullScreen {

        private boolean fullScreen;

        private FullScreen() {}

        public boolean isFullScreen() {
            return fullScreen;
        }

        public void setFullScreen(boolean fullScreen) {
            this.fullScreen = fullScreen;
        }

        @Override
        public String toString() {
            return "" + fullScreen;
        }        
    }

    class FPS {

        private boolean FPS;

        private FPS() {}

        public boolean isFPS() {
            return FPS;
        }

        public void setFPS(boolean FPS) {
            this.FPS = FPS;
        }        

        @Override
        public String toString() {
            return "" + fps;
        }

    }

}

AUDIO

public class Audio {

    private static Sound sound;
    private static Volume volume;

    private Audio() {}

    public void loadArguments(Scanner loadInput) {
        boolean isAudio = false;
        String readLine;

        while (loadInput.hasNext()) {
            readLine = loadInput.next();
            if (readLine.equalsIgnoreCase("audio")) {
                isAudio = true;
                break;
            }
        }

        while (isAudio && loadInput.hasNext()) {
            readLine = loadInput.next();
            if (readLine.equalsIgnoreCase("end")) {
                break;
            }
            String[] line = readLine.split("=");

            String key = line[0];
            String value = line[1];

            switch (key) {
                case "sound":
                    break;
                case "volume":
                    break;
                default:
                    System.err.println("Unknown audio key: " + key);
                    break;
            }
        }
    }

    public void saveArguments(String filePath) {
        Scanner saveInput;
        try {
            saveInput = new Scanner(new File(filePath));
        } catch (FileNotFoundException fne) {
            System.err.println("Invalid settings-file.");
            return;
        }

        //TO DO: save function

        saveInput.close();
    }

    class Sound {

        private boolean sound;

        private Sound() {}

        public boolean isSound() {
            return sound;
        }

        public void setSound(boolean sound) {
            this.sound = sound;
        }

        @Override
        public String toString() {
            return "" + sound;
        }        
    }

    class Volume {

        private static final double PITCH = 0.1d;
        private double volume;

        private Volume() {}

        public double getVolume() {
            return volume;
        }

        public void setVolume(double volume) {
            this.volume = volume;
        }

        public void increaseVolume() {
            if (!isVolumeRange(this.volume)) {
                return;
            }
            this.volume = this.volume + PITCH;
        }

        public void decreaseVolume() {
            if (!isVolumeRange(this.volume)) {
                return;
            }
            this.volume = this.volume - PITCH;
        }

        public boolean isVolumeRange(double volume) {
            return volume >= 0.0 && volume <= 10.0;
        }

    }

}
  • gut der Fehler ist ganz klar imo.. vielleicht migrieren Klassen, die nicht zu b e öffentliche und vielleicht verwenden Sie eine Schnittstelle zu exportieren, was Sie brauchen?
InformationsquelleAutor nellykvist | 2013-09-22
Schreibe einen Kommentar