Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取JList项目的选择并将其作为消息显示在JOptionPane中_Java - Fatal编程技术网

Java 如何获取JList项目的选择并将其作为消息显示在JOptionPane中

Java 如何获取JList项目的选择并将其作为消息显示在JOptionPane中,java,Java,我正在创建一个程序,用户从列表中选择一个项目,然后,用户在文本字段中输入一个文本,然后按下一个按钮,该按钮会提醒用户在用户文本旁边选择了哪个项目。单击该按钮时,如何提醒用户在用户文本旁边选择了哪个项目 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class fruitList extends JFrame implements Lis

我正在创建一个程序,用户从列表中选择一个项目,然后,用户在文本字段中输入一个文本,然后按下一个按钮,该按钮会提醒用户在用户文本旁边选择了哪个项目。单击该按钮时,如何提醒用户在用户文本旁边选择了哪个项目

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());

        }
   }
}
import java.awt.*;
导入java.awt.event.*;
导入javax.swing.*;
导入javax.swing.event.*;
公共类水果列表扩展JFrame实现ListSelectionListener
{
私有JTextField textField;
私家水果名录;
私人按钮按钮,其中;
私有静态结果表框架;
公共静态void main(字符串[]args)
{
结果列表框架=新的结果列表();
框架。设置标题(“水果清单”);
框架。设置尺寸(350150);
frame.setVisible(true);
frame.setDefaultCloseOperation(关闭时退出);
}
公共成果清单()
{
最后一个字符串[]FRUIT_NAME={“香蕉”、“苹果”、“橙子”};
setLayout(新的FlowLayout());
按钮Which=新按钮(“哪个”);
水果列表=新的JList(水果名称);
结果表:setVisibleRowCount(2);
添加(新的JScrollPane(结果列表));
exportList.addListSelectionListener(此);
textField=新的JTextField(10);
添加(文本字段);
添加(按钮所在位置);
ButtonHandler处理程序=新建ButtonHandler();
addActionListener(处理程序)所在的按钮;
}  
类ButtonHandler实现ActionListener{
已执行的公共无效操作(操作事件e){
JOptionPane.showMessageDialog(框架,
“您按了\t”+e.getActionCommand());
}
}
}

鉴于ButtonHandler是一个内部类,因此允许您访问私有变量,然后getter可以按如下方式检索所选值:

JOptionPane.showMessageDialog(框架,“您按下了\t”+fruitList.getSelectedValue()+”;“+textField.getText())

我已经解决了这个问题 导入java.awt。; 导入java.awt.event

import javax.swing.*;
导入javax.swing.event.*;
公共类结果列表扩展了JFrame
{
私有JTextField textField;
私家水果名录;
私人按钮按钮,其中;
私有静态结果表框架;
公共静态void main(字符串[]args)
{
结果列表框架=新的结果列表();
框架。设置标题(“水果清单”);
框架。设置尺寸(350150);
frame.setVisible(true);
frame.setDefaultCloseOperation(关闭时退出);
}
公共成果清单()
{
最后一个字符串[]FRUIT_NAME={“香蕉”、“苹果”、“橙子”};
setLayout(新的FlowLayout());
按钮Which=新按钮(“哪个”);
水果列表=新的JList(水果名称);
结果表:setVisibleRowCount(2);
添加(新的JScrollPane(结果列表));
//exportList.addListSelectionListener(此);
textField=新的JTextField(10);
添加(文本字段);
添加(按钮所在位置);
ButtonHandler处理程序=新建ButtonHandler();
addActionListener(处理程序)所在的按钮;
}  
类ButtonHandler实现ActionListener{
私有对象选择;
已执行的公共无效操作(操作事件e){
int[]selectedIx=水果列表。getSelectedIndices();
对于(int i=0;i
您的
ListSelectionListener
中实现的代码在哪里?这就是我不理解的地方ListSelectionListener和ActionListener在放入同一个程序时给了我错误。另外,您的按钮操作listener没有执行您在问题中描述的操作。哪些错误,使用哪些代码?如果您不显示代码,我们如何告诉您如何修复代码中的错误,而不告诉我们错误是什么?基本上,我想知道如何在单击按钮时提醒用户在用户文本旁边选择了哪个项目
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());

        }
   }
}