List of usage examples for javax.swing Spring constant
public static Spring constant(int pref)
pref
. From source file:Main.java
public static void main(String[] args) { JFrame frame = new JFrame("SpringLayout"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container contentPane = frame.getContentPane(); // Set the content pane's layout to a SpringLayout SpringLayout springLayout = new SpringLayout(); contentPane.setLayout(springLayout); // Add two JButtons to the content pane JButton b1 = new JButton("Button 1"); JButton b2 = new JButton("Button Second"); // Create Constraints objects for b1 and b2 SpringLayout.Constraints b1c = new SpringLayout.Constraints(); SpringLayout.Constraints b2c = new SpringLayout.Constraints(); // Create a Spring object for y value for b1 and b2 Spring yPadding = Spring.constant(20); // Set (10, 20) for (x, y) for b1 b1c.setX(Spring.constant(10)); b1c.setY(yPadding);/*from w w w. j a v a 2s. c om*/ // Set (150, 20) for (x, y) for b2 b2c.setX(Spring.constant(150)); b2c.setY(yPadding); // Use the Constraints object while adding b1 and b2 contentPane.add(b1, b1c); contentPane.add(b2, b2c); frame.pack(); frame.setVisible(true); }
From source file:Main.java
public static void main(String[] args) { SpringLayout layout = new SpringLayout(); JPanel p = new JPanel(layout); p.setBorder(BorderFactory.createLineBorder(Color.GREEN, 10)); JLabel l1 = new JLabel("label: width=90%", SwingConstants.CENTER); l1.setBorder(BorderFactory.createLineBorder(Color.RED, 1)); JButton l2 = new JButton("button: width=50%"); Spring panelw = layout.getConstraint(WIDTH, p); SpringLayout.Constraints c1 = layout.getConstraints(l1); c1.setX(Spring.constant(0)); c1.setY(Spring.constant(20)); c1.setWidth(Spring.scale(panelw, 0.9f)); p.add(l1);//w w w . j a v a2s.co m SpringLayout.Constraints c2 = layout.getConstraints(l2); c2.setWidth(Spring.scale(panelw, 0.5f)); layout.putConstraint(SOUTH, l2, -20, SOUTH, p); layout.putConstraint(EAST, l2, -20, EAST, p); p.add(l2); JFrame f = new JFrame(); f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); f.getContentPane().add(p); f.setSize(320, 240); f.setVisible(true); }
From source file:SpringDemo4.java
public static void main(String[] args) { JFrame frame = new JFrame("SpringDemo4"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Set up the content pane. Container contentPane = frame.getContentPane(); SpringLayout layout = new SpringLayout(); contentPane.setLayout(layout);// w ww . j a v a 2 s. com // Create and add the components. JLabel label = new JLabel("Label: "); JTextField textField = new JTextField("Text field", 15); contentPane.add(label); contentPane.add(textField); // Adjust constraints for the label so it's at (5,5). SpringLayout.Constraints labelCons = layout.getConstraints(label); labelCons.setX(Spring.constant(5)); labelCons.setY(Spring.constant(5)); // Adjust constraints for the text field so it's at // (<label's right edge> + 5, 5). SpringLayout.Constraints textFieldCons = layout.getConstraints(textField); textFieldCons.setX(Spring.sum(Spring.constant(5), labelCons.getConstraint(SpringLayout.EAST))); textFieldCons.setY(Spring.constant(5)); // Adjust constraints for the content pane. setContainerSize(contentPane, 5); // Display the window. frame.pack(); frame.setVisible(true); }
From source file:Main.java
/** * @param minimumSize minimum size -- used to insantiate returned Spring * @param spr springs to get summed with the minimum size * @return summed spring// w w w . j av a 2 s. c o m */ public static Spring springSum(int minimumSize, Spring... spr) { Spring ret = Spring.constant(minimumSize); for (Spring aSpr : spr) { ret = ret.sum(ret, aSpr); } return ret; }
From source file:Main.java
/** * Aligns the first <code>rows</code> <code>cols</code> components of <code>parent</code> in a grid. Each component in * a column is as wide as the maximum preferred width of the components in that column; height is similarly determined * for each row. The parent is made just big enough to fit them all. * /*from w w w . j av a2 s. c o m*/ * @param rows * number of rows * @param cols * number of columns * @param initialX * x location to start the grid at * @param initialY * y location to start the grid at * @param xPad * x padding between cells * @param yPad * y padding between cells */ public static void makeCompactGrid(Container parent, int rows, int cols, int initialX, int initialY, int xPad, int yPad) { parent.setMaximumSize(new Dimension(Integer.MAX_VALUE, parent.getPreferredSize().height)); SpringLayout layout; try { layout = (SpringLayout) parent.getLayout(); } catch (ClassCastException exc) { System.err.println("The first argument to makeCompactGrid must use SpringLayout."); return; } // Align all cells in each column and make them the same width. Spring x = Spring.constant(initialX); for (int c = 0; c < cols; c++) { Spring width = Spring.constant(0); for (int r = 0; r < rows; r++) { width = Spring.max(width, getConstraintsForCell(r, c, parent, cols).getWidth()); } for (int r = 0; r < rows; r++) { SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols); constraints.setX(x); constraints.setWidth(width); } x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad))); } // Align all cells in each row and make them the same height. Spring y = Spring.constant(initialY); for (int r = 0; r < rows; r++) { Spring height = Spring.constant(0); for (int c = 0; c < cols; c++) { height = Spring.max(height, getConstraintsForCell(r, c, parent, cols).getHeight()); } for (int c = 0; c < cols; c++) { SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols); constraints.setY(y); constraints.setHeight(height); } y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad))); } // Set the parent's size. SpringLayout.Constraints pCons = layout.getConstraints(parent); pCons.setConstraint(SpringLayout.SOUTH, y); pCons.setConstraint(SpringLayout.EAST, x); }
From source file:CompassButtons.java
public CompassButtons(String terrain) { super("SpringLayout Compass Demo"); setSize(500, 300);/* w w w. j a v a 2s . c o m*/ setDefaultCloseOperation(EXIT_ON_CLOSE); SpringLayout sl = new SpringLayout(); Container c = getContentPane(); c.setLayout(sl); int offset = 50; // gap between buttons and outside edge int w = 80; // width of buttons int h = 26; // height of buttons int border = 3; // border around viewport Spring offsetS = Spring.constant(offset); Spring borderS = Spring.constant(border); Spring widthS = Spring.constant(w); Spring halfWidthS = FractionSpring.half(widthS); Spring heightS = Spring.constant(h); Spring halfHeightS = FractionSpring.half(heightS); Spring leftEdgeS = sl.getConstraint(SpringLayout.WEST, c); Spring topEdgeS = sl.getConstraint(SpringLayout.NORTH, c); Spring rightEdgeS = sl.getConstraint(SpringLayout.EAST, c); Spring bottomEdgeS = sl.getConstraint(SpringLayout.SOUTH, c); Spring xCenterS = FractionSpring.half(rightEdgeS); Spring yCenterS = FractionSpring.half(bottomEdgeS); Spring leftBorder = Spring.sum(leftEdgeS, borderS); Spring topBorder = Spring.sum(topEdgeS, borderS); Spring northX = Spring.sum(xCenterS, Spring.minus(halfWidthS)); Spring southY = Spring.sum(bottomEdgeS, Spring.minus(Spring.sum(heightS, offsetS))); Spring eastX = Spring.sum(rightEdgeS, Spring.minus(Spring.sum(widthS, offsetS))); Spring eastY = Spring.sum(yCenterS, Spring.minus(halfHeightS)); c.add(nb, new SpringLayout.Constraints(northX, offsetS, widthS, heightS)); c.add(sb, new SpringLayout.Constraints(northX, southY, widthS, heightS)); c.add(wb); sl.getConstraints(wb).setX(offsetS); sl.getConstraints(wb).setY(eastY); sl.getConstraints(wb).setWidth(widthS); sl.getConstraints(wb).setHeight(heightS); c.add(eb); sl.getConstraints(eb).setX(eastX); sl.getConstraints(eb).setY(eastY); sl.getConstraints(eb).setWidth(widthS); sl.getConstraints(eb).setHeight(heightS); c.add(viewport); // this sets a bounds of (0,0,pref_width,pref_height) // The order here is important...need to have a valid width and height // in place before binding the (x,y) location sl.putConstraint(SpringLayout.SOUTH, viewport, Spring.minus(borderS), SpringLayout.SOUTH, c); sl.putConstraint(SpringLayout.EAST, viewport, Spring.minus(borderS), SpringLayout.EAST, c); sl.putConstraint(SpringLayout.NORTH, viewport, topBorder, SpringLayout.NORTH, c); sl.putConstraint(SpringLayout.WEST, viewport, leftBorder, SpringLayout.WEST, c); ImageIcon icon = new ImageIcon(getClass().getResource(terrain)); viewport.setView(new JLabel(icon)); // Hook up the buttons. See the CompassScroller class (on-line) for // details // on controlling the viewport. nb.setActionCommand(CompassScroller.NORTH); sb.setActionCommand(CompassScroller.SOUTH); wb.setActionCommand(CompassScroller.WEST); eb.setActionCommand(CompassScroller.EAST); CompassScroller scroller = new CompassScroller(viewport); nb.addActionListener(scroller); sb.addActionListener(scroller); eb.addActionListener(scroller); wb.addActionListener(scroller); setVisible(true); }
From source file:layout.SpringDemo4.java
/** * Create the GUI and show it. For thread safety, * this method should be invoked from the * event-dispatching thread.// w ww.j av a 2 s .co m */ private static void createAndShowGUI() { //Create and set up the window. JFrame frame = new JFrame("SpringDemo4"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Set up the content pane. Container contentPane = frame.getContentPane(); SpringLayout layout = new SpringLayout(); contentPane.setLayout(layout); //Create and add the components. JLabel label = new JLabel("Label: "); JTextField textField = new JTextField("Text field", 15); contentPane.add(label); contentPane.add(textField); //Adjust constraints for the label so it's at (5,5). SpringLayout.Constraints labelCons = layout.getConstraints(label); labelCons.setX(Spring.constant(5)); labelCons.setY(Spring.constant(5)); //Adjust constraints for the text field so it's at //(<label's right edge> + 5, 5). SpringLayout.Constraints textFieldCons = layout.getConstraints(textField); textFieldCons.setX(Spring.sum(Spring.constant(5), labelCons.getConstraint(SpringLayout.EAST))); textFieldCons.setY(Spring.constant(5)); //Adjust constraints for the content pane. setContainerSize(contentPane, 5); //Display the window. frame.pack(); frame.setVisible(true); }
From source file:Main.java
/** * Aligns the first <code>rows</code> * <code>cols</code> components of <code>parent</code> in a grid. Each * component in a column is as wide as the maximum preferred width of the components in that column; height is * similarly determined for each row. The parent is made just big enough to fit them all. * /*from w w w.j ava 2 s . co m*/ * @param parent * * @param rows * number of rows * @param cols * number of columns * @param initialX * x location to start the grid at * @param initialY * y location to start the grid at * @param xPad * x padding between cells * @param yPad * y padding between cells */ private static void makeSpringCompactGrid(Container parent, int rows, int cols, int initialX, int initialY, int xPad, int yPad) { SpringLayout layout = new SpringLayout(); parent.setLayout(layout); // Align all cells in each column and make them the same width. Spring x = Spring.constant(initialX); for (int c = 0; c < cols; c++) { Spring width = Spring.constant(0); for (int r = 0; r < rows; r++) { width = Spring.max(width, getConstraintsForCell(r, c, parent, cols).getWidth()); } for (int r = 0; r < rows; r++) { SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols); constraints.setX(x); constraints.setWidth(width); } x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad))); } // Align all cells in each row and make them the same height. Spring y = Spring.constant(initialY); for (int r = 0; r < rows; r++) { Spring height = Spring.constant(0); for (int c = 0; c < cols; c++) { height = Spring.max(height, getConstraintsForCell(r, c, parent, cols).getHeight()); } for (int c = 0; c < cols; c++) { SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols); constraints.setY(y); constraints.setHeight(height); } y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad))); } // Set the parent's size. SpringLayout.Constraints pCons = layout.getConstraints(parent); pCons.setConstraint(SpringLayout.SOUTH, y); pCons.setConstraint(SpringLayout.EAST, x); }
From source file:SpringDemo4.java
/** * Create the GUI and show it. For thread safety, this method should be * invoked from the event-dispatching thread. *///from w w w . j a v a2 s . co m private static void createAndShowGUI() { //Make sure we have nice window decorations. JFrame.setDefaultLookAndFeelDecorated(true); //Create and set up the window. JFrame frame = new JFrame("SpringDemo4"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Set up the content pane. Container contentPane = frame.getContentPane(); SpringLayout layout = new SpringLayout(); contentPane.setLayout(layout); //Create and add the components. JLabel label = new JLabel("Label: "); JTextField textField = new JTextField("Text field", 15); contentPane.add(label); contentPane.add(textField); //Adjust constraints for the label so it's at (5,5). SpringLayout.Constraints labelCons = layout.getConstraints(label); labelCons.setX(Spring.constant(5)); labelCons.setY(Spring.constant(5)); //Adjust constraints for the text field so it's at //(<label's right edge> + 5, 5). SpringLayout.Constraints textFieldCons = layout.getConstraints(textField); textFieldCons.setX(Spring.sum(Spring.constant(5), labelCons.getConstraint(SpringLayout.EAST))); textFieldCons.setY(Spring.constant(5)); //Adjust constraints for the content pane. setContainerSize(contentPane, 5); //Display the window. frame.pack(); frame.setVisible(true); }
From source file:SpringDemo4.java
public static void setContainerSize(Container parent, int pad) { SpringLayout layout = (SpringLayout) parent.getLayout(); Component[] components = parent.getComponents(); Spring maxHeightSpring = Spring.constant(0); SpringLayout.Constraints pCons = layout.getConstraints(parent); // Set the container's right edge to the right edge // of its rightmost component + padding. Component rightmost = components[components.length - 1]; SpringLayout.Constraints rCons = layout.getConstraints(rightmost); pCons.setConstraint(SpringLayout.EAST, Spring.sum(Spring.constant(pad), rCons.getConstraint(SpringLayout.EAST))); // Set the container's bottom edge to the bottom edge // of its tallest component + padding. for (int i = 0; i < components.length; i++) { SpringLayout.Constraints cons = layout.getConstraints(components[i]); maxHeightSpring = Spring.max(maxHeightSpring, cons.getConstraint(SpringLayout.SOUTH)); }/*from ww w . j a va 2s .com*/ pCons.setConstraint(SpringLayout.SOUTH, Spring.sum(Spring.constant(pad), maxHeightSpring)); }