📄 listframe.java
字号:
package component;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class ListFrame extends JFrame {
JPanel contentPane = new JPanel();
JLabel jLabel1 = new JLabel();
JTextField jTextField1 = new JTextField();
JButton addBtn = new JButton();
JButton delBtn = new JButton();
JButton insertBtn = new JButton();
//创建列表框数据类
DefaultListModel listData = new DefaultListModel();
//创建列表框
JList jList1 = new JList(listData);
public ListFrame() {
try {
//窗口关闭时清空内存
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ListFrame frame = new ListFrame();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
//居中对齐
frame.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
private void jbInit() throws Exception {
setTitle("列表框示例");
setSize(new Dimension(421, 332));
contentPane = (JPanel)this.getContentPane();
contentPane.setLayout(null);
//加入列表数据
for (int i = 1; i <= 5; ++i) {
listData.addElement("选项" + i);
}
jLabel1.setText("列表框示例");
//设置标签,列表框与文本编辑框的位置,大小
jLabel1.setBounds(new Rectangle(142, 7, 112, 33));
jList1.setBounds(new Rectangle(23, 101, 361, 181));
jTextField1.setBounds(new Rectangle(22, 55, 123, 27));
//分别设置增加,删除,插入三个按钮的标题,快捷键与加入动作接收器
addBtn.setText("增加(A)");
addBtn.setMnemonic('A');
addBtn.setBounds(new Rectangle(149, 56, 78, 27));
addBtn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
AddBtn_actionPerformed(e);
}
});
delBtn.setText("删除(D)");
delBtn.setMnemonic('D');
delBtn.setBounds(new Rectangle( (149 + 78), 56, 78, 27));
delBtn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
DelBtn_actionPerformed(e);
}
});
insertBtn.setText("插入(I)");
insertBtn.setMnemonic('I');
insertBtn.setBounds(new Rectangle( (149 + 78 * 2), 56, 78, 27));
insertBtn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
InsBtn_actionPerformed(e);
}
});
//加入各个控件
contentPane.add(jLabel1, null);
contentPane.add(jTextField1, null);
contentPane.add(jList1, null);
contentPane.add(addBtn, null);
contentPane.add(insertBtn, null);
contentPane.add(delBtn, null);
}
void AddBtn_actionPerformed(ActionEvent e) {
//增加列表框的数据
listData.addElement(jTextField1.getText());
}
void InsBtn_actionPerformed(ActionEvent e) {
//在特定的位置插入数据
listData.insertElementAt(jTextField1.getText(),
jList1.getSelectedIndex());
}
void DelBtn_actionPerformed(ActionEvent e) {
//删除全部已经选择的数据
while (jList1.getSelectedIndex() != -1) {
listData.removeElementAt(jList1.getSelectedIndex());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -