Управление функцией main - PullRequest
       17

Управление функцией main

2 голосов
/ 31 августа 2011

Я создал класс A, который читает текстовый файл и изменяет некоторые строки в тексте, а код написан на main() этого класса.Я также создал другой класс B, который имеет Frame, Frame содержит список текстовых файлов каталога и кнопку.Что я не знаю, как это сделать: когда я нажимаю на выбранный элемент в списке и нажимаю кнопку, вызывается функция main, и выбранный элемент читается main().

Любое предложение приветствуется и спасибо заранее.

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

Основной метод, как и любой другой метод, вы вызываете его так же.

class A {
    public static void main(String... args) {
        String filename = args[0];
    }
}

class B {
    public void onFilename(String filename) {
        A.main(filename);
    }
}

Возможно, вы захотите использовать фоновый поток вместо блокировки графического интерфейса во время его обработки. ;)

3 голосов
/ 31 августа 2011

Когда у вас есть код в методе static main, у вас есть необъектно-ориентированный блок кода, который не будет легко использоваться другими объектно-ориентированными частями вашей программы.Лучшее решение здесь - получить весь код, кроме минимального, из основного и создать настоящий ООП-совместимый класс, который будет легче использовать ваши другие классы.

Другая ваша проблема - это смешивание вашихкод обработки текста с вашим кодом GUI, и это может потребовать дальнейшего исправления, особенно, если код обработки текста занимает некоторое время или занимает процессорную нагрузку.Если это так, вам нужно позаботиться о том, чтобы выполнить обработку текста в потоке, который является фоном для потока GUI, и опять же, это гораздо проще выполнить, если код обработки текста находится в классном OOP-классе с хорошим поведением..

...