Java 类java.awt.image.BaseMultiResolutionImage 实例源码

项目:openjdk-jdk10    文件:MultiResolutionCursorTest.java   
public void start() {
    //Get things going.  Request focus, set size, et cetera
    setSize(200, 200);
    setVisible(true);
    validate();

    final Image image = new BaseMultiResolutionImage(
            createResolutionVariant(0),
            createResolutionVariant(1),
            createResolutionVariant(2),
            createResolutionVariant(3)
    );

    int center = sizes[0] / 2;
    Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(
            image, new Point(center, center), "multi-resolution cursor");

    Frame frame = new Frame("Test Frame");
    frame.setSize(300, 300);
    frame.setLocation(300, 50);
    frame.add(new Label("Move cursor here"));
    frame.setCursor(cursor);
    frame.setVisible(true);
}
项目:openjdk-jdk10    文件:PressedIconTest.java   
private static void createAndShowGUI() {
    frame = new JFrame();
    frame.setSize(IMAGE_SIZE, IMAGE_SIZE);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel panel = new JPanel(new BorderLayout());

    BufferedImage img1x = generateImage(1, COLOR_1X);

    BufferedImage img2x = generateImage(2, COLOR_2X);
    BaseMultiResolutionImage mri = new BaseMultiResolutionImage(
            new BufferedImage[]{img1x, img2x});
    Icon mrIcon = new ImageIcon(mri);

    JToggleButton button = new JToggleButton();
    button.setIcon(mrIcon);
    panel.add(button, BorderLayout.CENTER);

    frame.getContentPane().add(panel);
    frame.setVisible(true);
}
项目:openjdk9    文件:MultiResolutionCursorTest.java   
public void start() {
    //Get things going.  Request focus, set size, et cetera
    setSize(200, 200);
    setVisible(true);
    validate();

    final Image image = new BaseMultiResolutionImage(
            createResolutionVariant(0),
            createResolutionVariant(1),
            createResolutionVariant(2),
            createResolutionVariant(3)
    );

    int center = sizes[0] / 2;
    Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(
            image, new Point(center, center), "multi-resolution cursor");

    Frame frame = new Frame("Test Frame");
    frame.setSize(300, 300);
    frame.setLocation(300, 50);
    frame.add(new Label("Move cursor here"));
    frame.setCursor(cursor);
    frame.setVisible(true);
}
项目:openjdk-jdk10    文件:MultiResolutionDrawImageWithTransformTest.java   
public static void main(String[] args) throws Exception {

        int length = COLORS.length;
        BufferedImage[] resolutionVariants = new BufferedImage[length];
        for (int i = 0; i < length; i++) {
            resolutionVariants[i] = createRVImage(getSize(i), COLORS[i]);
        }

        BaseMultiResolutionImage mrImage = new BaseMultiResolutionImage(
                resolutionVariants);

        // scale 1, transform 1, resolution variant 1
        Color color = getImageColor(mrImage, 1, 1);
        if (!getColorForScale(1).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 1, transform 2, resolution variant 2
        color = getImageColor(mrImage, 1, 2);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 2, transform 1, resolution variant 2
        color = getImageColor(mrImage, 2, 1);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 2, transform 2, resolution variant 4
        color = getImageColor(mrImage, 2, 2);
        if (!getColorForScale(4).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }
    }
项目:openjdk-jdk10    文件:MultiResolutionDisabledImageTest.java   
public static void main(String[] args) throws Exception {

        Image baseMRImage = new BaseMultiResolutionImage(createImage(1),
                                                         createImage(2));
        testMRDisabledImage(baseMRImage);

        saveImages();
        Image toolkitMRImage = Toolkit.getDefaultToolkit().getImage(IMAGE_NAME_1X);

        if (toolkitMRImage instanceof MultiResolutionImage) {
            testMRDisabledImage(toolkitMRImage);
        }
    }
项目:openjdk-jdk10    文件:BaseMultiResolutionImageTest.java   
static void testZeroRVIMages() {
    try {
        new BaseMultiResolutionImage();
    } catch (IllegalArgumentException ignored) {
        return;
    }
    throw new RuntimeException("IllegalArgumentException is not thrown!");
}
项目:openjdk-jdk10    文件:BaseMultiResolutionImageTest.java   
static void testNullRVIMages() {
    try {
        new BaseMultiResolutionImage(null);
    } catch (IllegalArgumentException ignored) {
        return;
    }
    throw new RuntimeException("IllegalArgumentException is not thrown!");
}
项目:openjdk-jdk10    文件:BaseMultiResolutionImageTest.java   
static void testNullRVIMage() {

        Image baseImage = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);

        try {
            new BaseMultiResolutionImage(baseImage, null);
        } catch (NullPointerException ignored) {
            return;
        }
        throw new RuntimeException("NullPointerException is not thrown!");
    }
