Test fix: sets component size more than minimum size for all OS

This commit is contained in:
Alexander Lobas
2017-11-21 20:41:19 +03:00
parent 247a0b18f3
commit 0999411bdb
4 changed files with 147 additions and 215 deletions
@@ -41,35 +41,22 @@ public final class EmptyPanelTest extends TestCase {
// add component
final JButton button = new JButton();
button.setPreferredSize(new Dimension(100, 20));
button.setPreferredSize(new Dimension(100, 40));
panel.add(button,
new GridConstraints(0, 1, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_GROW,
GridConstraints.SIZEPOLICY_FIXED, null, null, null,
0));
GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
// wisdom
layoutManager.invalidateLayout(panel);
if (SystemInfo.isMac) {
assertEquals(new Dimension(100, 29), panel.getPreferredSize());
panel.setSize(panel.getPreferredSize());
panel.doLayout();
assertEquals(100, button.getWidth());
assertEquals(29, panel.getHeight());
assertEquals(new Dimension(100, 40), panel.getPreferredSize());
panel.setSize(panel.getPreferredSize());
panel.doLayout();
assertEquals(100, button.getWidth());
assertEquals(40, panel.getHeight());
assertTrue(Arrays.equals(new int[]{0, 29}, layoutManager.getYs()));
assertTrue(Arrays.equals(new int[]{29, 0}, layoutManager.getHeights()));
}
else {
assertEquals(new Dimension(100, 20), panel.getPreferredSize());
panel.setSize(panel.getPreferredSize());
panel.doLayout();
assertEquals(100, button.getWidth());
assertEquals(20, panel.getHeight());
assertTrue(Arrays.equals(new int[]{0, 20}, layoutManager.getYs()));
assertTrue(Arrays.equals(new int[]{20, 0}, layoutManager.getHeights()));
}
assertTrue(Arrays.equals(new int[]{0, 40}, layoutManager.getYs()));
assertTrue(Arrays.equals(new int[]{40, 0}, layoutManager.getHeights()));
assertTrue(Arrays.equals(new int[]{0, 0, 100}, layoutManager.getXs()));
assertTrue(Arrays.equals(new int[]{0, 100, 0}, layoutManager.getWidths()));
@@ -20,20 +20,20 @@ import junit.framework.TestCase;
import javax.swing.*;
import java.awt.*;
public final class GapsTest extends TestCase{
public final class GapsTest extends TestCase {
public void test1() {
final JPanel panel = new JPanel(new GridLayoutManager(1,2, new Insets(0,0,0,0), 10, 0));
final JPanel panel = new JPanel(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), 10, 0));
final JTextField field1 = new JTextField();
field1.setPreferredSize(new Dimension(100,20));
field1.setPreferredSize(new Dimension(100, 20));
final JTextField field2 = new JTextField();
field2.setPreferredSize(new Dimension(100,20));
field2.setPreferredSize(new Dimension(100, 20));
panel.add(field1, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(0,1,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
assertEquals(210, preferredSize.width);
@@ -43,18 +43,18 @@ public final class GapsTest extends TestCase{
* field (span 2) | field (span 1)
*/
public void test2() {
final JPanel panel = new JPanel(new GridLayoutManager(1,3, new Insets(0,0,0,0), 7, 0));
final JPanel panel = new JPanel(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), 7, 0));
final JTextField field1 = new JTextField();
field1.setPreferredSize(new Dimension(100,20));
field1.setPreferredSize(new Dimension(100, 40));
final JTextField field2 = new JTextField();
field2.setPreferredSize(new Dimension(100,20));
field2.setPreferredSize(new Dimension(100, 40));
panel.add(field1, new GridConstraints(0,0,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(0,2,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
assertEquals(207, preferredSize.width);
@@ -62,44 +62,38 @@ public final class GapsTest extends TestCase{
panel.setSize(panel.getPreferredSize());
panel.doLayout();
if (SystemInfo.isMac) {
assertEquals(new Rectangle(0,0,100,26), field1.getBounds());
assertEquals(new Rectangle(107,0,100,26), field2.getBounds());
} else {
assertEquals(new Rectangle(0,0,100,20), field1.getBounds());
assertEquals(new Rectangle(107,0,100,20), field2.getBounds());
}
assertEquals(new Rectangle(0, 0, 100, 40), field1.getBounds());
assertEquals(new Rectangle(107, 0, 100, 40), field2.getBounds());
}
/**
*
* btn1 | btn2 | btn4
* btn3 (span 2) |
* btn3 (span 2) |
*/
public void test3() {
final JPanel panel = new JPanel(new GridLayoutManager(2,3, new Insets(0,0,0,0), 7, 0));
final JPanel panel = new JPanel(new GridLayoutManager(2, 3, new Insets(0, 0, 0, 0), 7, 0));
final JButton btn1 = new JButton();
btn1.setPreferredSize(new Dimension(100,20));
btn1.setPreferredSize(new Dimension(100, 20));
final JButton btn2 = new JButton();
btn2.setPreferredSize(new Dimension(100,20));
btn2.setPreferredSize(new Dimension(100, 20));
final JButton btn3 = new JButton();
btn3.setPreferredSize(new Dimension(100,20));
btn3.setPreferredSize(new Dimension(100, 20));
final JButton btn4 = new JButton();
btn4.setPreferredSize(new Dimension(100,20));
btn4.setPreferredSize(new Dimension(100, 20));
panel.add(btn1, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(0,1,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn3, new GridConstraints(1,0,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn3, new GridConstraints(1, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn4, new GridConstraints(0,2,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn4, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
assertEquals(314, preferredSize.width);
@@ -109,33 +103,32 @@ public final class GapsTest extends TestCase{
}
/**
*
* btn1 | btn2 | btn4
* btn3 (span 2) |
* btn3 (span 2) |
*/
public void test3a() {
final JPanel panel = new JPanel(new GridLayoutManager(2,3, new Insets(0,0,0,0), 1000, 0));
final JPanel panel = new JPanel(new GridLayoutManager(2, 3, new Insets(0, 0, 0, 0), 1000, 0));
final JButton btn1 = new JButton();
btn1.setPreferredSize(new Dimension(100,20));
btn1.setPreferredSize(new Dimension(100, 20));
final JButton btn2 = new JButton();
btn2.setPreferredSize(new Dimension(100,20));
btn2.setPreferredSize(new Dimension(100, 20));
final JButton btn3 = new JButton();
btn3.setPreferredSize(new Dimension(100,20));
btn3.setPreferredSize(new Dimension(100, 20));
final JButton btn4 = new JButton();
btn4.setPreferredSize(new Dimension(100,20));
btn4.setPreferredSize(new Dimension(100, 20));
panel.add(btn1, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(0,1,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn3, new GridConstraints(1,0,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn3, new GridConstraints(1, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn4, new GridConstraints(0,2,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn4, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
assertEquals(2300, preferredSize.width);
@@ -145,28 +138,27 @@ public final class GapsTest extends TestCase{
}
/**
*
* btn1 | btn2
* btn3 (span 2)
* btn3 (span 2)
*/
public void test3b() {
final JPanel panel = new JPanel(new GridLayoutManager(2,3, new Insets(0,0,0,0), 1000, 0));
final JPanel panel = new JPanel(new GridLayoutManager(2, 3, new Insets(0, 0, 0, 0), 1000, 0));
final JButton btn1 = new JButton();
btn1.setPreferredSize(new Dimension(100,20));
btn1.setPreferredSize(new Dimension(100, 20));
final JButton btn2 = new JButton();
btn2.setPreferredSize(new Dimension(100,20));
btn2.setPreferredSize(new Dimension(100, 20));
final JButton btn3 = new JButton();
btn3.setPreferredSize(new Dimension(100,20));
btn3.setPreferredSize(new Dimension(100, 20));
panel.add(btn1, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(0,1,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn3, new GridConstraints(1,0,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn3, new GridConstraints(1, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
assertEquals(1200, preferredSize.width);
@@ -183,25 +175,20 @@ public final class GapsTest extends TestCase{
* btn2
*/
public void test4() {
final JPanel panel = new JPanel(new GridLayoutManager(3,1, new Insets(0,0,0,0), 0, 7));
final JPanel panel = new JPanel(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), 0, 7));
final JButton btn1 = new JButton();
btn1.setPreferredSize(new Dimension(100,20));
btn1.setPreferredSize(new Dimension(100, 40));
final JButton btn2 = new JButton();
btn2.setPreferredSize(new Dimension(100,20));
btn2.setPreferredSize(new Dimension(100, 40));
panel.add(btn1, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(2,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
if (SystemInfo.isMac) {
assertEquals(65, preferredSize.height);
} else {
assertEquals(47, preferredSize.height);
}
assertEquals(87, panel.getPreferredSize().height);
panel.setSize(panel.getPreferredSize());
panel.doLayout();
@@ -215,28 +202,24 @@ public final class GapsTest extends TestCase{
* btn2
*/
public void test5() {
final JPanel panel = new JPanel(new GridLayoutManager(3,1, new Insets(0,0,0,0), 0, 7));
final JPanel panel = new JPanel(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), 0, 7));
final JButton btn1 = new JButton();
btn1.setPreferredSize(new Dimension(100,20));
btn1.setPreferredSize(new Dimension(100, 40));
final JButton btn2 = new JButton();
btn2.setPreferredSize(new Dimension(100,20));
btn2.setPreferredSize(new Dimension(100, 40));
panel.add(btn1, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(new Spacer(), new GridConstraints(1,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0));
panel.add(new Spacer(), new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null,
0));
panel.add(btn2, new GridConstraints(2,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
if (SystemInfo.isMac) {
assertEquals(65, preferredSize.height);
} else {
assertEquals(47, preferredSize.height);
}
assertEquals(87, panel.getPreferredSize().height);
panel.setSize(panel.getPreferredSize());
panel.doLayout();
@@ -248,28 +231,22 @@ public final class GapsTest extends TestCase{
* btn2
*/
public void test6() {
final JPanel panel = new JPanel(new GridLayoutManager(2,1, new Insets(0,0,0,0), 0, 500));
final JPanel panel = new JPanel(new GridLayoutManager(2, 1, new Insets(0, 0, 0, 0), 0, 500));
final JButton btn1 = new JButton();
btn1.setPreferredSize(new Dimension(100,20));
btn1.setPreferredSize(new Dimension(100, 40));
final JButton btn2 = new JButton();
btn2.setPreferredSize(new Dimension(100,20));
btn2.setPreferredSize(new Dimension(100, 40));
panel.add(btn1, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(1,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(btn2, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
if (SystemInfo.isMac) {
assertEquals(558, preferredSize.height);
} else {
assertEquals(540, preferredSize.height);
}
assertEquals(580, panel.getPreferredSize().height);
panel.setSize(panel.getPreferredSize());
panel.doLayout(); // should not crash
}
}
@@ -20,22 +20,21 @@ import junit.framework.TestCase;
import javax.swing.*;
import java.awt.*;
public final class Layout3Test extends TestCase{
public final class Layout3Test extends TestCase {
public void test1() {
final JPanel panel = new JPanel(new GridLayoutManager(2,1, new Insets(0,0,0,0), 0, 0));
final JPanel panel = new JPanel(new GridLayoutManager(2, 1, new Insets(0, 0, 0, 0), 0, 0));
final JButton button1 = new JButton();
button1.setPreferredSize(new Dimension(100,20));
button1.setPreferredSize(new Dimension(100, 40));
final JButton button2 = new JButton();
button2.setPreferredSize(new Dimension(100,100));
button2.setPreferredSize(new Dimension(100, 100));
panel.add(button1, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_BOTH,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(button1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(button2, new GridConstraints(1,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_BOTH,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(button2, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
assertEquals(SystemInfo.isMac ? 129 : 120, preferredSize.height);
assertEquals(140, panel.getPreferredSize().height);
}
}
@@ -20,133 +20,103 @@ import junit.framework.TestCase;
import javax.swing.*;
import java.awt.*;
public final class SpansTest extends TestCase{
public final class SpansTest extends TestCase {
/**
* button(can grow) | text field (want grow)
* text field (want grow, span 2)
*/
* text field (want grow, span 2)
*/
public void test1() {
final GridLayoutManager layout = new GridLayoutManager(2,2, new Insets(0,0,0,0), 0, 0);
final GridLayoutManager layout = new GridLayoutManager(2, 2, new Insets(0, 0, 0, 0), 0, 0);
final JPanel panel = new JPanel(layout);
final JButton button = new JButton();
button.setPreferredSize(new Dimension(50, 10));
button.setPreferredSize(new Dimension(80, 10));
final JTextField field1 = new JTextField();
field1.setPreferredSize(new Dimension(50, 10));
final JTextField field2 = new JTextField();
panel.add(button, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(button, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0,1,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(1,0,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(1, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
if (SystemInfo.isMac) {
assertEquals(125, preferredSize.width);
} else {
assertEquals(100, preferredSize.width);
}
assertEquals(130, panel.getPreferredSize().width);
panel.setSize(new Dimension(500, panel.getHeight()));
panel.doLayout();
assertEquals(500, field2.getWidth());
if (SystemInfo.isMac) {
assertEquals(75, button.getWidth());
assertEquals(425, field1.getWidth());
} else {
assertEquals(50, button.getWidth());
assertEquals(450, field1.getWidth());
}
assertEquals(80, button.getWidth());
assertEquals(420, field1.getWidth());
}
/**
* button(can grow) | text field (can grow)
* text field (want grow, span 2)
* text field (want grow, span 2)
*/
public void test2() {
final JPanel panel = new JPanel(new GridLayoutManager(2,2, new Insets(0,0,0,0), 0, 0));
final JPanel panel = new JPanel(new GridLayoutManager(2, 2, new Insets(0, 0, 0, 0), 0, 0));
final JButton button = new JButton();
button.setPreferredSize(new Dimension(50, 10));
button.setPreferredSize(new Dimension(80, 10));
final JTextField field1 = new JTextField();
field1.setPreferredSize(new Dimension(50, 10));
field1.setPreferredSize(new Dimension(80, 10));
final JTextField field2 = new JTextField();
panel.add(button, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(button, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0,1,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(1,0,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(1, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
if (SystemInfo.isMac) {
assertEquals(125, preferredSize.width);
} else {
assertEquals(100, preferredSize.width);
}
assertEquals(160, panel.getPreferredSize().width);
panel.setSize(new Dimension(500, panel.getHeight()));
panel.doLayout();
assertEquals(500, field2.getWidth());
if (SystemInfo.isMac) {
assertEquals(263, button.getWidth());
assertEquals(237, field1.getWidth());
} else {
assertEquals(250, button.getWidth());
assertEquals(250, field1.getWidth());
}
assertEquals(250, button.getWidth());
assertEquals(250, field1.getWidth());
}
/**
* button(can grow) | text field (want grow, span 2)
*/
public void test3() {
final JPanel panel = new JPanel(new GridLayoutManager(1,3, new Insets(0,0,0,0), 0, 0));
final JPanel panel = new JPanel(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), 0, 0));
final JButton button = new JButton();
button.setPreferredSize(new Dimension(50, 10));
button.setPreferredSize(new Dimension(80, 10));
final JTextField field1 = new JTextField();
field1.setPreferredSize(new Dimension(110, 10));
panel.add(button, new GridConstraints(0,0,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(button, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0,1,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0, 1, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
if (SystemInfo.isMac) {
assertEquals(185, preferredSize.width);
} else {
assertEquals(160, preferredSize.width);
}
assertEquals(190, panel.getPreferredSize().width);
panel.setSize(new Dimension(500, panel.getHeight()));
panel.doLayout();
if (SystemInfo.isMac) {
assertEquals(75, button.getWidth());
assertEquals(425, field1.getWidth());
} else {
assertEquals(50, button.getWidth());
assertEquals(450, field1.getWidth());
}
assertEquals(80, button.getWidth());
assertEquals(420, field1.getWidth());
}
/**
@@ -154,7 +124,7 @@ public final class SpansTest extends TestCase{
* text field 2 (want grow, span 2) | empty
*/
public void test4() {
final GridLayoutManager layoutManager = new GridLayoutManager(2,3, new Insets(0,0,0,0), 0, 0);
final GridLayoutManager layoutManager = new GridLayoutManager(2, 3, new Insets(0, 0, 0, 0), 0, 0);
final JPanel panel = new JPanel(layoutManager);
final JButton button = new JButton();
@@ -166,14 +136,14 @@ public final class SpansTest extends TestCase{
final JTextField field2 = new JTextField();
field2.setPreferredSize(new Dimension(110, 10));
panel.add(button, new GridConstraints(0,0,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(button, new GridConstraints(0, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0,2,1,1,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field1, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(1,0,1,2,GridConstraints.ANCHOR_CENTER,GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
panel.add(field2, new GridConstraints(1, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL,
GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0));
final Dimension preferredSize = panel.getPreferredSize();
@@ -184,7 +154,7 @@ public final class SpansTest extends TestCase{
assertEquals(GridConstraints.SIZEPOLICY_WANT_GROW, horizontalInfo.getCellSizePolicy(2));
assertEquals(220, preferredSize.width);
panel.setSize(new Dimension(500, panel.getHeight()));
panel.doLayout();
@@ -192,5 +162,4 @@ public final class SpansTest extends TestCase{
assertEquals(250, field1.getWidth());
assertEquals(250, field2.getWidth());
}
}