[解決済み] モーダルダイアログでJListを作成する方法はありますか?
2022-03-02 10:40:01
質問
私は
JFrame
がすでに表示されています。ユーザーは保存されたセッションをロードすることができます。
を作成することです。
JList
そのため、ユーザーは選択したセッションを読み込むことができ、フレームを更新することができます。
以下のコードでは、Stringのリストを取得し、リストに追加しています。
DefaultListModel model = new DefaultListModel();
JList list=new JList(model);
JScrollPane pane = new JScrollPane(list);
try {
for (String part : Utils.getSessions()) {
model.addElement(part);
}
} catch (IOException e1) {
e1.printStackTrace();
}
次のステップ : ステップを表示します。
見つけたもの:カレントフレームにペインを追加する
希望:モーダルダイアログでリストを表示する
を作成する方法はありますか?
JList
をモーダルダイアログで使用することはできますか?
解決方法を教えてください。
ということが判明しました。
JOptionPane
はすでにリスト選択機能を備えているので、自分で
JList
.
以下は、使用する呼び出しです。 JOptionPane.showInputDialog
以下は些細な例です。 選択肢のリストを含むダイアログを表示する
以下は、フォント名を選択できる完全に動作する例です (コメントで Andrew が教えてくれた便利なフォントリストのスニペットを使用しています)。
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GraphicsEnvironment;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
public class ListChooserDemo extends JFrame {
JTextPane textPane = new JTextPane();
String lastChoice = null;
public ListChooserDemo() {
setTitle("List Chooser Demo");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(new Dimension(500, 500));
add(new JScrollPane(textPane), BorderLayout.CENTER);
JPanel buttonPanel = new JPanel(new FlowLayout());
add(buttonPanel, BorderLayout.SOUTH);
JButton b = new JButton("Choose it!");
textPane.setText("Click the button...");
b.addActionListener(this::doChooseFont);
buttonPanel.add(b);
}
public void doChooseFont(ActionEvent e) {
// a handy way to get a nontrivial list of choices for a demo
String[] choices = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
// Show a list of options with no effort on our part.
String input = (String) JOptionPane.showInputDialog(
this, // optional reference to frame/window or null
"Choose a font...", // prompt displayed over list
"Font Chooser", // title
JOptionPane.QUESTION_MESSAGE, // message style
null, // Use default icon for message style
choices, // array of choices
lastChoice); // initial choice or null
if (input == null) {
// Handle case when user canceled, didn't select anything, or hit escape
textPane.setText(textPane.getText() + "\r\nCanceled!");
} else {
// Do stuff that happens when a selection was made
textPane.setText(textPane.getText() + "\r\nSelected " + input);
lastChoice = input;
}
}
public static final void main(String[] args) {
// Run in GUI thread
SwingUtilities.invokeLater(() -> {
ListChooserDemo frame = new ListChooserDemo();
// Center in screen and show
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(dim.width / 2 - frame.getSize().width / 2, dim.height / 2 - frame.getSize().height / 2);
frame.setVisible(true);
});
}
}
関連
-
[解決済み] HashMapのtoString関数はなぜ異なる順序で自分自身を印刷するのですか?
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 未処理の例外タイプIOException」が表示されるのですが?
-
[解決済み] maven. -source 1.5ではラムダ式がサポートされていません。
-
[解決済み] Firebase クラスにシリアライズするプロパティが見つからない
-
[解決済み] この配列の中の数字を入れ替えるには、何が足りないのでしょうか?ジャバ
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] コレクションへの共有参照が見つかりました org.hibernate.HibernateException
-
[解決済み] 警告: コンテキスト初期化中に例外が発生 - 更新の試みはキャンセルされました。
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] 文字列が一意な文字であるかどうかを判定する