JLIST复选框问题

JLIST复选框问题

list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

其中的参数我们选择可以复选的multiple,还有一个关键的地方是我们需要在监听事件地方将我们每一次选中的数组存到里面去,

同时由于set函数的添加方式会发生覆盖问题,这里我们并没有采用add方式,而是采用了set 同时加上每一次的上次的所选的数值

同时我们通过案例可以发现这时候我们每次的选中次序 比如先从上到下 和从下到上的顺序情况

package Z9_9;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Z9_9_basis implements ItemListener,ListSelectionListener 
{
	JList list;
	JComboBox comboBox;
	JTextArea ta;
	public Z9_9_basis() {
		// TODO Auto-generated constructor stub
		JFrame jFrame=new JFrame("列表框与组合框测试");
		String [] item={"中山大学","华南理工","背景大学","韶关学院"};
		list = new JList(item);
		//list.setSelectedIndex(1);
		list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
		list.addListSelectionListener(this);
		Container contentPane=jFrame.getContentPane();
		contentPane.setLayout(new GridLayout(1,2));
		JPanel jp=new JPanel();
		ta=new JTextArea(50,50);
		jp.add(ta);
		contentPane.add(new JScrollPane(list));
		contentPane.add(jp);
		jFrame.setSize(800,600);
		jFrame.setVisible(true);
		}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Z9_9_basis();
	}
	@SuppressWarnings("deprecation")
	@Override
	public void valueChanged(ListSelectionEvent e) {
		if(e.getSource() == list)
		{
			Object[] str = list.getSelectedValues();//将选中的数值存在str中
			for(Object s:str){
				ta.setText(ta.getText()+(String)s);//做保留处理
			}
		}
	}

	@Override
	public void itemStateChanged(ItemEvent e) {
		// TODO Auto-generated method stub
		
	}

}

猜你喜欢

转载自blog.csdn.net/qq_37457202/article/details/80349833
今日推荐