0

ユーザーがリストからアイテムを選択し、ユーザーが TextField にテキストを入力してからボタンを押すと、ユーザーからのテキストと一緒にどのアイテムが選択されたかをユーザーに警告するプログラムを作成しています。ボタンがクリックされたときに、ユーザーからのテキストと一緒にどのアイテムが選択されたかをユーザーに警告します。

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.event.*;


public class fruitList extends JFrame implements ListSelectionListener
{
    private JTextField textField;
    private JList<String> fruitList;
    private JButton buttonwhich;
    private static fruitList  frame;

 public static void main(String[] args)
    {

        fruitList  frame = new fruitList();
        frame.setTitle("Fruit List");
        frame.setSize(350,150);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
   }
   public fruitList()
   {

      final String[] FRUIT_NAME = {"Banana", "Apple", "Orange"};

      setLayout(new FlowLayout());
      buttonwhich = new JButton("Which");
      fruitList = new JList<String>(FRUIT_NAME);
      fruitList.setVisibleRowCount(2); 
      add(new JScrollPane(fruitList));
      fruitList.addListSelectionListener(this);

      textField = new JTextField(10);

      add(textField);
      add(buttonwhich);
      ButtonHandler handler = new ButtonHandler();
      buttonwhich.addActionListener(handler);

   }  
   class ButtonHandler implements ActionListener {
        public void actionPerformed(ActionEvent e) {

            JOptionPane.showMessageDialog(frame,
                    "You Pressed \t" + e.getActionCommand());

        }
   }
}
4

2 に答える 2

0

ButtonHandlerが内部クラスであるという事実を考えると、ゲッターが次のように選択した値を取得できるプライベート変数にアクセスできます。

JOptionPane.showMessageDialog(frame, "You Pressed \t" + fruitList.getSelectedValue() + ";" + textField.getText());

于 2013-03-09T21:34:58.220 に答える
0

問題の import java.awt を修正しました。; java.awt.event をインポートします。;

import javax.swing.*;
import javax.swing.event.*;


public class fruitList extends JFrame
{
    private JTextField textField;
    private JList<String> fruitList;
    private JButton buttonwhich;
    private static fruitList  frame;

 public static void main(String[] args)
    {

        fruitList  frame = new fruitList();
        frame.setTitle("Fruit List");
        frame.setSize(350,150);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
   }
   public fruitList()
   {

      final String[] FRUIT_NAME = {"Banana", "Apple", "Orange"};

      setLayout(new FlowLayout());
      buttonwhich = new JButton("Which");
      fruitList = new JList<String>(FRUIT_NAME);
      fruitList.setVisibleRowCount(2); 
      add(new JScrollPane(fruitList));
     //fruitList.addListSelectionListener(this);

      textField = new JTextField(10);

      add(textField);
      add(buttonwhich);
      ButtonHandler handler = new ButtonHandler();
      buttonwhich.addActionListener(handler);

   }  
   class ButtonHandler implements ActionListener {
       private Object sel;
        public void actionPerformed(ActionEvent e) {

             int[] selectedIx = fruitList.getSelectedIndices();
              for (int i = 0; i < selectedIx.length; i++) {
                  sel = fruitList.getModel().getElementAt(selectedIx[i]);
                }
            JOptionPane.showMessageDialog(frame,
                    "You Pressed \t" + e.getActionCommand()+sel+textField.getText());

        }
   }
}
于 2013-03-09T21:43:08.203 に答える