Hướng dẫn javascript set value combobox - hộp tổ hợp giá trị đặt javascript

Đây là cách tôi đặt giá trị thành Combobox bằng cách sử dụng cuộc gọi DWR,

var reportID = '<%=reportid%>'; var reportName = '<%=reportname%>'; loadReportNames(reportUserID);

function loadReportNames(reportUserID){
    CustomiseReportAction.getReportNames(reportUserID, addReportNamesDropDown);
}
function addReportNamesDropDown(resultMap){
    dwr.util.removeAllOptions("reportnames");
    dwr.util.addOptions("reportnames",resultMap);
}

Sau khi tải hộp kết hợp, tôi đặt các giá trị thành combo được tải như thế này,

document.getElementById("reportnames").value=reportID;

Nhưng báo cáo không được thiết lập,

Điều gì có thể là vấn đề xin vui lòng giúp tôi giải quyết điều này.

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}

Được sử dụng phương pháp ở trên, nó cho tôi không ngoại lệ nhưng không có kết quả.

Trân trọng

Cung cấp một trình kết xuất tùy chỉnh cho một hộp kết hợp.

String[] patternExamples = {
         "dd MMMMM yyyy",
         "dd.MM.yy",
         "MM/dd/yy",
         "yyyy.MM.dd G 'at' hh:mm:ss z",
         "EEE, MMM d, ''yy",
         "h:mm a",
         "H:mm:ss:SSS",
         "K:mm a,z",
         "yyyy.MMMMM.dd GGG hh:mm aaa"
};
. . .
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);
8

Cách sử dụng bảng (sử dụng hộp kết hợp làm trình chỉnh sửa)support ticket and change its visibility

Chỉ ra cách sử dụng hộp kết hợp làm trình chỉnh sửa ô bảng. Duplicate

Chỉ hiển thị cho bạn và hỗ trợ DeVexpress

Có thể nhìn thấy tất cả người dùng

Sửa đổi vé hỗ trợ và thay đổi khả năng hiển thị của nó: The information provided on DevExpress.com and its affiliated web properties is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information.

UrgentDuplicate

Chúng tôi đã đóng vé này vì một trang khác giải quyết chủ đề của nó:

Câu trả lời được phê duyệt bởi hỗ trợ Devexpress

Tuyên bố miễn trừ trách nhiệm: Thông tin được cung cấp trên Devexpress.com và các thuộc tính web liên kết của nó được cung cấp "như là" mà không có bảo hành dưới bất kỳ hình thức nào. Nhà phát triển Express Inc từ chối tất cả các bảo đảm, thể hiện hoặc ngụ ý, bao gồm các bảo đảm của thương mại và thể lực cho một mục đích cụ thể. Vui lòng tham khảo các điều khoản sử dụng trang web của Devexpress.com để biết thêm thông tin.

Một JComboBox, cho phép người dùng chọn một trong một số lựa chọn, có thể có hai hình thức rất khác nhau. Biểu mẫu mặc định là hộp kết hợp không thể điều chỉnh, có nút và danh sách thả xuống các giá trị. Mẫu thứ hai, được gọi là hộp combo có thể chỉnh sửa, có trường văn bản với một nút nhỏ tiếp tục. Người dùng có thể nhập giá trị vào trường văn bản hoặc nhấp vào nút để hiển thị danh sách thả xuống. Đây là những gì hai hình thức hộp combo trông như thế nào trong vẻ ngoài và cảm nhận của Java:

Hộp kết hợp yêu cầu không gian màn hình nhỏ và biểu mẫu có thể chỉnh sửa (trường văn bản) của chúng rất hữu ích cho việc cho phép người dùng nhanh chóng chọn một giá trị mà không giới hạn người dùng đối với các giá trị được hiển thị. Các thành phần khác có thể hiển thị các lựa chọn độc đáo là các nhóm nút và danh sách radio. Các nhóm nút radio thường dễ hiểu nhất để người dùng hiểu, nhưng các hộp kết hợp có thể phù hợp hơn khi không gian bị hạn chế hoặc nhiều hơn một vài lựa chọn có sẵn. Danh sách không hấp dẫn khủng khiếp, nhưng chúng phù hợp hơn các hộp kết hợp khi số lượng vật phẩm lớn (giả sử, trên 20) hoặc khi chọn nhiều mục có thể hợp lệ.

