-1
JOptionPaneを使用して2人のユーザーが入力した数値を読み込み、その2つの数値の合計と商品を表示する必要があります。このプログラムのスイングでボックスを作成する方法を理解できません。JOptionPaneを使用して数式に2つの数値を入力するにはどうすればよいですか?
JOptionPaneを使用して2人のユーザーが入力した数値を読み込み、その2つの数値の合計と商品を表示する必要があります。このプログラムのスイングでボックスを作成する方法を理解できません。JOptionPaneを使用して数式に2つの数値を入力するにはどうすればよいですか?
これを行うには、2つの方法があります。
JOptionPane
JOptionPane
がここためのパネルを構築してみましょう例です。両方とも:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class OptionPanePanel
{
private static void createAndShowUI()
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
// Build a custom panel
JPanel panel = new JPanel(new GridLayout(2, 2));
panel.setBackground(Color.RED);
panel.add(new JLabel("First Name"));
JTextField firstName = new JTextField(10);
// firstName.addAncestorListener(new RequestFocusListener(false));
panel.add(firstName);
panel.add(new JLabel("Last Name"));
JTextField lastName = new JTextField(10);
panel.add(lastName);
int result = JOptionPane.showConfirmDialog(
frame, // use your JFrame here
panel,
"Use a Panel",
JOptionPane.YES_NO_OPTION,
JOptionPane.PLAIN_MESSAGE);
if(result == JOptionPane.YES_OPTION)
{
System.out.println(firstName.getText() + " : " + lastName.getText());
}
else
{
System.out.println("Canceled");
}
// Let Option Pane build the panel for you
JTextField firstName2 = new JTextField(10);
// firstName2.addAncestorListener(new RequestFocusListener());
Object[] msg = {"First Name:", firstName2, "Last Name:", lastName};
result = JOptionPane.showConfirmDialog(
frame,
msg,
"Use default layout",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.YES_OPTION)
{
System.out.println(firstName.getText() + " : " + lastName.getText());
}
else
{
System.out.println("Canceled");
}
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowUI();
}
});
}
}
注:
上記のコードを実行すると、JOptionPaneのボタンにフォーカスが移動します。
フォーカスをテキストフィールドに表示する場合は、例のようにRequest Focus Listener(クラスをダウンロードした後)を使用する必要があります。
[mcve]を投稿して間違っていると、そのコードで何が起こっていると思われるのかをすぐに確認してください。 – MasterBlaster