コード例 #1
0
  @SuppressWarnings("unchecked")
  public void testWidgetBuilderExample() throws Exception {

    Person person = new Person();

    SwingMetawidget metawidget = new SwingMetawidget();
    metawidget.setWidgetBuilder(
        new CompositeWidgetBuilder<JComponent, SwingMetawidget>(
            new CompositeWidgetBuilderConfig<JComponent, SwingMetawidget>()
                .setWidgetBuilders(new ExcludingWidgetBuilder(), new SwingWidgetBuilder())));
    metawidget.putClientProperty("exclude", new String[] {"age", "retired"});
    metawidget.setToInspect(person);

    assertTrue(metawidget.getComponent(0) instanceof JLabel);
    assertTrue(metawidget.getComponent(1) instanceof JTextField);
    assertTrue(metawidget.getComponent(2) instanceof JPanel);
    assertTrue(3 == metawidget.getComponentCount());
  }
コード例 #2
0
  public void testAlignment() {

    SwingMetawidget metawidget = new SwingMetawidget();
    metawidget.setToInspect(new Foo());

    JPanel panel = (JPanel) metawidget.getComponent(0);
    assertEquals("Section", ((JLabel) panel.getComponent(0)).getText());
    assertEquals(
        0, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).insets.left);
    assertEquals(
        5, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).insets.right);
    assertTrue(panel.getComponent(1) instanceof JSeparator);
    assertEquals("Bar:", ((JLabel) metawidget.getComponent(1)).getText());
    assertTrue(metawidget.getComponent(2) instanceof JTextField);
    assertTrue(metawidget.getComponent(3) instanceof JPanel);
    assertEquals(4, metawidget.getComponentCount());

    metawidget.setMetawidgetLayout(
        new SeparatorLayoutDecorator(
            new SeparatorLayoutDecoratorConfig()
                .setAlignment(SwingConstants.RIGHT)
                .setLayout(new org.metawidget.swing.layout.GridBagLayout())));
    panel = (JPanel) metawidget.getComponent(0);
    assertEquals("Section", ((JLabel) panel.getComponent(0)).getText());
    assertEquals(
        1, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).gridx);
    assertEquals(
        5, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).insets.left);
    assertEquals(
        0, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).insets.right);
    assertTrue(panel.getComponent(1) instanceof JSeparator);
    assertEquals(
        0, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(1)).gridx);
    assertEquals("Bar:", ((JLabel) metawidget.getComponent(1)).getText());
    assertTrue(metawidget.getComponent(2) instanceof JTextField);
    assertTrue(metawidget.getComponent(3) instanceof JPanel);
    assertEquals(4, metawidget.getComponentCount());
  }
コード例 #3
0
  public void testNestedSeparators() {

    SwingMetawidget metawidget = new SwingMetawidget();
    metawidget.setMetawidgetLayout(
        new SeparatorLayoutDecorator(
            new SeparatorLayoutDecoratorConfig()
                .setLayout(
                    new SeparatorLayoutDecorator(
                        new SeparatorLayoutDecoratorConfig()
                            .setLayout(new org.metawidget.swing.layout.GridBagLayout())))));
    metawidget.setToInspect(new Bar());

    assertEquals("Abc:", ((JLabel) metawidget.getComponent(0)).getText());
    assertTrue(metawidget.getComponent(1) instanceof JTextField);

    JPanel outerSeparator = (JPanel) metawidget.getComponent(2);
    assertEquals("Foo", ((JLabel) outerSeparator.getComponent(0)).getText());

    JPanel innerSeparator = (JPanel) metawidget.getComponent(3);
    assertEquals("Bar", ((JLabel) innerSeparator.getComponent(0)).getText());
    assertEquals("Def:", ((JLabel) metawidget.getComponent(4)).getText());
    assertTrue(metawidget.getComponent(5) instanceof JCheckBox);
    assertEquals("Ghi:", ((JLabel) metawidget.getComponent(6)).getText());
    assertTrue(metawidget.getComponent(7) instanceof JScrollPane);

    innerSeparator = (JPanel) metawidget.getComponent(8);
    assertEquals("Baz", ((JLabel) innerSeparator.getComponent(0)).getText());
    assertEquals("Jkl:", ((JLabel) metawidget.getComponent(9)).getText());
    assertTrue(metawidget.getComponent(10) instanceof JTextField);

    assertEquals("Mno:", ((JLabel) metawidget.getComponent(11)).getText());
    assertTrue(metawidget.getComponent(12) instanceof JCheckBox);

    innerSeparator = (JPanel) metawidget.getComponent(13);
    assertEquals("Moo", ((JLabel) innerSeparator.getComponent(0)).getText());
    assertEquals("Pqr:", ((JLabel) metawidget.getComponent(14)).getText());
    assertTrue(metawidget.getComponent(15) instanceof JTextField);

    innerSeparator = (JPanel) metawidget.getComponent(16);
    assertEquals("Zoo", ((JLabel) innerSeparator.getComponent(0)).getText());
    assertEquals("Zoo:", ((JLabel) metawidget.getComponent(17)).getText());
    SwingMetawidget nestedMetawidget = (SwingMetawidget) metawidget.getComponent(18);
    assertEquals("Name:", ((JLabel) nestedMetawidget.getComponent(0)).getText());

    assertEquals("Stu:", ((JLabel) metawidget.getComponent(19)).getText());
    assertTrue(metawidget.getComponent(20) instanceof JTextField);
    assertEquals(21, metawidget.getComponentCount());
  }