项目:openjdk-jdk10    文件:BaseMultiResolutionImageTest.java   
static void testIOOBException() {

        for (int baseImageIndex : new int[]{-3, 2, 4}) {
            try {
                new BaseMultiResolutionImage(baseImageIndex,
                        createRVImage(0), createRVImage(1));
            } catch (IndexOutOfBoundsException ignored) {
                continue;
            }

            throw new RuntimeException("IndexOutOfBoundsException is not thrown!");
        }
    }
项目:openjdk-jdk10    文件:BaseMultiResolutionImageTest.java   
static void testRVSizes() {

        int imageSize = getSize(1);

        double[][] sizeArray = {
            {-imageSize, imageSize},
            {2 * imageSize, -2 * imageSize},
            {Double.POSITIVE_INFINITY, imageSize},
            {Double.POSITIVE_INFINITY, -imageSize},
            {imageSize, Double.NEGATIVE_INFINITY},
            {-imageSize, Double.NEGATIVE_INFINITY},
            {Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY},
            {Double.NaN, imageSize},
            {imageSize, Double.NaN},
            {Double.NaN, Double.NaN},
            {Double.POSITIVE_INFINITY, Double.NaN}
        };

        for (double[] sizes : sizeArray) {
            try {
                MultiResolutionImage mrImage = new BaseMultiResolutionImage(
                        0, createRVImage(0), createRVImage(1));
                mrImage.getResolutionVariant(sizes[0], sizes[1]);
            } catch (IllegalArgumentException ignored) {
                continue;
            }

            throw new RuntimeException("IllegalArgumentException is not thrown!");
        }
    }
项目:openjdk-jdk10    文件:MultiResolutionRenderingHintsTest.java   
public static void main(String[] args) throws Exception {

        int length = COLORS.length;
        BufferedImage[] resolutionVariants = new BufferedImage[length];
        for (int i = 0; i < length; i++) {
            resolutionVariants[i] = createRVImage(getSize(i), COLORS[i]);
        }

        BaseMultiResolutionImage mrImage = new BaseMultiResolutionImage(
                resolutionVariants);

        // base
        Color color = getImageColor(VALUE_RESOLUTION_VARIANT_BASE, mrImage, 2, 3);
        if (!getColorForScale(1).equals(color)) {
            throw new RuntimeException("Wrong base resolution variant!");
        }

        // dpi fit
        color = getImageColor(VALUE_RESOLUTION_VARIANT_DPI_FIT, mrImage, 2, 3);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Resolution variant is not based on dpi!");
        }

        // size fit
        color = getImageColor(VALUE_RESOLUTION_VARIANT_SIZE_FIT, mrImage, 2, 3);
        if (!getColorForScale(6).equals(color)) {
            throw new RuntimeException("Resolution variant is not based on"
                    + " rendered size!");
        }

        // default
        // depends on the policies of the platform
        // just check that exception is not thrown
        getImageColor(VALUE_RESOLUTION_VARIANT_DEFAULT, mrImage, 2, 3);
    }
