|
Java Example Program/ Sample Source Code
/*
* Copyright (c) 1995 - 2008 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* - Neither the name of Sun Microsystems nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* This test shows the different buffer capabilities for each
* GraphicsConfiguration on each GraphicsDevice.
*/
import java.awt.BorderLayout;
import java.awt.BufferCapabilities;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;
import java.awt.ImageCapabilities;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
* This class wraps a graphics configuration so that it can be displayed nicely
* in components.
*/
class GetBackBufferCapabilitiesExample {
private GraphicsConfiguration gc;
private int index;
public GetBackBufferCapabilitiesExample(GraphicsConfiguration gc, int index) {
this.gc = gc;
this.index = index;
}
public GraphicsConfiguration getGC() {
return gc;
}
public String toString() {
return gc.toString();
}
}
/**
* Main frame class.
*/
public class GetBackBufferCapabilitiesExample extends JFrame implements
ItemListener {
private JComboBox gcSelection = new JComboBox();
private JCheckBox imageAccelerated = new JCheckBox("Accelerated", false);
private JCheckBox imageTrueVolatile = new JCheckBox("Volatile", false);
private JCheckBox flipping = new JCheckBox("Flipping", false);
private JLabel flippingMethod = new JLabel("");
private JCheckBox fullScreen = new JCheckBox("Full Screen Only", false);
private JCheckBox multiBuffer = new JCheckBox("Multi-Buffering", false);
private JCheckBox fbAccelerated = new JCheckBox("Accelerated", false);
private JCheckBox fbTrueVolatile = new JCheckBox("Volatile", false);
private JCheckBox bbAccelerated = new JCheckBox("Accelerated", false);
private JCheckBox bbTrueVolatile = new JCheckBox("Volatile", false);
public GetBackBufferCapabilitiesExample(GraphicsDevice dev) {
super(dev.getDefaultConfiguration());
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent ev) {
System.exit(0);
}
});
initComponents(getContentPane());
GraphicsConfiguration[] gcs = dev.getConfigurations();
for (int i = 0; i < gcs.length; i++) {
gcSelection.addItem(new GetBackBufferCapabilitiesExample(gcs[i], i));
}
gcSelection.addItemListener(this);
gcChanged();
}
/**
* Creates and lays out components in the container. See the comments below
* for an organizational overview by panel.
*/
private void initComponents(Container c) {
c.setLayout(new BorderLayout());
// Graphics Config
JPanel gcPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
c.add(gcPanel, BorderLayout.NORTH);
gcSelection.setPreferredSize(new Dimension(400, 30));
gcPanel.add(gcSelection);
// Capabilities
JPanel capsPanel = new JPanel(new BorderLayout());
c.add(capsPanel, BorderLayout.CENTER);
// Image Capabilities
JPanel imageCapsPanel = new JPanel(new GridLayout(2, 1));
capsPanel.add(imageCapsPanel, BorderLayout.NORTH);
imageCapsPanel.setBorder(BorderFactory
.createTitledBorder("Image Capabilities"));
imageAccelerated.setEnabled(false);
imageCapsPanel.add(imageAccelerated);
imageTrueVolatile.setEnabled(false);
imageCapsPanel.add(imageTrueVolatile);
// Buffer Capabilities
JPanel bufferCapsPanel = new JPanel(new BorderLayout());
capsPanel.add(bufferCapsPanel, BorderLayout.CENTER);
bufferCapsPanel.setBorder(BorderFactory
.createTitledBorder("Buffer Capabilities"));
// Buffer Access
JPanel bufferAccessCapsPanel = new JPanel(new GridLayout(3, 1));
bufferAccessCapsPanel.setPreferredSize(new Dimension(300, 88));
bufferCapsPanel.add(bufferAccessCapsPanel, BorderLayout.NORTH);
// Flipping
JPanel flippingPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
bufferAccessCapsPanel.add(flippingPanel);
flippingPanel.add(flipping);
flipping.setEnabled(false);
flippingPanel.add(flippingMethod);
// Full-screen
JPanel fsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
bufferAccessCapsPanel.add(fsPanel);
JPanel indentPanel = new JPanel();
indentPanel.setPreferredSize(new Dimension(30, 30));
fsPanel.add(indentPanel);
fsPanel.add(fullScreen);
fullScreen.setEnabled(false);
// Multi-buffering
JPanel mbPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
bufferAccessCapsPanel.add(mbPanel);
indentPanel = new JPanel();
indentPanel.setPreferredSize(new Dimension(30, 30));
mbPanel.add(indentPanel);
mbPanel.add(multiBuffer);
multiBuffer.setEnabled(false);
// Front and Back Buffer Capabilities
JPanel buffersPanel = new JPanel(new GridLayout(1, 2));
bufferCapsPanel.add(buffersPanel, BorderLayout.CENTER);
// Front Buffer
JPanel fbPanel = new JPanel(new GridLayout(2, 1));
fbPanel.setBorder(BorderFactory.createTitledBorder("Front Buffer"));
buffersPanel.add(fbPanel);
fbPanel.add(fbAccelerated);
fbAccelerated.setEnabled(false);
fbPanel.add(fbTrueVolatile);
fbTrueVolatile.setEnabled(false);
// Back Buffer
JPanel bbPanel = new JPanel(new GridLayout(2, 1));
bbPanel.setPreferredSize(new Dimension(250, 80));
bbPanel.setBorder(BorderFactory
.createTitledBorder("Back and Intermediate Buffers"));
buffersPanel.add(bbPanel);
bbPanel.add(bbAccelerated);
bbAccelerated.setEnabled(false);
bbPanel.add(bbTrueVolatile);
bbTrueVolatile.setEnabled(false);
}
public void itemStateChanged(ItemEvent ev) {
gcChanged();
}
private void gcChanged() {
GetBackBufferCapabilitiesExample wrap = (GetBackBufferCapabilitiesExample) gcSelection.getSelectedItem();
// assert wrap != null;
GraphicsConfiguration gc = wrap.getGC();
// assert gc != null;
// Image Caps
ImageCapabilities imageCaps = gc.getImageCapabilities();
imageAccelerated.setSelected(imageCaps.isAccelerated());
imageTrueVolatile.setSelected(imageCaps.isTrueVolatile());
// Buffer Caps
BufferCapabilities bufferCaps = gc.getBufferCapabilities();
flipping.setSelected(bufferCaps.isPageFlipping());
flippingMethod.setText(getFlipText(bufferCaps.getFlipContents()));
fullScreen.setSelected(bufferCaps.isFullScreenRequired());
multiBuffer.setSelected(bufferCaps.isMultiBufferAvailable());
// Front buffer caps
imageCaps = bufferCaps.getFrontBufferCapabilities();
fbAccelerated.setSelected(imageCaps.isAccelerated());
fbTrueVolatile.setSelected(imageCaps.isTrueVolatile());
imageCaps = bufferCaps.getFrontBufferCapabilities();
// Back buffer caps
imageCaps = bufferCaps.getBackBufferCapabilities();
bbAccelerated.setSelected(imageCaps.isAccelerated());
bbTrueVolatile.setSelected(imageCaps.isTrueVolatile());
}
private static String getFlipText(BufferCapabilities.FlipContents flip) {
if (flip == null) {
return "";
} else if (flip == BufferCapabilities.FlipContents.UNDEFINED) {
return "Method Unspecified";
} else if (flip == BufferCapabilities.FlipContents.BACKGROUND) {
return "Cleared to Background";
} else if (flip == BufferCapabilities.FlipContents.PRIOR) {
return "Previous Front Buffer";
} else { // if (flip == BufferCapabilities.FlipContents.COPIED)
return "Copied";
}
}
public static void main(String[] args) {
GraphicsEnvironment ge = GraphicsEnvironment
.getLocalGraphicsEnvironment();
GraphicsDevice[] devices = ge.getScreenDevices();
for (int i = 0; i < devices.length; i++) {
GetBackBufferCapabilitiesExample tst = new GetBackBufferCapabilitiesExample(
devices[i]);
tst.pack();
tst.setVisible(true);
}
}
} |
|
|
AWTEventMulticaster
- How To Use AWTEventMulticaster
- add(ActionListener a, ActionListener b) In AWTEventMulticaster
- add(AdjustmentListener a, AdjustmentListener b) In AWTEventMulticaster
- add(ComponentListener a, ComponentListener b) In AWTEventMulticaster
- add(ContainerListener a, ContainerListener b) In AWTEventMulticaster
- add(FocusListener a, FocusListener b) In AWTEventMulticaster
- add(HierarchyBoundsListener a, HierarchyBoundsListener b) In AWTEventMulticaster
- add(HierarchyListener a, HierarchyListener b) In AWTEventMulticaster
- add(InputMethodListener a, InputMethodListener b) In AWTEventMulticaster
- add(ItemListener a, ItemListener b) In AWTEventMulticaster
- add(KeyListener a, KeyListener b) In AWTEventMulticaster
- add(MouseListener a, MouseListener b) In AWTEventMulticaster
- add(MouseMotionListener a, MouseMotionListener b) In AWTEventMulticaster
- add(MouseWheelListener a, MouseWheelListener b) In AWTEventMulticaster
- add(TextListener a, TextListener b) In AWTEventMulticaster
- add(WindowFocusListener a, WindowFocusListener b) In AWTEventMulticaster
- add(WindowListener a, WindowListener b) In AWTEventMulticaster
- add(WindowStateListener a, WindowStateListener b) In AWTEventMulticaster
- addInternal(EventListener a, EventListener b) In AWTEventMulticaster
- remove(ActionListener l, ActionListener oldl) In AWTEventMulticaster
- remove(AdjustmentListener l, AdjustmentListener oldl) In AWTEventMulticaster
- remove(ComponentListener l, ComponentListener oldl) In AWTEventMulticaster
- remove(ContainerListener l, ContainerListener oldl) In AWTEventMulticaster
- remove(EventListener oldl) In AWTEventMulticaster
- remove(FocusListener l, FocusListener oldl) In AWTEventMulticaster
- remove(HierarchyBoundsListener l, HierarchyBoundsListener oldl) In AWTEventMulticaster
- remove(HierarchyListener l, HierarchyListener oldl) In AWTEventMulticaster
- remove(InputMethodListener l, InputMethodListener oldl) In AWTEventMulticaster
- remove(ItemListener l, ItemListener oldl) In AWTEventMulticaster
- remove(KeyListener l, KeyListener oldl) In AWTEventMulticaster
- remove(MouseListener l, MouseListener oldl) In AWTEventMulticaster
- remove(MouseMotionListener l, MouseMotionListener oldl) In AWTEventMulticaster
- remove(MouseWheelListener l, MouseWheelListener oldl) In AWTEventMulticaster
- remove(TextListener l, TextListener oldl) In AWTEventMulticaster
- remove(WindowFocusListener l, WindowFocusListener oldl) In AWTEventMulticaster
- remove(WindowListener l, WindowListener oldl) In AWTEventMulticaster
- remove(WindowStateListener l, WindowStateListener oldl) In AWTEventMulticaster
- removeInternal(EventListener l, EventListener oldl) In AWTEventMulticaster
- save(ObjectOutputStream s, String k, EventListener l) In AWTEventMulticaster
- saveInternal(ObjectOutputStream s, String k) In AWTEventMulticaster
DefaultFocusTraversalPolicy
DefaultKeyboardFocusManager
Graphics
- clipRect(int x, int y, int width, int height) In Graphics
- drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) In Graphics
- drawLine(int x1, int y1, int x2, int y2) In Graphics
- drawOval(int x, int y, int width, int height) In Graphics
- drawPolygon(int[] xPoints, int[] yPoints, int nPoints) In Graphics
- drawRect(int x, int y, int width, int height) In Graphics
- drawString(String str, int x, int y) In Graphics
- fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) In Graphics
- fillOval(int x, int y, int width, int height) In Graphics
- fillPolygon(int[] xPoints, int[] yPoints, int nPoints) In Graphics
- fillRect(int x, int y, int width, int height) In Graphics
- drawImage(Image img, int x, int y, ImageObserver observer) In Graphics
- setColor(Java.awt.Color) In Graphics
- setPaintMode() In Graphics
- setXORMode(Java.awt.Color) In Graphics
- setFont(Java.awt.Font) In Graphics
GraphicsConfiguration
- Using GraphicsConfiguration
- createCompatibleImage(int width, int height) In GraphicsConfiguration
- createCompatibleImage(int width, int height, int transparency) In GraphicsConfiguration
- createCompatibleVolatileImage(int width, int height) In GraphicsConfiguration
- createCompatibleVolatileImage(int width, int height, ImageCapabilities caps) In GraphicsConfiguration
- createCompatibleVolatileImage(int width, int height, ImageCapabilities caps, int transparency) In GraphicsConfiguration
- createCompatibleVolatileImage(int width, int height, int transparency) In GraphicsConfiguration
- getBounds() In GraphicsConfiguration
- getBufferCapabilities() In GraphicsConfiguration
- getColorModel() In GraphicsConfiguration
- getColorModel(int transparency) In GraphicsConfiguration
- getDefaultTransform() In GraphicsConfiguration
- getDevice() In GraphicsConfiguration
- getImageCapabilities() In GraphicsConfiguration
- getNormalizingTransform() In GraphicsConfiguration
- isTranslucencyCapable() In GraphicsConfiguration
MediaTracker
- How To Use MediaTracker
- addImage(Image image, int id) In MediaTracker
- addImage(Image image, int id, int w, int h) In MediaTracker
- checkAll() In MediaTracker
- checkAll(boolean load) In MediaTracker
- checkID(int id) In MediaTracker
- checkID(int id, boolean load) In MediaTracker
- getErrorsAny() In MediaTracker
- getErrorsID(int id) In MediaTracker
- isErrorAny() In MediaTracker
- isErrorID(int id) In MediaTracker
- removeImage(Image image) In MediaTracker
- removeImage(Image image, int id) In MediaTracker
- removeImage(Image image, int id, int width, int height) In MediaTracker
- statusAll(boolean load) In MediaTracker
- statusID(int id, boolean load) In MediaTracker
- waitForAll() In MediaTracker
- waitForAll(long ms) In MediaTracker
- waitForID(int id) In MediaTracker
- waitForID(int id, long ms) In MediaTracker
|
|
|
|
|