Bởi vì các hộp combo có thể chỉnh sửa và không thể chỉnh sửa rất khác nhau, phần này đối xử với chúng một cách riêng biệt. Phần này bao gồm các chủ đề này:

  • Sử dụng một hộp combo không thể xác định
  • Xử lý các sự kiện trên hộp combo
  • Sử dụng hộp combo có thể chỉnh sửa
  • Cung cấp một trình kết xuất tùy chỉnh
  • API hộp combo
  • Ví dụ sử dụng hộp combo

Sử dụng một hộp combo không thể xác định

Xử lý các sự kiện trên hộp combo

Hướng dẫn javascript set value combobox - hộp tổ hợp giá trị đặt javascript


Sử dụng hộp combo có thể chỉnh sửa

  1. Cung cấp một trình kết xuất tùy chỉnh
    Hướng dẫn javascript set value combobox - hộp tổ hợp giá trị đặt javascript

  2. API hộp combo
  3. Ví dụ sử dụng hộp combo

Ứng dụng được hiển thị ở đây sử dụng hộp kết hợp không thể điều chỉnh để chọn ảnh PET:

String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };

//Create the combo box, select item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);

Thử cái này:

Nhấp vào nút khởi chạy để chạy comboBox Demo bằng Java ™ Web Start (tải xuống JDK 7 trở lên). Ngoài ra, để biên dịch và tự mình chạy ví dụ, tham khảo chỉ mục ví dụ.

Chọn một tên động vật từ hộp combo để xem hình ảnh của nó.


Note:

So sánh hoạt động và GUI của chương trình này với một chương trình sử dụng các nút radio: chạy radiobuttondemo (nó yêu cầu phát hành 6). Bạn cũng có thể muốn so sánh mã nguồn:

document.getElementById("reportnames").value=reportID;
0 so với
document.getElementById("reportnames").value=reportID;
1.

Mã sau, được lấy từ

document.getElementById("reportnames").value=reportID;
0, tạo ra một hộp kết hợp không thể sửa chữa và đặt nó lên:


Xử lý các sự kiện trên hộp combo

Sử dụng hộp combo có thể chỉnh sửa

public class ComboBoxDemo ... implements ActionListener {
    . . .
        petList.addActionListener(this) {
    . . .
    public void actionPerformed(ActionEvent e) {
        JComboBox cb = (JComboBox)e.getSource();
        String petName = (String)cb.getSelectedItem();
        updateLabel(petName);
    }
    . . .
}

Cung cấp một trình kết xuất tùy chỉnh

API hộp combo

Mặc dù JComboBox kế thừa các phương thức để đăng ký người nghe cho các sự kiện cấp thấp-ví dụ, tập trung, khóa và chuột-chúng tôi khuyên bạn nên không nghe các sự kiện cấp thấp trên hộp kết hợp. Đây là lý do tại sao: Hộp kết hợp là một thành phần ghép - nó bao gồm hai hoặc nhiều thành phần khác. Hộp combo tự bắn các sự kiện cấp cao như các sự kiện hành động. Các thành phần của nó bắn các sự kiện cấp thấp như chuột, khóa và các sự kiện tập trung. Các sự kiện cấp thấp và thành phần con bắn chúng phụ thuộc vào và cảm giác. Để tránh viết mã phụ thuộc vào và cảm giác, bạn chỉ nên nghe các sự kiện cấp cao trên một thành phần ghép như hộp combo. Để biết thông tin về các sự kiện, bao gồm một cuộc thảo luận về các sự kiện cấp cao và cấp thấp, hãy tham khảo viết người nghe sự kiện.

Sử dụng hộp combo có thể chỉnh sửa

Dưới đây là hình ảnh của một ứng dụng demo sử dụng hộp kết hợp có thể chỉnh sửa để nhập một mẫu để định dạng ngày.

Hướng dẫn javascript set value combobox - hộp tổ hợp giá trị đặt javascript


Thử cái này:

