Любые предложения о том, как я могу создать ссылку электронной почты в кнопке Java

1

Что я хочу сделать, так это создать ссылку электронной почты на кнопке, чтобы при нажатии пользователем кнопки она запускает почтовый клиент по умолчанию, а мой адрес электронной почты является адресом назначения

Я пробовал экспериментировать с этим, но не повезло (я понятия не имею):

private void jButton50ActionPerformed(java.awt.event.ActionEvent evt) {                                          

    URL url = new URL('[email protected]');
}   

Но, конечно, это не URL!

Обновление: я пробовал это, и я получаю ошибки всякий раз, когда я пытаюсь использовать mail(). Нужно ли мне что-то импортировать?

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    String mailTo = jButton2.getText();
    URI uriMailTo = null;

    try
    {
        if(mailTo.length() > 0)
        {
            uriMailTo = new URI("mailto", mailTo, null);
            desktop.mail(uriMailTo);
        }

        else
        {
            desktop.mail();
        }
    }

    catch(IOException e)
    {
        e.printStackTrace();
    }

    catch(URISyntaxException use)
    {
        use.printStackTrace();
    }
}                              
Теги:

1 ответ

1
Лучший ответ

Взгляните на интеграцию с классом рабочего стола

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

private void onLaunchMail(ActionEvent evt) {
    String mailTo = txtMailTo.getText();
    URI uriMailTo = null;
    try {
        if (mailTo.length() > 0) {
            uriMailTo = new URI("mailto", mailTo, null);
            desktop.mail(uriMailTo);
        } else {
            desktop.mail();
        }
    } catch(IOException ioe) {
        ioe.printStackTrace();
    } catch(URISyntaxException use) {
        use.printStackTrace();
    }
}

Вы также должны взглянуть на " Desktop#mail(URI), не используя нужный формат URI

Mailto: URI может указывать поля сообщений, включая "to", "cc", "subject", "body" и т.д. См . Схему адреса электронной почты (RFC 2368) для деталей спецификации mailto: URI.

Обновлено с помощью рабочего примера...

import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class TestEmail {

    public static void main(String[] args) {
        if (Desktop.isDesktopSupported()) {
            Desktop desktop = Desktop.getDesktop();
            if (desktop.isSupported(Desktop.Action.MAIL)) {
                String mailTo = "[email protected]";
                URI uriMailTo = null;
                try {
                    if (mailTo.length() > 0) {
                        System.out.println("Mail to " + mailTo);
                        uriMailTo = new URI("mailto", mailTo,  "This is a message");
                        desktop.mail(uriMailTo);
                    } else {
                        System.out.println("Mail");
                        desktop.mail();
                    }
                } catch (IOException ioe) {
                    ioe.printStackTrace();
                } catch (URISyntaxException use) {
                    use.printStackTrace();
                }
            }
        }
    }

}
  • 0
    Благодарю. Позвольте мне попробовать кое-что с тем, что вы мне дали ...
  • 0
    Я вроде понимаю всю концепцию, но я пытался использовать код, но не повезло! Вот что я попробовал (обновление)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню