import api.APIUtils; import bean.Constant; import bean.TerminalEntity; import checkbox.CheckListCellRenderer; import checkbox.CheckValue; import checkbox.ManyCheckComboBox; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.asm.Label; import com.sun.jna.Memory; import com.sun.jna.Pointer; import com.sun.jna.ptr.IntByReference; import timer.Monitor; import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; public class LabelMain { private static List ids = new ArrayList<>(); public static void generatePanel() throws Exception { List terminalList = APIUtils.initTerminalList(); JFrame frame=new JFrame("Ï£ÃÎÒôÖùÈí¼þ"); frame.setIconImage(Toolkit.getDefaultToolkit().getImage(LabelMain.class.getResource("icon.png"))); frame.setLayout(null); frame.setSize(400,500); frame.setLocationRelativeTo(null);//´°¿ÚÔÚÆÁÄ»ÖмäÏÔʾ final JSlider slider = new JSlider(0, 100, 50); slider.setMajorTickSpacing(50); slider.setMinorTickSpacing(1); slider.setPaintTicks(true); slider.setPaintLabels(true); JLabel videoText = new JLabel(); JLabel loadText = new JLabel(); // Ìí¼Ó¿Ì¶È¸Ä±ä¼àÌýÆ÷ slider.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { Integer originVol = Monitor.vol; Monitor.vol = slider.getValue(); loadText.setText("ÕýÔÚ²¥·Å,ÒôÁ¿µ÷Õû(µ±Ç°:"+Monitor.vol+")"); } }); // ÌáʾÎı¾¿ò videoText.setBounds(50,20, 80, 25); videoText.setText("ÒôÁ¿"); slider.setBounds(110, 20, 170, 50); slider.setEnabled(false); frame.add(videoText); frame.add(slider); JLabel chooseText = new JLabel(); // ÌáʾÎı¾¿ò chooseText.setBounds(100,150, 300, 25); chooseText.setText("ÇëÑ¡ÔñÉ豸"); // ¼ÓÔØºóÌáʾ loadText.setBounds(50,180, 300, 25); JPanel jp=new JPanel(); //´´½¨Ãæ°å JLabel label1=new JLabel("Ñ¡ÔñÉ豸£º"); //´´½¨±êÇ© ManyCheckComboBox manyCheckComboBox = new ManyCheckComboBox(); manyCheckComboBox.setRenderer(new CheckListCellRenderer()); manyCheckComboBox.setFont(new Font("Dialog", Font.PLAIN, 12)); label1.setBounds(50,100,50,50); manyCheckComboBox.setBounds(70,100,200, 50); setOnlineDeviceIntoItem(manyCheckComboBox,terminalList); jp.add(label1); jp.add(manyCheckComboBox); jp.setBounds(50,100,300,50); JButton jButton = new JButton("Ë¢ÐÂ"); jButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { manyCheckComboBox.removeAllItems(); manyCheckComboBox.addItem(new CheckValue(true, "ȫѡ")); // manyCheckComboBox.hidePopup(); setOnlineDeviceIntoItem(manyCheckComboBox,APIUtils.initTerminalList()); } }); jButton.setBounds(100, 350,200,30); JButton stopBtn = new JButton("¹Ø±Õ¼àÌý"); stopBtn.setEnabled(false); JButton linkBtn = new JButton("¿ªÆôÉù¿¨¼àÌý"); JButton micBtn = new JButton("¿ªÆôÂó¿Ë·ç¼àÌý"); linkBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { new Thread(new Runnable() { @Override public void run() { manyCheckComboBox.setEnabled(false); linkBtn.setEnabled(false); jButton.setEnabled(false); micBtn.setEnabled(false); stopBtn.setEnabled(true); if(ids.size()!=0){ ids.clear(); } ArrayList selectItemValues = manyCheckComboBox.getSelectItemValues(); for(Object str:selectItemValues) { String string = (String)str; String[] split = string.split(","); String[] split1 = split[0].split(":"); Integer id = Integer.parseInt(split1[1]); ids.add(id); } if(ids.size()==0){ // stopBtn.setEnabled(false); manyCheckComboBox.setEnabled(true); linkBtn.setEnabled(true); micBtn.setEnabled(true); stopBtn.setEnabled(true); jButton.setEnabled(true); slider.setEnabled(false); loadText.setText("ÇëÑ¡Ôñ²¥·ÅÉ豸"); return; } System.out.println(JSON.toJSONString(ids)); IntByReference intr = new IntByReference(); int size = ids.size() * 4; Pointer mymem = new Memory(size); intr.setPointer(mymem); for(int i=0;i terminalList) { for(TerminalEntity t: terminalList){ if(t.getStatus() == 1){ CheckValue cValue = new CheckValue(); Integer status = t.getStatus(); String value = "id:"+t.getId()+",Ãû³Æ:"+t.getName()+"("+status+")"; cValue.value = value; cmb.addItem(cValue); } } } }