Chinaunix

标题: 关于JList的使用[求助] [打印本页]

作者: scwfeng    时间: 2006-04-08 17:03
标题: 关于JList的使用[求助]
请问怎么样在JList定义的列表中增加项目?比如增加“象棋”、“围棋”等。还有,JList有没有滚动条?
作者: caojiqun    时间: 2006-04-08 19:49

  1. package examples;
  2. import javax.swing.*;
  3. import javax.swing.DefaultListModel;

  4. public class listItem extends JFrame {
  5.    
  6.     /** Creates new form listItem */
  7.     public listItem() {
  8.         initComponents();
  9.     }
  10.    
  11.     /** This method is called from within the constructor to
  12.      * initialize the form.
  13.      * WARNING: Do NOT modify this code. The content of this method is
  14.      * always regenerated by the Form Editor.
  15.      */
  16.     // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">
  17.     private void initComponents() {
  18.         javax.swing.JButton addButton;
  19.         javax.swing.JLabel addLabel;
  20.         javax.swing.JScrollPane listScrollPane;
  21.         javax.swing.JPanel lowerPanel;
  22.         javax.swing.JButton quitButton;
  23.         javax.swing.JPanel upperPanel;

  24.         listScrollPane = new javax.swing.JScrollPane();
  25.         itemsList = new JList(new DefaultListModel());
  26.         upperPanel = new javax.swing.JPanel();
  27.         addLabel = new javax.swing.JLabel();
  28.         itemTextField = new javax.swing.JTextField();
  29.         lowerPanel = new javax.swing.JPanel();
  30.         addButton = new javax.swing.JButton();
  31.         quitButton = new javax.swing.JButton();

  32.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  33.         listScrollPane.setViewportView(itemsList);

  34.         getContentPane().add(listScrollPane, java.awt.BorderLayout.CENTER);

  35.         addLabel.setText("\u4f60\u8fd8\u60f3\u6dfb\u52a0\u4ec0\u4e48\u6e38\u620f\u9879\u76ee");
  36.         upperPanel.add(addLabel);

  37.         itemTextField.setColumns(12);
  38.         upperPanel.add(itemTextField);

  39.         getContentPane().add(upperPanel, java.awt.BorderLayout.NORTH);

  40.         lowerPanel.setLayout(new java.awt.GridLayout(1, 2));

  41.         addButton.setText("add item");
  42.         addButton.addActionListener(new java.awt.event.ActionListener() {
  43.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  44.                 addGameItem(evt);
  45.             }
  46.         });

  47.         lowerPanel.add(addButton);

  48.         quitButton.setText("quit");
  49.         quitButton.addActionListener(new java.awt.event.ActionListener() {
  50.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  51.                 quitProg(evt);
  52.             }
  53.         });

  54.         lowerPanel.add(quitButton);

  55.         getContentPane().add(lowerPanel, java.awt.BorderLayout.SOUTH);

  56.         pack();
  57.     }// </editor-fold>

  58.     private void addGameItem(java.awt.event.ActionEvent evt) {
  59. // TODO 将在此处添加您的处理代码:
  60.         String newItem = itemTextField.getText().trim();
  61.         if(newItem.length() < 1)    return;
  62.         ((DefaultListModel)itemsList.getModel()).add(0, newItem);
  63.     }

  64.     private void quitProg(java.awt.event.ActionEvent evt) {
  65. // TODO 将在此处添加您的处理代码:
  66.         System.exit(0);
  67.     }
  68.    
  69.     /**
  70.      * @param args the command line arguments
  71.      */
  72.     public static void main(String args[]) {
  73.         java.awt.EventQueue.invokeLater(new Runnable() {
  74.             public void run() {
  75.                 new listItem().setVisible(true);
  76.             }
  77.         });
  78.     }
  79.    
  80.     // 变量声明 - 不进行修改
  81.     private javax.swing.JTextField itemTextField;
  82.     private javax.swing.JList itemsList;
  83.     // 变量声明结束
  84.    
  85. }

复制代码

作者: scwfeng    时间: 2006-04-09 08:02
谢谢




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2