1:列表框是什么
参考下图
2:列表框的创建与数据的来源
2.1:边框的创建与数据来源方法一(String[]数组作为数据来源)<--不推荐
/**
* 单选框
* */
package Swing;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JRadioButton;
import javafx.scene.Cursor;
import javafx.scene.layout.Border;
public class Main7 extends JFrame{
public static void main(String[] args) {
Main7 main7 = new Main7();
main7.run();
}
public void run() {
//创建数据容器 方法一:String[]数组作为容器
String[] strs = new String[]{"北京","武汉","上海"};
//创建单选按钮
JList<Object> jList = new JList<Object>(strs);
//设置位置 高度
jList.setBounds(30, 30, 140, 220);
//设置Style
// jList.setBackground(new Color(200, 89, 68));
//jList.setBorder(BorderFactory.createEmptyBorder(30, 30, 30, 30));
//设置边框
jList.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
Container container = this.getContentPane();
container.add(jList);
// 设置窗体的Logo
Image image = Toolkit.getDefaultToolkit().createImage("./img/icon.png");
this.setIconImage(image);
// 设置窗体的属性
this.setLayout(null);// 设置空布局管理器
this.setVisible(true);// 设置窗体可见
this.setTitle("列表框的学习");// 设置窗体标题
this.setSize(500, 500);// 设置窗体的高、宽
this.setLocationRelativeTo(null);// 设置居中显示
// 设置Jframe窗体关闭时 程序结束
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2.2:Vector集合作为数据容器的来源(推荐)
/**
* 单选框
* */
package Swing;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JRadioButton;
import javafx.scene.Cursor;
import javafx.scene.layout.Border;
public class Main7 extends JFrame{
public static void main(String[] args) {
Main7 main7 = new Main7();
main7.run();
}
public void run() {
//创建数据容器 方法二:Vector集合作为容器
Vector<Object> vector = new Vector<Object>();
vector.add(1.22);
vector.add("北京");
vector.add(5);
vector.add(3.1415926);
//创建单选按钮
JList<Object> jList = new JList<Object>(vector);
//设置位置 高度
jList.setBounds(30, 30, 140, 220);
//设置Style
// jList.setBackground(new Color(200, 89, 68));
//jList.setBorder(BorderFactory.createEmptyBorder(30, 30, 30, 30));
//设置边框
jList.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
Container container = this.getContentPane();
container.add(jList);
// 设置窗体的Logo
Image image = Toolkit.getDefaultToolkit().createImage("./img/icon.png");
this.setIconImage(image);
// 设置窗体的属性
this.setLayout(null);// 设置空布局管理器
this.setVisible(true);// 设置窗体可见
this.setTitle("列表框的学习");// 设置窗体标题
this.setSize(500, 500);// 设置窗体的高、宽
this.setLocationRelativeTo(null);// 设置居中显示
// 设置Jframe窗体关闭时 程序结束
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2.3:DefaultListModel作为数据容器提供数据(推荐)
运行效果:
/**
* 单选框
* */
package Swing;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JRadioButton;
import javafx.scene.Cursor;
import javafx.scene.layout.Border;
public class Main7 extends JFrame{
public static void main(String[] args) {
Main7 main7 = new Main7();
main7.run();
}
public void run() {
//创建数据容器 方法三:DefaultListModel作为数据容器
DefaultListModel<Object> ListModel = new DefaultListModel<Object>();
ListModel.addElement("北京");
ListModel.addElement("上海");
ListModel.addElement("成都");
ListModel.addElement(123);
ListModel.addElement(3.1415926);
//创建单选按钮
JList<Object> jList = new JList<Object>(ListModel);
//设置位置 高度
jList.setBounds(30, 30, 140, 220);
//设置Style
// jList.setBackground(new Color(200, 89, 68));
//jList.setBorder(BorderFactory.createEmptyBorder(30, 30, 30, 30));
//设置边框
jList.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
Container container = this.getContentPane();
container.add(jList);
// 设置窗体的Logo
Image image = Toolkit.getDefaultToolkit().createImage("./img/icon.png");
this.setIconImage(image);
// 设置窗体的属性
this.setLayout(null);// 设置空布局管理器
this.setVisible(true);// 设置窗体可见
this.setTitle("列表框的学习");// 设置窗体标题
this.setSize(500, 500);// 设置窗体的高、宽
this.setLocationRelativeTo(null);// 设置居中显示
// 设置Jframe窗体关闭时 程序结束
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}