私のアプリケーションは次のように構成されています。
- メインウィンドウでは、ユーザーは解析するCSVファイルを選択できます
- JOptionPaneは、CSVファイルが選択された後に表示され、JOptionPaneにはさまざまな選択肢のあるドロップダウンメニューが含まれています。それぞれが個別のウィンドウを生成します
- 現在、JOptionPaneは、メニューから選択して[OK]ボタンをクリックすると閉じます。
ユーザーが必要に応じて別のものを選択できるように、JOptionPaneを強制的に開いたままにする方法を探しています。右上隅の「X」をクリックするだけでJOptionPaneを閉じたいのですが。JOptionPaneを使用することが最善の方法ではない場合、同様の結果を達成するための他の可能性も受け入れています。
これが私が取り組んでいる関連するコードのブロックです:
try
{
CSVReader reader = new CSVReader(new FileReader(filePath), ',');
// Reads the complete file into list of tokens.
List<String[]> rowsAsTokens = null;
try
{
rowsAsTokens = reader.readAll();
}
catch (IOException e1)
{
e1.printStackTrace();
}
String[] menuChoices = { "option 1", "option 2", "option 3" };
String graphSelection = (String) JOptionPane.showInputDialog(null,
"Choose from the following options...", "Choose From DropDown",
JOptionPane.QUESTION_MESSAGE, null,
menuChoices, // Array of menuChoices
menuChoices[0]); // Initial choice
String menuSelection = graphSelection;
// Condition if first item in drop-down is selected
if (menuSelection == menuChoices[0] && graphSelection != null)
{
log.append("Generating graph: " + graphSelection + newline);
option1();
}
if (menuSelection == menuChoices[1] && graphSelection != null)
{
log.append("Generating graph: " + graphSelection + newline);
option2();
}
if (menuSelection == menuChoices[2] && graphSelection != null)
{
log.append("Generating graph: " + graphSelection + newline);
option3();
}
else if (graphSelection == null)
{
log.append("Cancelled." + newline);
}
}