项目:openjdk-jdk10    文件:RepaintManagerFPUIScaleTest.java   
private static Image createTestImage(int width, int height, int colorindex) {

        Color color = COLORS[colorindex % COLORS.length];

        AffineTransform tx = GraphicsEnvironment
                .getLocalGraphicsEnvironment()
                .getDefaultScreenDevice()
                .getDefaultConfiguration()
                .getDefaultTransform();

        Image baseImage = createTestImage(width, height, 1, 1, color);
        Image rvImage = createTestImage(width, height, tx.getScaleX(), tx.getScaleY(), color);

        return new BaseMultiResolutionImage(baseImage, rvImage);
    }
项目:openjdk9    文件:MultiResolutionDrawImageWithTransformTest.java   
public static void main(String[] args) throws Exception {

        int length = COLORS.length;
        BufferedImage[] resolutionVariants = new BufferedImage[length];
        for (int i = 0; i < length; i++) {
            resolutionVariants[i] = createRVImage(getSize(i), COLORS[i]);
        }

        BaseMultiResolutionImage mrImage = new BaseMultiResolutionImage(
                resolutionVariants);

        // scale 1, transform 1, resolution variant 1
        Color color = getImageColor(mrImage, 1, 1);
        if (!getColorForScale(1).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 1, transform 2, resolution variant 2
        color = getImageColor(mrImage, 1, 2);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 2, transform 1, resolution variant 2
        color = getImageColor(mrImage, 2, 1);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 2, transform 2, resolution variant 4
        color = getImageColor(mrImage, 2, 2);
        if (!getColorForScale(4).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }
    }
项目:openjdk9    文件:BaseMultiResolutionImageTest.java   
static void testZeroRVIMages() {
    try {
        new BaseMultiResolutionImage();
    } catch (IllegalArgumentException ignored) {
        return;
    }
    throw new RuntimeException("IllegalArgumentException is not thrown!");
}
项目:openjdk9    文件:BaseMultiResolutionImageTest.java   
static void testNullRVIMages() {
    try {
        new BaseMultiResolutionImage(null);
    } catch (IllegalArgumentException ignored) {
        return;
    }
    throw new RuntimeException("IllegalArgumentException is not thrown!");
}
项目:openjdk9    文件:BaseMultiResolutionImageTest.java   
static void testNullRVIMage() {

        Image baseImage = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);

        try {
            new BaseMultiResolutionImage(baseImage, null);
        } catch (NullPointerException ignored) {
            return;
        }
        throw new RuntimeException("NullPointerException is not thrown!");
    }
项目:openjdk9    文件:BaseMultiResolutionImageTest.java   
static void testIOOBException() {

        for (int baseImageIndex : new int[]{-3, 2, 4}) {
            try {
                new BaseMultiResolutionImage(baseImageIndex,
                        createRVImage(0), createRVImage(1));
            } catch (IndexOutOfBoundsException ignored) {
                continue;
            }

            throw new RuntimeException("IndexOutOfBoundsException is not thrown!");
        }
    }
项目:openjdk9    文件:BaseMultiResolutionImageTest.java   
static void testRVSizes() {

        int imageSize = getSize(1);

        double[][] sizeArray = {
            {-imageSize, imageSize},
            {2 * imageSize, -2 * imageSize},
            {Double.POSITIVE_INFINITY, imageSize},
            {Double.POSITIVE_INFINITY, -imageSize},
            {imageSize, Double.NEGATIVE_INFINITY},
            {-imageSize, Double.NEGATIVE_INFINITY},
            {Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY},
            {Double.NaN, imageSize},
            {imageSize, Double.NaN},
            {Double.NaN, Double.NaN},
            {Double.POSITIVE_INFINITY, Double.NaN}
        };

        for (double[] sizes : sizeArray) {
            try {
                MultiResolutionImage mrImage = new BaseMultiResolutionImage(
                        0, createRVImage(0), createRVImage(1));
                mrImage.getResolutionVariant(sizes[0], sizes[1]);
            } catch (IllegalArgumentException ignored) {
                continue;
            }

            throw new RuntimeException("IllegalArgumentException is not thrown!");
        }
    }
