⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listframe.java

📁 Eclipse程序设计经典教程+源代码 学习java的朋友可以看看
💻 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 + -