建设网站服务器,网站源码下载 app,怎么给网站做301,中国图片素材网注释很详细#xff0c;直接上代码 上一篇 新增内容 #x1f9e7;1.列表的属性设置与选项监听器 #x1f9e7;2.下拉框的属性设置与选项监听器 #x1f9e7;3.Box中组件填充情况不符合预期的处理方法 #x1f9e7;4.LIst向Vector的转化方法 源码#xff1a; package swing… 注释很详细直接上代码 上一篇 新增内容 1.列表的属性设置与选项监听器 2.下拉框的属性设置与选项监听器 3.Box中组件填充情况不符合预期的处理方法 4.LIst向Vector的转化方法 源码 package swing31_40;import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.List;
import java.util.Vector;public class swing_test_38 {//定义一个JFrame对象JFrame jFrame new JFrame(列表框测试);String[] books {java自学宝典,轻量级javaEE企业应用实战,Android基础教程,jQuery实战教程,SpringBoot企业级开发};//用一个字符串数组来创建一个JList对象JListString bookList new JList(books);//定义 选择列表项的下拉框JComboBoxString bookSelector;//定义 布局选择按钮 所在的面板JPanel layoutPanel new JPanel();//定义 布局选择按钮 所在的按钮组//这里既然可以直接添加为什么要按钮组呢//此处的按钮组是用于集合按钮获取其中的数量从而进行单个按钮的初始化选中ButtonGroup layoutGroup new ButtonGroup();//定义 选择模式按钮 所在面板JPanel selectModePanel new JPanel();//定义 选择模式按钮 所在的按钮组ButtonGroup selectModeGroup new ButtonGroup();//定义 喜欢的书籍的文本域JTextArea favorite new JTextArea(4,40);public void init(){//设置JList的可视高度可以同时展示3个列表项bookList.setVisibleRowCount(3);//设置Jlist默认选中第二和第三项bookList.setSelectionInterval(1,2);//添加布局选择按钮addLayoutButton(纵向滚动,JList.VERTICAL);addLayoutButton(纵向换行,JList.VERTICAL_WRAP);addLayoutButton(横向换行,JList.HORIZONTAL_WRAP);//添加选择模式按钮addSelectModeButton(无限制, ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);addSelectModeButton(单选, ListSelectionModel.SINGLE_SELECTION);addSelectModeButton(单范围, ListSelectionModel.SINGLE_INTERVAL_SELECTION);//将JList和布局选择按钮放置到box中Box listBox Box.createVerticalBox();//将JList组件放置到JScrollPane中并将JScrollPane放置到box中//原因使界面样式达到平衡listBox.add(new JScrollPane(bookList));//将布局选择按钮放置到box中listBox.add(layoutPanel);//将选择模式按钮放置到box中listBox.add(selectModePanel);//为JList添加事件监听器bookList.addListSelectionListener(new ListSelectionListener() {Overridepublic void valueChanged(ListSelectionEvent e) {//当JList的列表项发生变化时执行此方法//获取JList的列表项ListString selectedValuesList bookList.getSelectedValuesList();//清空文本域favorite.setText();//将JList的列表项添加到文本域中for (String s : selectedValuesList) {//将JList的列表项添加到文本域中favorite.append(s\n);}}});//定义一个Vector对象VectorString bookCollection new Vector();//将List集合转换为Vector集合ListString books List.of(java自学宝典,轻量级javaEE企业应用实战,Android基础教程,jQuery实战教程,SpringBoot企业级开发);bookCollection.addAll(books);//创建JComboBox对象bookSelector new JComboBox(bookCollection);//为JComboBox添加事件监听器bookSelector.addItemListener(new ItemListener() {Overridepublic void itemStateChanged(ItemEvent e) {//当JComboBox的列表项发生变化时执行此方法//获取JComboBox的列表项Object selectedItem bookSelector.getSelectedItem();//将JComboBox的列表项显示在文本域中favorite.setText(selectedItem.toString());}});//设置JComboBox的列表项可编辑bookSelector.setEditable(true);//设置下拉列表的可视高度最多显示4个列表项bookSelector.setMaximumRowCount(4);//为什么将bookSelector添加到面板中呢//如果不这样下拉栏会默认填充所有位置JPanel panel new JPanel();//定义一个JPanel面板panel.add(bookSelector);//将JComboBox添加到面板中Box box Box.createHorizontalBox();//定义一个Box面板box.add(listBox);//将JList添加到Box面板中box.add(panel);//将JPanel添加到Box面板中JPanel favoritePanel new JPanel();//定义一个JPanel面板favoritePanel.setLayout(new BorderLayout());//设置布局为BorderLayoutfavoritePanel.add(new JScrollPane(favorite));//将JTextArea添加到JScrollPane中favoritePanel.add(new JLabel(您最喜欢的图书),BorderLayout.NORTH);//将JLabel添加到JScrollPane的North位置jFrame.add(box);//将Box添加到JFrame中默认居中jFrame.add(favoritePanel,BorderLayout.SOUTH);//将JPanel添加到JFrame的South位置jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置JFrame的默认关闭操作jFrame.pack();//设置JFrame自适应大小jFrame.setVisible(true);//设置JFrame可见}//添加布局选择按钮public void addLayoutButton(String label,int orientation){//设置布局选择按钮的标题以及边框layoutPanel.setBorder(new TitledBorder(new EtchedBorder(),确定选项布局));//创建一个布局选择按钮JRadioButton button new JRadioButton(label);//将布局选择按钮添加到按钮面板layoutPanel.add(button);//默认选中第一个按钮if (layoutGroup.getButtonCount()0){button.setSelected(true);}//将布局选择按钮添加到按钮组layoutGroup.add(button);//为布局选择按钮添加事件监听器button.addActionListener(e-{//改变列表框里列表项的布局方向bookList.setLayoutOrientation(orientation);});}//添加选择模式按钮public void addSelectModeButton(String label,int selectMode){//设置选择模式按钮的标题以及边框selectModePanel.setBorder(new TitledBorder(new EtchedBorder(),确定选择模式));//创建一个布局选择按钮JRadioButton button new JRadioButton(label);//将布局选择按钮添加到按钮面板selectModePanel.add(button);//默认选中第一个按钮if (selectModeGroup.getButtonCount()0){button.setSelected(true);}//将布局选择按钮添加到按钮组selectModeGroup.add(button);//为布局选择按钮添加事件监听器button.addActionListener(e-{//改变列表框里列表项的选择模式bookList.setSelectionMode(selectMode);});}public static void main(String[] args) {//启动程序new swing_test_38().init();}
}效果演示 下一篇