项目:openjdk9    文件:MultiResolutionRenderingHintsTest.java   
public static void main(String[] args) throws Exception {

        int length = COLORS.length;
        BufferedImage[] resolutionVariants = new BufferedImage[length];
        for (int i = 0; i < length; i++) {
            resolutionVariants[i] = createRVImage(getSize(i), COLORS[i]);
        }

        BaseMultiResolutionImage mrImage = new BaseMultiResolutionImage(
                resolutionVariants);

        // base
        Color color = getImageColor(VALUE_RESOLUTION_VARIANT_BASE, mrImage, 2, 3);
        if (!getColorForScale(1).equals(color)) {
            throw new RuntimeException("Wrong base resolution variant!");
        }

        // dpi fit
        color = getImageColor(VALUE_RESOLUTION_VARIANT_DPI_FIT, mrImage, 2, 3);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Resolution variant is not based on dpi!");
        }

        // size fit
        color = getImageColor(VALUE_RESOLUTION_VARIANT_SIZE_FIT, mrImage, 2, 3);
        if (!getColorForScale(6).equals(color)) {
            throw new RuntimeException("Resolution variant is not based on"
                    + " rendered size!");
        }

        // default
        // depends on the policies of the platform
        // just check that exception is not thrown
        getImageColor(VALUE_RESOLUTION_VARIANT_DEFAULT, mrImage, 2, 3);
    }
项目:jdk8u_jdk    文件:MultiResolutionDrawImageWithTransformTest.java   
public static void main(String[] args) throws Exception {

        int length = COLORS.length;
        BufferedImage[] resolutionVariants = new BufferedImage[length];
        for (int i = 0; i < length; i++) {
            resolutionVariants[i] = createRVImage(getSize(i), COLORS[i]);
        }

        BaseMultiResolutionImage mrImage = new BaseMultiResolutionImage(
                resolutionVariants);

        // scale 1, transform 1, resolution variant 1
        Color color = getImageColor(mrImage, 1, 1);
        if (!getColorForScale(1).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 1, transform 2, resolution variant 2
        color = getImageColor(mrImage, 1, 2);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 2, transform 1, resolution variant 2
        color = getImageColor(mrImage, 2, 1);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }

        // scale 2, transform 2, resolution variant 4
        color = getImageColor(mrImage, 2, 2);
        if (!getColorForScale(4).equals(color)) {
            throw new RuntimeException("Wrong resolution variant!");
        }
    }
项目:jdk8u_jdk    文件:MultiResolutionDisabledImageTest.java   
public static void main(String[] args) throws Exception {

        Image baseMRImage = new BaseMultiResolutionImage(createImage(1),
                                                         createImage(2));
        testMRDisabledImage(baseMRImage);

        saveImages();
        Image toolkitMRImage = Toolkit.getDefaultToolkit().getImage(IMAGE_NAME_1X);

        if (toolkitMRImage instanceof MultiResolutionImage) {
            testMRDisabledImage(toolkitMRImage);
        }
    }
项目:jdk8u_jdk    文件:BaseMultiResolutionImageTest.java   
static void testZeroRVIMages() {
    try {
        new BaseMultiResolutionImage();
    } catch (IllegalArgumentException ignored) {
        return;
    }
    throw new RuntimeException("IllegalArgumentException is not thrown!");
}
项目:jdk8u_jdk    文件:BaseMultiResolutionImageTest.java   
static void testNullRVIMages() {
    try {
        new BaseMultiResolutionImage(null);
    } catch (IllegalArgumentException ignored) {
        return;
    }
    throw new RuntimeException("IllegalArgumentException is not thrown!");
}
项目:jdk8u_jdk    文件:BaseMultiResolutionImageTest.java   
static void testNullRVIMage() {

        Image baseImage = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);

        try {
            new BaseMultiResolutionImage(baseImage, null);
        } catch (NullPointerException ignored) {
            return;
        }
        throw new RuntimeException("NullPointerException is not thrown!");
    }