  1. Nhấp vào nút khởi chạy để chạy Demo ComboBox2 bằng Java ™ Web Start (tải xuống JDK 7 trở lên). Ngoài ra, để biên dịch và tự mình chạy ví dụ, tham khảo chỉ mục ví dụ.
    Hướng dẫn javascript set value combobox - hộp tổ hợp giá trị đặt javascript

  2. Nhập một mẫu mới bằng cách chọn một mẫu từ menu hộp kết hợp. Chương trình định dạng lại ngày và thời gian hiện tại.
  3. Nhập một mẫu mới bằng cách nhập một trong và nhấn Enter. Một lần nữa, chương trình định dạng lại ngày và giờ hiện tại.

Mã sau, được lấy từ

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
3, tạo và thiết lập hộp kết hợp:

String[] patternExamples = {
         "dd MMMMM yyyy",
         "dd.MM.yy",
         "MM/dd/yy",
         "yyyy.MM.dd G 'at' hh:mm:ss z",
         "EEE, MMM d, ''yy",
         "h:mm a",
         "H:mm:ss:SSS",
         "K:mm a,z",
         "yyyy.MMMMM.dd GGG hh:mm aaa"
};
. . .
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);

Mã này rất giống với ví dụ trước, nhưng đảm bảo một vài từ giải thích. Dòng mã in đậm bật rõ ràng chỉnh sửa để cho phép người dùng nhập các giá trị vào. Điều này là cần thiết bởi vì, theo mặc định, một hộp kết hợp không thể chỉnh sửa. Ví dụ cụ thể này cho phép chỉnh sửa trên hộp kết hợp vì menu của nó không cung cấp tất cả các mẫu định dạng ngày có thể, chỉ là các phím tắt để các mẫu được sử dụng thường xuyên.

Một hộp combo có thể chỉnh sửa bắn một sự kiện hành động khi người dùng chọn một mục từ menu và khi người dùng nhập nhập. Lưu ý rằng menu vẫn không thay đổi khi người dùng nhập giá trị vào hộp kết hợp. Nếu bạn muốn, bạn có thể dễ dàng viết một trình nghe hành động thêm một mục mới vào menu của hộp combo mỗi khi người dùng gõ một giá trị duy nhất.

Xem quốc tế hóa để tìm hiểu thêm về ngày định dạng và các loại dữ liệu khác.

Cung cấp một trình kết xuất tùy chỉnh

Hộp kết hợp sử dụng trình kết xuất để hiển thị từng mục trong menu của nó. Nếu hộp combo không thể điều chỉnh, nó cũng sử dụng trình kết xuất để hiển thị mục hiện được chọn. Mặt khác, một hộp combo có thể chỉnh sửa sử dụng trình chỉnh sửa để hiển thị mục đã chọn. Một trình kết xuất cho hộp kết hợp phải triển khai giao diện

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
4. Trình chỉnh sửa của hộp combo phải triển khai
UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
5. Phần này cho thấy cách cung cấp một trình kết xuất tùy chỉnh cho một hộp combo không thể xác định được.

Trình kết xuất mặc định biết cách kết xuất các chuỗi và biểu tượng. Nếu bạn đặt các đối tượng khác vào hộp kết hợp, trình kết xuất mặc định gọi phương thức

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
6 để cung cấp một chuỗi để hiển thị. Bạn có thể tùy chỉnh cách hộp kết hợp tự hiển thị và các mục của nó bằng cách thực hiện
UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
4 của riêng bạn.

Dưới đây là hình ảnh của một ứng dụng sử dụng hộp kết hợp với trình kết xuất tùy chỉnh:

Hướng dẫn javascript set value combobox - hộp tổ hợp giá trị đặt javascript

