public void setFrame() { f = new JFrame("数据通讯参数设置"); // 获取屏幕分辨率的工具集 Toolkit tool = Toolkit.getDefaultToolkit(); // 利用工具集获取屏幕的分辨率 Dimension dim = tool.getScreenSize(); // 获取屏幕分辨率的高度 int height = (int) dim.getHeight(); // 获取屏幕分辨率的宽度 int width = (int) dim.getWidth(); // 设置位置 f.setLocation((width - 300) / 2, (height - 400) / 2); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.pack(); f.setVisible(true); f.setContentPane(this); f.setSize(320, 260); f.setResizable(false); lblIP = new JLabel("主机名"); txtIp = new JTextField(20); try { InetAddress addr = InetAddress.getLocalHost(); txtIp.setText(addr.getHostAddress().toString()); } catch (Exception ex) { } lblNo = new JLabel("端口号"); cmbNo = new JComboBox(); cmbNo.setEditable(true); cmbNo.addPopupMenuListener( new PopupMenuListener() { @Override public void popupMenuWillBecomeVisible(PopupMenuEvent e) { cmbNo.removeAllItems(); CommPortIdentifier portId = null; Enumeration portList; portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { portId = (CommPortIdentifier) portList.nextElement(); cmbNo.addItem(portId.getName()); } } @Override public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { // To change body of implemented methods use File | Settings | File Templates. } @Override public void popupMenuCanceled(PopupMenuEvent e) { // To change body of implemented methods use File | Settings | File Templates. } }); lblName = new JLabel("工程名"); txtProjectName = new JComboBox(); txtProjectName.setEditable(true); txtProjectName.addPopupMenuListener( new PopupMenuListener() { @Override public void popupMenuWillBecomeVisible(PopupMenuEvent e) { txtProjectName.removeAllItems(); Mongo m1 = null; try { m1 = new Mongo(txtIp.getText().toString(), 27017); } catch (UnknownHostException ex) { ex.printStackTrace(); } for (String name : m1.getDatabaseNames()) { txtProjectName.addItem(name); } m1.close(); } @Override public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { // To change body of implemented methods use File | Settings | File Templates. } @Override public void popupMenuCanceled(PopupMenuEvent e) { // To change body of implemented methods use File | Settings | File Templates. } }); lblBote = new JLabel("波特率"); cmbBote = new JComboBox(); cmbBote.addItem(9600); cmbBote.addItem(19200); cmbBote.addItem(57600); cmbBote.addItem(115200); lblLength = new JLabel("数据长度"); cmbLength = new JComboBox(); cmbLength.addItem(8); cmbLength.addItem(7); lblParity = new JLabel("校验"); cmbParity = new JComboBox(); cmbParity.addItem("None"); cmbParity.addItem("Odd"); cmbParity.addItem("Even"); lblStopBit = new JLabel("停止位"); cmbStopBit = new JComboBox(); cmbStopBit.addItem(1); cmbStopBit.addItem(2); lblDelay = new JLabel("刷新"); txtDelay = new JTextField(20); btnOk = new JButton("确定"); btnOk.addActionListener( new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { paramIp = txtIp.getText().toString(); paramName = txtProjectName.getSelectedItem().toString(); paramNo = cmbNo.getSelectedItem().toString(); paramBote = Integer.parseInt(cmbBote.getSelectedItem().toString()); parmLength = Integer.parseInt(cmbLength.getSelectedItem().toString()); parmParity = cmbParity.getSelectedIndex(); parmStopBit = Integer.parseInt(cmbStopBit.getSelectedItem().toString()); parmDelay = Integer.parseInt(txtDelay.getText().toString()); if (!paramName.equals("") && !paramNo.equals("")) { receiveData( paramIp, paramName, paramNo, paramBote, parmLength, parmParity, parmStopBit, parmDelay); } else { } } }); btnCancel = new JButton("取消"); btnCancel.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); JPanel p1 = new JPanel(); p1.setLayout(new GridLayout(9, 2)); p1.add(lblIP); p1.add(txtIp); p1.add(lblNo); p1.add(cmbNo); p1.add(lblName); p1.add(txtProjectName); p1.add(lblBote); p1.add(cmbBote); p1.add(lblLength); p1.add(cmbLength); p1.add(lblParity); p1.add(cmbParity); p1.add(lblStopBit); p1.add(cmbStopBit); p1.add(lblDelay); p1.add(txtDelay); txtDelay.setText("500"); p1.add(btnOk); p1.add(btnCancel); p1.validate(); f.add(p1); f.validate(); }
public SceneLayoutApp() { super(); new Pair(); final JFrame frame = new JFrame("Scene Layout"); final JPanel panel = new JPanel(new BorderLayout()); frame.setContentPane(panel); final Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); frame.setMaximumSize(screenSize); frame.setSize(screenSize); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JMenuBar mb = new JMenuBar(); frame.setJMenuBar(mb); final JMenu jMenu = new JMenu("File"); mb.add(jMenu); mb.add(new JMenu("Edit")); mb.add(new JMenu("Help")); JMenu menu = new JMenu("Look and Feel"); // // Get all the available look and feel that we are going to use for // creating the JMenuItem and assign the action listener to handle // the selection of menu item to change the look and feel. // UIManager.LookAndFeelInfo[] lookAndFeelInfos = UIManager.getInstalledLookAndFeels(); for (int i = 0; i < lookAndFeelInfos.length; i++) { final UIManager.LookAndFeelInfo lookAndFeelInfo = lookAndFeelInfos[i]; JMenuItem item = new JMenuItem(lookAndFeelInfo.getName()); item.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { // // Set the look and feel for the frame and update the UI // to use a new selected look and feel. // UIManager.setLookAndFeel(lookAndFeelInfo.getClassName()); SwingUtilities.updateComponentTreeUI(frame); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } catch (InstantiationException e1) { e1.printStackTrace(); } catch (IllegalAccessException e1) { e1.printStackTrace(); } catch (UnsupportedLookAndFeelException e1) { e1.printStackTrace(); } } }); menu.add(item); } mb.add(menu); jMenu.add(new JMenuItem(new scene.action.QuitAction())); panel.add(new JScrollPane(desktopPane), BorderLayout.CENTER); final JToolBar bar = new JToolBar(); panel.add(bar, BorderLayout.NORTH); final JComboBox comboNewWindow = new JComboBox( new String[] {"320:180", "320:240", "640:360", "640:480", "1280:720", "1920:1080"}); comboNewWindow.addActionListener(new CreateSceneWindowAction()); comboNewWindow.setBorder(BorderFactory.createTitledBorder("Create New Window")); bar.add(comboNewWindow); bar.add( new AbstractAction("Progress Bars") { /** Invoked when an action occurs. */ @Override public void actionPerformed(ActionEvent e) { new ProgressBarAnimator(); } }); bar.add( new AbstractAction("Sliders") { /** Invoked when an action occurs. */ @Override public void actionPerformed(ActionEvent e) { new SliderBarAnimator(); } }); final JCheckBox permaViz = new JCheckBox(); permaViz.setText("Show the dump window"); permaViz.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); dumpWindow = new JInternalFrame("perma dump window"); dumpWindow.setContentPane(new JScrollPane(permText)); permaViz.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dumpWindow.setVisible(permaViz.isSelected()); } }); comboNewWindow.setMaximumSize(comboNewWindow.getPreferredSize()); permaViz.setSelected(false); bar.add(new CreateWebViewV1Action()); bar.add(new CreateWebViewV2Action()); bar.add(permaViz); desktopPane.add(dumpWindow); dumpWindow.setSize(400, 400); dumpWindow.setResizable(true); dumpWindow.setClosable(false); dumpWindow.setIconifiable(false); final JMenuBar m = new JMenuBar(); final JMenu cmenu = new JMenu("Create"); m.add(cmenu); final JMenuItem menuItem = new JMenuItem( new AbstractAction("new") { @Override public void actionPerformed(ActionEvent e) { Runnable runnable = new Runnable() { public void run() { Object[] in = (Object[]) XSTREAM.fromXML(permText.getText()); final JInternalFrame ff = new JInternalFrame(); final ScenePanel c = new ScenePanel(); ff.setContentPane(c); desktopPane.add(ff); final Dimension d = (Dimension) in[0]; c.setMaximumSize(d); c.setPreferredSize(d); ff.setSize(d.width + 50, d.height + 50); ScenePanel.panes.put(c, (List<Pair<Point, ArrayList<URL>>>) in[1]); c.invalidate(); c.repaint(); ff.pack(); ff.setClosable(true); ff.setMaximizable(false); ff.setIconifiable(false); ff.setResizable(false); ff.show(); } }; SwingUtilities.invokeLater(runnable); } }); cmenu.add(menuItem); // JMenuBar menuBar = new JMenuBar(); // getContentPane().add(menuBar); dumpWindow.setJMenuBar(m); frame.setVisible(true); }