项目:jdk8u_jdk    文件:BaseMultiResolutionImageTest.java   
static void testIOOBException() {

        for (int baseImageIndex : new int[]{-3, 2, 4}) {
            try {
                new BaseMultiResolutionImage(baseImageIndex,
                        createRVImage(0), createRVImage(1));
            } catch (IndexOutOfBoundsException ignored) {
                continue;
            }

            throw new RuntimeException("IndexOutOfBoundsException is not thrown!");
        }
    }
项目:jdk8u_jdk    文件:BaseMultiResolutionImageTest.java   
static void testRVSizes() {

        int imageSize = getSize(1);

        double[][] sizeArray = {
            {-imageSize, imageSize},
            {2 * imageSize, -2 * imageSize},
            {Double.POSITIVE_INFINITY, imageSize},
            {Double.POSITIVE_INFINITY, -imageSize},
            {imageSize, Double.NEGATIVE_INFINITY},
            {-imageSize, Double.NEGATIVE_INFINITY},
            {Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY},
            {Double.NaN, imageSize},
            {imageSize, Double.NaN},
            {Double.NaN, Double.NaN},
            {Double.POSITIVE_INFINITY, Double.NaN}
        };

        for (double[] sizes : sizeArray) {
            try {
                MultiResolutionImage mrImage = new BaseMultiResolutionImage(
                        0, createRVImage(0), createRVImage(1));
                mrImage.getResolutionVariant(sizes[0], sizes[1]);
            } catch (IllegalArgumentException ignored) {
                continue;
            }

            throw new RuntimeException("IllegalArgumentException is not thrown!");
        }
    }
项目:jdk8u_jdk    文件:MultiResolutionRenderingHintsTest.java   
public static void main(String[] args) throws Exception {

        int length = COLORS.length;
        BufferedImage[] resolutionVariants = new BufferedImage[length];
        for (int i = 0; i < length; i++) {
            resolutionVariants[i] = createRVImage(getSize(i), COLORS[i]);
        }

        BaseMultiResolutionImage mrImage = new BaseMultiResolutionImage(
                resolutionVariants);

        // base
        Color color = getImageColor(VALUE_RESOLUTION_VARIANT_BASE, mrImage, 2, 3);
        if (!getColorForScale(1).equals(color)) {
            throw new RuntimeException("Wrong base resolution variant!");
        }

        // dpi fit
        color = getImageColor(VALUE_RESOLUTION_VARIANT_DPI_FIT, mrImage, 2, 3);
        if (!getColorForScale(2).equals(color)) {
            throw new RuntimeException("Resolution variant is not based on dpi!");
        }

        // size fit
        color = getImageColor(VALUE_RESOLUTION_VARIANT_SIZE_FIT, mrImage, 2, 3);
        if (!getColorForScale(6).equals(color)) {
            throw new RuntimeException("Resolution variant is not based on"
                    + " rendered size!");
        }

        // default
        // depends on the policies of the platform
        // just check that exception is not thrown
        getImageColor(VALUE_RESOLUTION_VARIANT_DEFAULT, mrImage, 2, 3);
    }
项目:jdk8u_jdk    文件:RepaintManagerFPUIScaleTest.java   
private static Image createTestImage(int width, int height, int colorindex) {

        Color color = COLORS[colorindex % COLORS.length];

        AffineTransform tx = GraphicsEnvironment
                .getLocalGraphicsEnvironment()
                .getDefaultScreenDevice()
                .getDefaultConfiguration()
                .getDefaultTransform();

        Image baseImage = createTestImage(width, height, 1, 1, color);
        Image rvImage = createTestImage(width, height, tx.getScaleX(), tx.getScaleY(), color);

        return new BaseMultiResolutionImage(baseImage, rvImage);
    }