Nhấp vào nút khởi chạy để chạy bản demo CustomCombobox bằng Java ™ Web Start (tải xuống JDK 7 trở lên). Ngoài ra, để biên dịch và tự mình chạy ví dụ, tham khảo chỉ mục ví dụ.

Hướng dẫn javascript set value combobox - hộp tổ hợp giá trị đặt javascript

Mã nguồn đầy đủ cho ví dụ này là trong

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
8. Để có được các tệp hình ảnh mà nó yêu cầu, hãy tham khảo chỉ mục ví dụ.

Các câu lệnh sau từ ví dụ tạo một thể hiện

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
9 (một lớp tùy chỉnh) và thiết lập thể hiện dưới dạng trình kết xuất của hộp combo:

JComboBox petList = new JComboBox(intArray);
. . .
ComboBoxRenderer renderer = new ComboBoxRenderer();
renderer.setPreferredSize(new Dimension(200, 130));
petList.setRenderer(renderer);
petList.setMaximumRowCount(3);

Dòng cuối cùng đặt số lượng hàng tối đa của hộp combo, xác định số lượng mục hiển thị khi menu được hiển thị. Nếu số lượng các mục trong hộp kết hợp lớn hơn số lượng hàng tối đa của nó, thì menu có thanh cuộn. Các biểu tượng khá lớn đối với menu, vì vậy mã của chúng tôi giới hạn số lượng hàng ở 3. Đây là việc triển khai

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
9, trình kết xuất đặt biểu tượng và văn bản cạnh nhau:

class ComboBoxRenderer extends JLabel
                       implements ListCellRenderer {
    . . .
    public ComboBoxRenderer() {
        setOpaque(true);
        setHorizontalAlignment(CENTER);
        setVerticalAlignment(CENTER);
    }

    /*
     * This method finds the image and text corresponding
     * to the selected value and returns the label, set up
     * to display the text and image.
     */
    public Component getListCellRendererComponent(
                                       JList list,
                                       Object value,
                                       int index,
                                       boolean isSelected,
                                       boolean cellHasFocus) {
        //Get the selected index. (The index parameter isn't
        //always valid, so just use the value.)
        int selectedIndex = ((Integer)value).intValue();

        if (isSelected) {
            setBackground(list.getSelectionBackground());
            setForeground(list.getSelectionForeground());
        } else {
            setBackground(list.getBackground());
            setForeground(list.getForeground());
        }

        //Set the icon and text.  If icon was null, say so.
        ImageIcon icon = images[selectedIndex];
        String pet = petStrings[selectedIndex];
        setIcon(icon);
        if (icon != null) {
            setText(pet);
            setFont(list.getFont());
        } else {
            setUhOhText(pet + " (no image available)",
                        list.getFont());
        }

        return this;
    }
    . . .
}

Là một

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
4,
UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
9 thực hiện một phương thức gọi là
String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };

//Create the combo box, select item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);
3, trả về một thành phần có phương thức
String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };

//Create the combo box, select item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);
4 được sử dụng để hiển thị hộp kết hợp và mỗi mục của nó. Cách dễ nhất để hiển thị hình ảnh và biểu tượng là sử dụng nhãn. Vì vậy,
UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
9 là một lớp con của nhãn và tự trả về. Việc triển khai
String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };

//Create the combo box, select item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);
3 định cấu hình trình kết xuất để hiển thị biểu tượng hiện được chọn và mô tả của nó.

Những đối số này được chuyển đến

String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };

