1 /* 2 * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 import javax.swing.*; 25 import java.awt.*; 26 import java.util.Locale; 27 28 /* 29 * @test 30 * @summary Check that JSplitPane constructor and methods do not throw unexpected 31 * exceptions in headless mode 32 * @run main/othervm -Djava.awt.headless=true HeadlessJSplitPane 33 */ 34 35 public class HeadlessJSplitPane { main(String args[])36 public static void main(String args[]) { 37 JSplitPane s = new JSplitPane(); 38 s.getAccessibleContext(); 39 s.isFocusTraversable(); 40 s.setEnabled(false); 41 s.setEnabled(true); 42 s.requestFocus(); 43 s.requestFocusInWindow(); 44 s.getPreferredSize(); 45 s.getMaximumSize(); 46 s.getMinimumSize(); 47 s.contains(1, 2); 48 Insets ins = s.getInsets(); 49 s.getAlignmentY(); 50 s.getAlignmentX(); 51 s.getGraphics(); 52 s.setVisible(false); 53 s.setVisible(true); 54 s.setForeground(Color.red); 55 s.setBackground(Color.red); 56 for (String font : Toolkit.getDefaultToolkit().getFontList()) { 57 for (int j = 8; j < 17; j++) { 58 Font f1 = new Font(font, Font.PLAIN, j); 59 Font f2 = new Font(font, Font.BOLD, j); 60 Font f3 = new Font(font, Font.ITALIC, j); 61 Font f4 = new Font(font, Font.BOLD | Font.ITALIC, j); 62 63 s.setFont(f1); 64 s.setFont(f2); 65 s.setFont(f3); 66 s.setFont(f4); 67 68 s.getFontMetrics(f1); 69 s.getFontMetrics(f2); 70 s.getFontMetrics(f3); 71 s.getFontMetrics(f4); 72 } 73 } 74 s.enable(); 75 s.disable(); 76 s.reshape(10, 10, 10, 10); 77 s.getBounds(new Rectangle(1, 1, 1, 1)); 78 s.getSize(new Dimension(1, 2)); 79 s.getLocation(new Point(1, 2)); 80 s.getX(); 81 s.getY(); 82 s.getWidth(); 83 s.getHeight(); 84 s.isOpaque(); 85 s.isValidateRoot(); 86 s.isOptimizedDrawingEnabled(); 87 s.isDoubleBuffered(); 88 s.getComponentCount(); 89 s.countComponents(); 90 s.getComponent(1); 91 s.getComponent(2); 92 Component[] cs = s.getComponents(); 93 s.getLayout(); 94 s.setLayout(new FlowLayout()); 95 s.doLayout(); 96 s.layout(); 97 s.invalidate(); 98 s.validate(); 99 s.preferredSize(); 100 s.minimumSize(); 101 s.getComponentAt(1, 2); 102 s.locate(1, 2); 103 s.getComponentAt(new Point(1, 2)); 104 s.isFocusCycleRoot(new Container()); 105 s.transferFocusBackward(); 106 s.setName("goober"); 107 s.getName(); 108 s.getParent(); 109 s.getGraphicsConfiguration(); 110 s.getTreeLock(); 111 s.getToolkit(); 112 s.isValid(); 113 s.isDisplayable(); 114 s.isVisible(); 115 s.isShowing(); 116 s.isEnabled(); 117 s.enable(false); 118 s.enable(true); 119 s.enableInputMethods(false); 120 s.enableInputMethods(true); 121 s.show(); 122 s.show(false); 123 s.show(true); 124 s.hide(); 125 s.getForeground(); 126 s.isForegroundSet(); 127 s.getBackground(); 128 s.isBackgroundSet(); 129 s.getFont(); 130 s.isFontSet(); 131 Container c = new Container(); 132 c.add(s); 133 s.getLocale(); 134 for (Locale locale : Locale.getAvailableLocales()) 135 s.setLocale(locale); 136 137 s.getColorModel(); 138 s.getLocation(); 139 140 boolean exceptions = false; 141 try { 142 s.getLocationOnScreen(); 143 } catch (IllegalComponentStateException e) { 144 exceptions = true; 145 } 146 if (!exceptions) 147 throw new RuntimeException("IllegalComponentStateException did not occur when expected"); 148 149 s.location(); 150 s.setLocation(1, 2); 151 s.move(1, 2); 152 s.setLocation(new Point(1, 2)); 153 s.getSize(); 154 s.size(); 155 s.setSize(1, 32); 156 s.resize(1, 32); 157 s.setSize(new Dimension(1, 32)); 158 s.resize(new Dimension(1, 32)); 159 s.getBounds(); 160 s.bounds(); 161 s.setBounds(10, 10, 10, 10); 162 s.setBounds(new Rectangle(10, 10, 10, 10)); 163 s.isLightweight(); 164 s.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); 165 s.getCursor(); 166 s.isCursorSet(); 167 s.inside(1, 2); 168 s.contains(new Point(1, 2)); 169 s.isFocusable(); 170 s.setFocusable(true); 171 s.setFocusable(false); 172 s.transferFocus(); 173 s.getFocusCycleRootAncestor(); 174 s.nextFocus(); 175 s.transferFocusUpCycle(); 176 s.hasFocus(); 177 s.isFocusOwner(); 178 s.toString(); 179 s.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); 180 s.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 181 s.setComponentOrientation(ComponentOrientation.UNKNOWN); 182 s.getComponentOrientation(); 183 } 184 } 185