项目:demo-java-9    文件:Images.java   
private static MultiResolutionImage loadTokio() throws IOException {
    List<Image> tokios = new ArrayList<>();
    for (String url : IMAGE_URLS) {
        tokios.add(ImageIO.read(new URL(url)));
    }
    return new BaseMultiResolutionImage(tokios.toArray(new Image[0]));
}
项目:openjdk-jdk10    文件:MultiresolutionIconTest.java   
private void UI() {

        setUndecorated(true);

        BufferedImage img1x = generateImage(SZ / 2, C1X);
        BufferedImage img2x = generateImage(SZ, C2X);
        BaseMultiResolutionImage mri = new BaseMultiResolutionImage(
            new BufferedImage[]{img1x, img2x});
        Icon icon = new ImageIcon(mri);

        // hardcoded icon size for OS X (Mac OS X L&F) - see JDK-8151060
        BufferedImage tab1x = generateImage(16, C1X);
        BufferedImage tab2x = generateImage(32, C2X);
        BaseMultiResolutionImage tabMRI = new BaseMultiResolutionImage(
            new BufferedImage[]{tab1x, tab2x});
        Icon tabIcon = new ImageIcon(tabMRI);

        setSize((N + 1) * SZ, SZ);
        setLocation(50, 50);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().setLayout(new GridLayout(1, 1));

        JPanel p = new JPanel();
        p.setLayout(new GridLayout(1, N));

        JButton btn = new JButton(icon);
        p.add(btn);

        JToggleButton tbn = new JToggleButton(icon);
        p.add(tbn);

        JRadioButton rbn = new JRadioButton(icon);
        rbn.setHorizontalAlignment(SwingConstants.CENTER);
        p.add(rbn);

        JCheckBox cbx = new JCheckBox(icon);
        cbx.setHorizontalAlignment(SwingConstants.CENTER);
        p.add(cbx);

        lbl = new JLabel(icon);
        p.add(lbl);

        tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
        tabbedPane.addTab("", tabIcon, p);
        getContentPane().add(tabbedPane);

        setResizable(false);
        setVisible(true);
    }
项目:openjdk-jdk10    文件:MultiResolutionTrayIconTest.java   
private static BaseMultiResolutionImage createIcon(int w, int h) {
    return new BaseMultiResolutionImage(
            new BufferedImage[]{generateImage(w, h, 1, Color.RED),
                generateImage(w, h, 2, Color.GREEN)});
}
项目:openjdk9    文件:MultiresolutionIconTest.java   
private void UI() {

        setUndecorated(true);

        BufferedImage img1x = generateImage(SZ / 2, C1X);
        BufferedImage img2x = generateImage(SZ, C2X);
        BaseMultiResolutionImage mri = new BaseMultiResolutionImage(
            new BufferedImage[]{img1x, img2x});
        Icon icon = new ImageIcon(mri);

        // hardcoded icon size for OS X (Mac OS X L&F) - see JDK-8151060
        BufferedImage tab1x = generateImage(16, C1X);
        BufferedImage tab2x = generateImage(32, C2X);
        BaseMultiResolutionImage tabMRI = new BaseMultiResolutionImage(
            new BufferedImage[]{tab1x, tab2x});
        Icon tabIcon = new ImageIcon(tabMRI);

        setSize((N + 1) * SZ, SZ);
        setLocation(50, 50);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().setLayout(new GridLayout(1, 1));

        JPanel p = new JPanel();
        p.setLayout(new GridLayout(1, N));

        JButton btn = new JButton(icon);
        p.add(btn);

        JToggleButton tbn = new JToggleButton(icon);
        p.add(tbn);

        JRadioButton rbn = new JRadioButton(icon);
        rbn.setHorizontalAlignment(SwingConstants.CENTER);
        p.add(rbn);

        JCheckBox cbx = new JCheckBox(icon);
        cbx.setHorizontalAlignment(SwingConstants.CENTER);
        p.add(cbx);

        lbl = new JLabel(icon);
        p.add(lbl);

        tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
        tabbedPane.addTab("", tabIcon, p);
        getContentPane().add(tabbedPane);

        setResizable(false);
        setVisible(true);
    }