//Create the combo box, select item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);
3:

  • String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };
    
    //Create the combo box, select item at index 4.
    //Indices start at 0, so 4 specifies the pig.
    JComboBox petList = new JComboBox(petStrings);
    petList.setSelectedIndex(4);
    petList.addActionListener(this);
    
    8 - Một đối tượng danh sách được sử dụng phía sau hậu trường để hiển thị các mục. Ví dụ sử dụng màu sắc của đối tượng này để thiết lập màu nền và màu nền.
  • String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };
    
    //Create the combo box, select item at index 4.
    //Indices start at 0, so 4 specifies the pig.
    JComboBox petList = new JComboBox(petStrings);
    petList.setSelectedIndex(4);
    petList.addActionListener(this);
    
    9 - Đối tượng để kết xuất. Một
    public class ComboBoxDemo ... implements ActionListener {
        . . .
            petList.addActionListener(this) {
        . . .
        public void actionPerformed(ActionEvent e) {
            JComboBox cb = (JComboBox)e.getSource();
            String petName = (String)cb.getSelectedItem();
            updateLabel(petName);
        }
        . . .
    }
    
    0 trong ví dụ này.
  • public class ComboBoxDemo ... implements ActionListener {
        . . .
            petList.addActionListener(this) {
        . . .
        public void actionPerformed(ActionEvent e) {
            JComboBox cb = (JComboBox)e.getSource();
            String petName = (String)cb.getSelectedItem();
            updateLabel(petName);
        }
        . . .
    }
    
    1 - Chỉ số của đối tượng để kết xuất.
  • public class ComboBoxDemo ... implements ActionListener {
        . . .
            petList.addActionListener(this) {
        . . .
        public void actionPerformed(ActionEvent e) {
            JComboBox cb = (JComboBox)e.getSource();
            String petName = (String)cb.getSelectedItem();
            updateLabel(petName);
        }
        . . .
    }
    
    2 - Cho biết liệu đối tượng để kết xuất có được chọn hay không. Được sử dụng bởi ví dụ để xác định màu sắc sẽ sử dụng.
  • public class ComboBoxDemo ... implements ActionListener {
        . . .
            petList.addActionListener(this) {
        . . .
        public void actionPerformed(ActionEvent e) {
            JComboBox cb = (JComboBox)e.getSource();
            String petName = (String)cb.getSelectedItem();
            updateLabel(petName);
        }
        . . .
    }
    
    3 - Cho biết liệu đối tượng để kết xuất có tiêu điểm hay không.

Lưu ý rằng các hộp và danh sách kết hợp sử dụng cùng loại trình kết xuất -

UPDATE :

function addCombo() {
    var reportID = '<%=reportid%>';
    var reportName = '<%=reportname%>';
    var textb = document.getElementById("reportnames");

    var option = document.createElement("option");
    option.text = reportName;
    option.value = reportID;
    option.selected="selected";
    try {
        textb.add(option, null); //Standard
    }catch(error) {
        textb.add(option); // IE only
    }
    textb.value = "";
}
4. Bạn có thể tiết kiệm cho mình một thời gian bằng cách chia sẻ các trình kết xuất giữa các hộp và danh sách kết hợp, nếu nó có ý nghĩa cho chương trình của bạn.

API hộp combo

Các bảng sau liệt kê các hàm tạo và phương thức ____9 thường được sử dụng. Các phương pháp khác mà bạn rất có thể gọi trên một đối tượng JComboBox là những phương pháp mà nó thừa hưởng từ các siêu lớp của nó, chẳng hạn như

public class ComboBoxDemo ... implements ActionListener {
    . . .
        petList.addActionListener(this) {
    . . .
    public void actionPerformed(ActionEvent e) {
        JComboBox cb = (JComboBox)e.getSource();
        String petName = (String)cb.getSelectedItem();
        updateLabel(petName);
    }
    . . .
}
7. Xem API JComponent cho các bảng của các phương thức di truyền thường được sử dụng.

API để sử dụng các hộp kết hợp rơi vào hai loại:

  • Cài đặt hoặc nhận các mục trong menu hộp kết hợp
  • Tùy chỉnh hoạt động của hộp combo
Thiết lập hoặc nhận các mục trong menu của hộp kết hợp
Phương phápMục đích
JCombobox () JCombobox (ComboboxModel) JCombobox (Object []) JCombobox (Vector)
JComboBox(ComboBoxModel)
JComboBox(Object[])
JComboBox(Vector)
Tạo một hộp kết hợp với các mục được chỉ định trong menu của nó. Một hộp kết hợp được tạo với hàm tạo mặc định không có mục nào trong menu ban đầu. Mỗi hàm tạo khác khởi tạo menu từ đối số của nó: một đối tượng mô hình, một mảng các đối tượng hoặc
public class ComboBoxDemo ... implements ActionListener {
    . . .
        petList.addActionListener(this) {
    . . .
    public void actionPerformed(ActionEvent e) {
        JComboBox cb = (JComboBox)e.getSource();
        String petName = (String)cb.getSelectedItem();
        updateLabel(petName);
    }
    . . .
}
8 của các đối tượng.
void Additem (Object) void insertItemat (Object, int)
void insertItemAt(Object, int)
Thêm hoặc chèn đối tượng được chỉ định vào menu hộp kết hợp. Phương thức chèn đặt đối tượng được chỉ định vào chỉ mục được chỉ định, do đó chèn nó trước khi đối tượng hiện tại chỉ mục đó. Các phương pháp này yêu cầu mô hình dữ liệu của hộp combo là một ví dụ là
document.getElementById("reportnames").value=reportID;
6.
Đối tượng getItemat (int) Đối tượng getSelectiveTem ()
Object getSelectedItem()
Nhận một mục từ menu hộp kết hợp.
void removeallitems () void removeItemat (int) void removeItem (object)
void removeItemAt(int)
void removeItem(Object)
Xóa một hoặc nhiều mục khỏi menu hộp kết hợp. Các phương pháp này yêu cầu mô hình dữ liệu của hộp combo là một ví dụ là
document.getElementById("reportnames").value=reportID;
6.
int getItemCount ()Nhận số lượng các mục trong menu hộp kết hợp.
void setModel (ComboboxModel) ComboBoxModel getModel ()
ComboBoxModel getModel()
Đặt hoặc nhận mô hình dữ liệu cung cấp các mục trong menu của hộp kết hợp.
void setAction (hành động) getAction hành động ()
Action getAction()
Đặt hoặc nhận
String[] patternExamples = {
         "dd MMMMM yyyy",
         "dd.MM.yy",
         "MM/dd/yy",
         "yyyy.MM.dd G 'at' hh:mm:ss z",
         "EEE, MMM d, ''yy",
         "h:mm a",
         "H:mm:ss:SSS",
         "K:mm a,z",
         "yyyy.MMMMM.dd GGG hh:mm aaa"
};
. . .
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);
1 được liên kết với hộp combo. Để biết thêm thông tin, xem cách sử dụng hành động.
Tùy chỉnh hoạt động của hộp combo
Phương pháp hoặc hàm tạoMục đích
JCombobox () JCombobox (ComboboxModel) JCombobox (Object []) JCombobox (Vector)Tạo một hộp kết hợp với các mục được chỉ định trong menu của nó. Một hộp kết hợp được tạo với hàm tạo mặc định không có mục nào trong menu ban đầu. Mỗi hàm tạo khác khởi tạo menu từ đối số của nó: một đối tượng mô hình, một mảng các đối tượng hoặc
public class ComboBoxDemo ... implements ActionListener {
    . . .
        petList.addActionListener(this) {
    . . .
    public void actionPerformed(ActionEvent e) {
        JComboBox cb = (JComboBox)e.getSource();
        String petName = (String)cb.getSelectedItem();
        updateLabel(petName);
    }
    . . .
}
8 của các đối tượng.
void Additem (Object) void insertItemat (Object, int)Thêm hoặc chèn đối tượng được chỉ định vào menu hộp kết hợp. Phương thức chèn đặt đối tượng được chỉ định vào chỉ mục được chỉ định, do đó chèn nó trước khi đối tượng hiện tại chỉ mục đó. Các phương pháp này yêu cầu mô hình dữ liệu của hộp combo là một ví dụ là
document.getElementById("reportnames").value=reportID;
6.
Đối tượng getItemat (int) Đối tượng getSelectiveTem ()
boolean isEditable()
Nhận một mục từ menu hộp kết hợp.
void removeallitems () void removeItemat (int) void removeItem (object)
ListCellRenderer getRenderer()
Xóa một hoặc nhiều mục khỏi menu hộp kết hợp. Các phương pháp này yêu cầu mô hình dữ liệu của hộp combo là một ví dụ là
document.getElementById("reportnames").value=reportID;
6.
int getItemCount ()
ComboBoxEditor getEditor()
Nhận số lượng các mục trong menu hộp kết hợp.

void setModel (ComboboxModel) ComboBoxModel getModel ()

Đặt hoặc nhận mô hình dữ liệu cung cấp các mục trong menu của hộp kết hợp.

void setAction (hành động) getAction hành động ()Đặt hoặc nhận
String[] patternExamples = {
         "dd MMMMM yyyy",
         "dd.MM.yy",
         "MM/dd/yy",
         "yyyy.MM.dd G 'at' hh:mm:ss z",
         "EEE, MMM d, ''yy",
         "h:mm a",
         "H:mm:ss:SSS",
         "K:mm a,z",
         "yyyy.MMMMM.dd GGG hh:mm aaa"
};
. . .
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);
1 được liên kết với hộp combo. Để biết thêm thông tin, xem cách sử dụng hành động.
Tùy chỉnh hoạt động của hộp combo
Phương pháp hoặc hàm tạo void AddActionListener (ActionListener)Thêm một trình nghe hành động vào hộp combo. Phương thức
String[] patternExamples = {
         "dd MMMMM yyyy",
         "dd.MM.yy",
         "MM/dd/yy",
         "yyyy.MM.dd G 'at' hh:mm:ss z",
         "EEE, MMM d, ''yy",
         "h:mm a",
         "H:mm:ss:SSS",
         "K:mm a,z",
         "yyyy.MMMMM.dd GGG hh:mm aaa"
};
. . .
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);
2 của người nghe được gọi khi người dùng chọn một mục từ menu hộp kết hợp hoặc, trong hộp kết hợp có thể chỉnh sửa, khi người dùng nhấn vào.
void additemlistener (itemListener) void AddActionListener (ActionListener)Thêm một trình nghe hành động vào hộp combo. Phương thức
String[] patternExamples = {
         "dd MMMMM yyyy",
         "dd.MM.yy",
         "MM/dd/yy",
         "yyyy.MM.dd G 'at' hh:mm:ss z",
         "EEE, MMM d, ''yy",
         "h:mm a",
         "H:mm:ss:SSS",
         "K:mm a,z",
         "yyyy.MMMMM.dd GGG hh:mm aaa"
};
. . .
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);
2 của người nghe được gọi khi người dùng chọn một mục từ menu hộp kết hợp hoặc, trong hộp kết hợp có thể chỉnh sửa, khi người dùng nhấn vào.
void additemlistener (itemListener) void AddActionListener (ActionListener)Thêm một trình nghe hành động vào hộp combo. Phương thức
String[] patternExamples = {
         "dd MMMMM yyyy",
         "dd.MM.yy",
         "MM/dd/yy",
         "yyyy.MM.dd G 'at' hh:mm:ss z",
         "EEE, MMM d, ''yy",
         "h:mm a",
         "H:mm:ss:SSS",
         "K:mm a,z",
         "yyyy.MMMMM.dd GGG hh:mm aaa"
};
. . .
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);
2 của người nghe được gọi khi người dùng chọn một mục từ menu hộp kết hợp hoặc, trong hộp kết hợp có thể chỉnh sửa, khi người dùng nhấn vào.
void additemlistener (itemListener)Thêm một người nghe mục vào hộp combo. Phương thức
String[] patternExamples = {
         "dd MMMMM yyyy",
         "dd.MM.yy",
         "MM/dd/yy",
         "yyyy.MM.dd G 'at' hh:mm:ss z",
         "EEE, MMM d, ''yy",
         "h:mm a",
         "H:mm:ss:SSS",
         "K:mm a,z",
         "yyyy.MMMMM.dd GGG hh:mm aaa"
};
. . .
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);
3 của người nghe được gọi khi trạng thái lựa chọn của bất kỳ mục nào của hộp kết hợp thay đổi.
void thiết lập (boolean) boolean iseditable ()