void showWarning(Frame frame, String warning) { warningDialog = new Dialog(frame, "警告", true); warningDialog.setSize(200, 100); warningDialog.setLayout(new FlowLayout()); warningDialog.setResizable(false); warningDialog.setLocationRelativeTo(frame); warningText = new Label(warning); warningButton = new Button("确认"); warningDialog.add(warningText); warningDialog.add(warningButton); warningDialog.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { warningDialog.setVisible(false); warningDialog.dispose(); } }); warningButton.addKeyListener( new KeyAdapter() { public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); if (keyCode == KeyEvent.VK_ENTER) { warningDialog.setVisible(false); warningDialog.dispose(); } } }); warningButton.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { warningDialog.setVisible(false); warningDialog.dispose(); } }); warningDialog.setVisible(true); }
@NotNull @SuppressWarnings("UseJBColor") protected Dialog getOrCreatePickerDialog() { Dialog pickerDialog = getPickerDialog(); if (pickerDialog == null) { pickerDialog = super.getOrCreatePickerDialog(); pickerDialog.addMouseListener( new MouseAdapter() { @Override public void mouseExited(MouseEvent event) { updatePipette(); } }); pickerDialog.addMouseMotionListener( new MouseAdapter() { @Override public void mouseMoved(MouseEvent e) { updatePipette(); } }); pickerDialog.addFocusListener( new FocusAdapter() { @Override public void focusLost(FocusEvent e) { if (e.isTemporary()) { pickAndClose(); } else { cancelPipette(); } } }); pickerDialog.setSize(DIALOG_SIZE, DIALOG_SIZE); myMaskImage = UIUtil.createImage(SIZE, SIZE, BufferedImage.TYPE_INT_ARGB); Graphics2D maskG = myMaskImage.createGraphics(); maskG.setColor(Color.BLUE); maskG.fillRect(0, 0, SIZE, SIZE); maskG.setColor(Color.RED); maskG.setComposite(AlphaComposite.SrcOut); maskG.fillRect(0, 0, SIZE, SIZE); maskG.dispose(); myPipetteImage = UIUtil.createImage( AllIcons.Ide.Pipette.getIconWidth(), AllIcons.Ide.Pipette.getIconHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D graphics = myPipetteImage.createGraphics(); //noinspection ConstantConditions AllIcons.Ide.Pipette.paintIcon(null, graphics, 0, 0); graphics.dispose(); myImage = myParent .getGraphicsConfiguration() .createCompatibleImage(SIZE, SIZE, Transparency.TRANSLUCENT); myGraphics = (Graphics2D) myImage.getGraphics(); myGraphics.setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR); } return pickerDialog; }