そこで、Eclipse WindowBuilderを使用してJFrameを設計しています。この特定のフレームは、ユーザーが無効な資格情報を提供したことを示すエラーメッセージです。フレームを終了するボタンを追加し、「指定されたログイン資格情報が無効です。有効な資格情報を入力してください。」という実際のエラーメッセージを表示する必要があります。
私はいくつかの検索を行いましたが、誰もがJLabelを使用するように言っていますが、JLabelを作成してテキストを入力すると、ワードラップなどはないため、ラベルをフレーム内に収めることができません。
JFrameの中央にメッセージを簡単に表示する簡単な方法は何ですか?
テキストのラベルを作成するには:
JLabel label1 = new JLabel("Test");
ラベルのテキストを変更するには:
label1.setText("Label Text");
そして最後にラベルをクリアします:
label1.setText("");
そして、あなたがしなければならないのは、あなたのレイアウト、またはあなたが使用しているレイアウトシステムにラベルを配置し、それをJFrameに追加するだけです...
エラーメッセージを表示するためだけにJFrame
を設計する時間を無駄にする代わりに、デフォルトのモーダルであるJOptionPane
を使用できます。
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Your message goes here!","Message", JOptionPane.ERROR_MESSAGE);
}
}
追伸Swingを学習する場合は、Windowbuilderの使用を停止してください。
jLabelを作成してテキストを入力すると、ワードラップなどはありません
HTML形式を使用すると、スタイル付きテキストを提供するSwingコンポーネントでWordをラップできます。例えば。 この回答 に示されているように。
JFrameにテキストを追加する最も簡単な方法:
JFrame window = new JFrame("JFrame with text");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(new BorderLayout());
window.add(new JLabel("Hello World"), BorderLayout.CENTER);
window.pack();
window.setVisible(true);
window.setLocationRelativeTo(null);
以下を使用して複数行ラベルを追加できます。
JLabel label = new JLabel("My label");
label.setText("<html>This is a<br>multline label!<br> Try it yourself!</html>");
ここから、add()メソッドを使用してフレームにラベルを追加するだけで、準備は完了です!