项目:jdk8u_jdk    文件:MultiresolutionIconTest.java   
private void UI() {

        setUndecorated(true);

        BufferedImage img1x = generateImage(SZ / 2, C1X);
        BufferedImage img2x = generateImage(SZ, C2X);
        BaseMultiResolutionImage mri = new BaseMultiResolutionImage(
            new BufferedImage[]{img1x, img2x});
        Icon icon = new ImageIcon(mri);

        // hardcoded icon size for OS X (Mac OS X L&F) - see JDK-8151060
        BufferedImage tab1x = generateImage(16, C1X);
        BufferedImage tab2x = generateImage(32, C2X);
        BaseMultiResolutionImage tabMRI = new BaseMultiResolutionImage(
            new BufferedImage[]{tab1x, tab2x});
        Icon tabIcon = new ImageIcon(tabMRI);

        setSize((N + 1) * SZ, SZ);
        setLocation(50, 50);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().setLayout(new GridLayout(1, 1));

        JPanel p = new JPanel();
        p.setLayout(new GridLayout(1, N));

        JButton btn = new JButton(icon);
        p.add(btn);

        JToggleButton tbn = new JToggleButton(icon);
        p.add(tbn);

        JRadioButton rbn = new JRadioButton(icon);
        rbn.setHorizontalAlignment(SwingConstants.CENTER);
        p.add(rbn);

        JCheckBox cbx = new JCheckBox(icon);
        cbx.setHorizontalAlignment(SwingConstants.CENTER);
        p.add(cbx);

        lbl = new JLabel(icon);
        p.add(lbl);

        tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
        tabbedPane.addTab("", tabIcon, p);
        getContentPane().add(tabbedPane);

        setResizable(false);
        setVisible(true);
    }
项目:jdk8u_jdk    文件:MultiResolutionTrayIconTest.java   
private static BaseMultiResolutionImage createIcon(int w, int h) {
    return new BaseMultiResolutionImage(
            new BufferedImage[]{generateImage(w, h, 1, Color.RED),
                generateImage(w, h, 2, Color.GREEN)});
}
项目:openjdk-jdk10    文件:Robot.java   
/**
 * Creates an image containing pixels read from the screen.
 * This image does not include the mouse cursor.
 * This method can be used in case there is a scaling transform
 * from user space to screen (device) space.
 * Typically this means that the display is a high resolution screen,
 * although strictly it means any case in which there is such a transform.
 * Returns a {@link java.awt.image.MultiResolutionImage}.
 * <p>
 * For a non-scaled display, the {@code MultiResolutionImage}
 * will have one image variant:
 * <ul>
 * <li> Base Image with user specified size.
 * </ul>
 * <p>
 * For a high resolution display where there is a scaling transform,
 * the {@code MultiResolutionImage} will have two image variants:
 * <ul>
 * <li> Base Image with user specified size. This is scaled from the screen.
 * <li> Native device resolution image with device size pixels.
 * </ul>
 * <p>
 * Example:
 * <pre>{@code
 *      Image nativeResImage;
 *      MultiResolutionImage mrImage = robot.createMultiResolutionScreenCapture(frame.getBounds());
 *      List<Image> resolutionVariants = mrImage.getResolutionVariants();
 *      if (resolutionVariants.size() > 1) {
 *          nativeResImage = resolutionVariants.get(1);
 *      } else {
 *          nativeResImage = resolutionVariants.get(0);
 *      }
 * }</pre>
 * @param   screenRect     Rect to capture in screen coordinates
 * @return  The captured image
 * @throws  IllegalArgumentException if {@code screenRect} width and height are not greater than zero
 * @throws  SecurityException if {@code readDisplayPixels} permission is not granted
 * @see     SecurityManager#checkPermission
 * @see     AWTPermission
 *
 * @since 9
 */
public synchronized MultiResolutionImage
        createMultiResolutionScreenCapture(Rectangle screenRect) {

    return new BaseMultiResolutionImage(
            createCompatibleImage(screenRect, true));
}