Создание внешнего интерфейса и соединение их в Java - PullRequest
1 голос
/ 30 ноября 2011

Я новичок в программировании на Java. Используя JavaMail API, я написал программу для отправки электронных писем. Теперь мне нужно создать внешний интерфейс и подключить их. Я использую только Блокнот для написания программ, я не использую IDE. Как легко создать интерфейс и подключиться к моей программе?

Моя программа:

import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
import java.util.*;

public class Mailer {

    public void Mailer() throws Exception {
        String usrname;
        String pwd;
        Scanner in = new Scanner(System.in);
        System.out.println("\nEnter the gmail user name :");
        usrname = in.next();
        System.out.println("\nEnter the Password :");
        pwd = in.next();
        String HOST_NAME = "smtp.gmail.com";
        int HOST_PORT = 465;

        Properties props = new Properties();
        props.put("mail.transport.protocol", "smtps");
        props.put("mail.smtps.host", HOST_NAME);
        props.put("mail.smtps.auth", "true");

        Session mailSession = Session.getDefaultInstance(props);
        Transport transport = mailSession.getTransport();

        String toadd;
        System.out.println("\nEnter the Recipient Address:");
        toadd = in.next();
        MimeMessage message = new MimeMessage(mailSession);

        System.out.println("\nEnter the Subject:");

        String sub = in.nextLine();
        message.setSubject(sub);

        System.out.println("\nEnter the message body:");
        String body = in.nextLine();
        message.setContent(body, "text/plain");
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(toadd));
        transport.connect(HOST_NAME, HOST_PORT, usrname, pwd);
        transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
        transport.close();

        System.out.println("Mail Sent successfully!!!!");
        System.exit(0);
    }

    public static void main(String[] args) throws Exception {
        System.out.println("*******************Welcome to Mailer*************************");

        Mailer mail = new Mailer();
        mail.Mailer();
    }
}

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011
  1. Извлеките метод, который принимает параметры и выполняет отправку электронной почты. В этом методе нельзя использовать system.out и system.in.
  2. Для теста вы можете использовать этот метод с вашими существующими частями кода. который читает параметры из консоли.
  3. Создать форму графического интерфейса, которая содержит все поля ввода и, возможно, некоторые кнопка. Ваш код запустится примерно так: JFrame f = new Фрейм (); f.add (новый JLabel ("to")); ... f.setVisible (true); У тебя есть узнать много нового о компоновке компонентов. Этот код может быть в «основном» метод для простоты.
  4. Свяжите свой веб-интерфейс с внутренним: создайте метод actionListener на кнопке, которая собирает параметры из полей ввода (getText ()) и вызывает метод отправителя электронной почты.

Вот и все. :)

0 голосов
/ 30 ноября 2011

Вы можете сделать пакеты. Различные пакеты для разных целей.

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

Затем вы можете вызывать методы этого класса из ваших интерфейсных классов.

Для создания внешнего интерфейса вы можете использовать Swings для создания внешнего интерфейса на основе графического интерфейса или же создать блокнот на основе CUI из Блокнота.

Не обязательно использовать любую IDE, но это просто облегчает кодирование.

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