Hi,
Mình tạo 1 combobox , khi click vào item của combobox -> Hiện lên 1 dialog confirm:
① Nếu click Yes thì thực hiện việc A
② Nếu click No thì value của combobox sẽ KHÔNG BỊ thay đổi, tức là: nếu giá trị của combobox đang là [Item 1] -> click vào Item 2 -> Dialog confirm display -> Click No -> Giá trị selected của combobox vẫn là [Item 1] chứ ko phải Item 2
Cái thứ ② mình thử làm mà chưa dc, mình có up source, các bạn xem giúp nhé!
Mã nguồn PHP:
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class ComboBox {
private static JComboBox cmb = new JComboBox();
public static void main(String[] args) {
JFrame f = new JFrame();
cmb.addItem("Item 1");
cmb.addItem("Item 2");
cmb.addItem("Item 3");
cmb.addItem("Item 4");
cmb.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.DESELECTED) {
String itemBefore = (String) e.getItem();
doSomething(itemBefore);
}
}
});
cmb.setBounds(130, 150, 100, 40);
f.add(cmb);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
}
public static void doSomething(String itemBefore){
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog (null, "Do you want to continue?","Warning",dialogButton, JOptionPane.QUESTION_MESSAGE);
if(dialogResult == JOptionPane.YES_OPTION){
//Thực hiện việc A
}
else {
//Chọn lại item trước
cmb.setSelectedItem(itemBefore);
// JOptionPane.showMessageDialog(null, "Item Before: " + itemBefore);
}
}
}
View more random threads:
Sự đa dạng trong các mẫu mã và kiểu dáng của sản phẩm Đồ Thờ Gỗ cũng là điểm thu hút đặc biệt. Từ những tượng phật nhỏ xinh, đến các bức thư pháp hoặc các bát hương gỗ được điêu khắc tỉ mỉ, đều mang...
Tinh Thần Truyền Bá: Skyhome.vn và...