/*
* $Id$
*
* Copyright (C) 2003-2015 JNode.org
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; If not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package org.jnode.test.gui;
import java.awt.BorderLayout;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
/**
* @author Ewout Prangsma (epr@users.sourceforge.net)
*/
@SuppressWarnings("serial")
public class SwingTest extends JFrame {
private final JButton north;
private final JButton south;
public SwingTest(String title) {
super(title);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
getRootPane().setDoubleBuffered(false);
setLocation(100, 100);
setSize(400, 400);
//getContentPane().add(north = new JButton("JButton north"), BorderLayout.NORTH);
URL url = getClass().getClassLoader().getResource("JNode_logo_trans.png");
if (url == null) {
System.out.println("Unable to load image: getRecource(\"JNode_logo_trans.png\")");
north = new JButton("JButton north");
} else {
north = new JButton("JButton north", new ImageIcon(url));
}
getContentPane().add(north, BorderLayout.NORTH);
getContentPane().add(new JTextArea("JTextArea test"), BorderLayout.CENTER);
getContentPane().add(south = new JButton("JButton south"), BorderLayout.SOUTH);
north.requestFocus();
}
public void dumpInfo() {
System.out.println("frame.size: " + getSize());
System.out.println("frame.insets: " + getInsets());
// System.out.println("frame.peer.insets: " + ((FramePeer)getPeer()).getInsets());
System.out.println("frame.contentpane.bounds: " + getContentPane().getBounds());
System.out.println("north.bounds " + north.getBounds());
System.out.println("south.bounds " + south.getBounds());
}
public static void main(String[] args) {
try {
SwingTest frame = new SwingTest("JFrame test");
frame.validate();
frame.setVisible(true);
frame.dumpInfo();
Thread.sleep(10000);
frame.dumpInfo();
} catch (Exception e) {
e.printStackTrace();
}
}
}