Як подати просте повідомлення попередження у java?


128

Починаючи з .NET, я так звик дзвонити Alert () у додатках для настільних ПК. Однак у цьому додатку для настільних програм Java я просто хочу попередити повідомлення про те, що "дякую за використання Java".

(за допомогою JOptionPane)

Чи є простіший спосіб?


10
Чого саме ви очікуєте від "легшого"? Якщо це багатослівність, чому б просто не загорнути її в якийсь метод статичної корисності і приховати, наприклад? До речі, офіційний підручник тут .
BalusC

5
Якщо ви прочитаєте документацію замість 12-річних підручників з подальшим негайним поданням скарги, ви дізнаєтесь, що є [перевантаження з лише двома параметрами: docs.oracle.com/javase/7/docs/api/javax/swing/… , java.lang.Object). (Перший з них може бути недійсним.)
Мілімоз

Відповіді:


240

Я першим визнаю, що Java може бути дуже багатослівною, але я не думаю, що це нерозумно:

JOptionPane.showMessageDialog(null, "My Goodness, this is so concise");

Якщо ви статистично імпортуєте, javax.swing.JOptionPane.showMessageDialogвикористовуючи:

import static javax.swing.JOptionPane.showMessageDialog;

Це додатково зводиться до

showMessageDialog(null, "This is even shorter");

34
Нічого поганого у багатослівності. Насправді я вважаю, що це одна з його сильних сторін.
мере

14
@mre Я гадаю, це або жарт, або ти нерозумієш "багатослів'я"?
Донал

36
@mre, якщо вам не потрібна практика набору тексту для переходу до секретарської роботи, я не бачу, наскільки бажана багатослівність.
Dónal

5
@ Dónal Коли для простої речі потрібна ціла сторінка коду, щоб почати працювати, це справді створює масу додаткових робочих місць для людей! :)
Євгеній Сергєєв

5
@Alids використовувати другу версію, вам потрібно додати наступне до свого імпортуimport static javax.swing.JOptionPane.showMessageDialog
Dónal

38

Якщо припустити, що у вас вже є JFrame, щоб зателефонувати цьому:

JOptionPane.showMessageDialog(frame, "thank you for using java");

Див . Підручники Java: Як скласти діалоги.
Див . JavaDoc


4
Перший аргумент може бути, nullякщо у вас немає JFrameдоступних.
Дрю Ноакс

5
Зауважте (до кого це може стосуватися): JOptionPaneвjavax.swing
Євгеній Сергєєв

31

Якщо вам не подобається "багатослів'я", ви завжди можете перетворити свій код коротким методом:

private void msgbox(String s){
   JOptionPane.showMessageDialog(null, s);
}

та використання:

msgbox("don't touch that!");

24

Навіть не імпортуючи гойдалки, ви можете отримати дзвінок в одному, будь то довгий, рядковий. В іншому випадку просто використовуйте імпорт гойдалки та простий дзвінок:

JOptionPane.showMessageDialog(null, "Thank you for using Java", "Yay, java", JOptionPane.PLAIN_MESSAGE);

Досить просто.


6

Викличте метод "setWarningMsg ()" та передайте текст, який ви хочете показати.

exm:- setWarningMsg("thank you for using java");


public static void setWarningMsg(String text){
    Toolkit.getDefaultToolkit().beep();
    JOptionPane optionPane = new JOptionPane(text,JOptionPane.WARNING_MESSAGE);
    JDialog dialog = optionPane.createDialog("Warning!");
    dialog.setAlwaysOnTop(true);
    dialog.setVisible(true);
}

Або просто використовувати

JOptionPane optionPane = new JOptionPane("thank you for using java",JOptionPane.WARNING_MESSAGE);
JDialog dialog = optionPane.createDialog("Warning!");
dialog.setAlwaysOnTop(true); // to show top of all other application
dialog.setVisible(true); // to visible the dialog

Ви можете використовувати JOptionPane. (WARNING_MESSAGE або INFORMATION_MESSAGE або ERROR_MESSAGE)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.