/* * Created on 04.10.2010 * */ package org.jdesktop.swingx; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Rectangle; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.util.logging.Logger; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class JXFrameTest extends InteractiveTestCase { @SuppressWarnings("unused") private static final Logger LOG = Logger.getLogger(JXFrameTest.class .getName()); @Test public void testGraphicsConfig() { // This test will not work in a headless configuration. if (GraphicsEnvironment.isHeadless()) { LOG.fine("cannot run ui test - headless environment"); return; } JXFrame compare = new JXFrame(); GraphicsConfiguration gc = new DummyGraphicsConfiguration(compare.getGraphicsConfiguration()); JXFrame frame = new JXFrame(gc); assertEquals(gc, frame.getGraphicsConfiguration()); assertEquals(compare.getDefaultCloseOperation(), frame.getDefaultCloseOperation()); assertEquals(compare.getTitle(), frame.getTitle()); } public static class DummyGraphicsConfiguration extends GraphicsConfiguration { GraphicsConfiguration delegate; public DummyGraphicsConfiguration(GraphicsConfiguration delegate) { this.delegate = delegate; } @Override public BufferedImage createCompatibleImage(int width, int height) { return delegate.createCompatibleImage(width, height); } @Override public Rectangle getBounds() { return delegate.getBounds(); } @Override public ColorModel getColorModel() { return delegate.getColorModel(); } @Override public ColorModel getColorModel(int transparency) { return delegate.getColorModel(transparency); } @Override public AffineTransform getDefaultTransform() { return delegate.getDefaultTransform(); } @Override public GraphicsDevice getDevice() { return delegate.getDevice(); } @Override public AffineTransform getNormalizingTransform() { return delegate.getNormalizingTransform(); } } }