/*
* @(#)VisualMarginTest.java 1.0 07 April 2005
*
* Copyright (c) 2004 Werner Randelshofer, Immensee, Switzerland.
* All rights reserved.
*
* You may not use, copy or modify this file, except in compliance with the
* license agreement you entered into with Werner Randelshofer.
* For details see accompanying license terms.
*/
package test;
import java.awt.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.AbstractButton;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.text.JTextComponent;
/**
* VisualMarginTest.
*
* @author Werner Randelshofer
* @version 1.0 07 April 2005 Created.
*/
public class VisualMarginTest extends javax.swing.JPanel {
/** Creates new form. */
public VisualMarginTest() {
initComponents();
jPanel1.putClientProperty("Quaqua.Component.visualMargin", new Insets(3, 3, 3, 3));
jPanel2.putClientProperty("Quaqua.Component.visualMargin", new Insets(2, 2, 2, 2));
jPanel3.putClientProperty("Quaqua.Component.visualMargin", new Insets(1, 1, 1, 1));
jPanel4.putClientProperty("Quaqua.Component.visualMargin", new Insets(0, 0, 0, 0));
jLabel1.putClientProperty("Quaqua.Component.visualMargin", new Insets(3, 3, 3, 3));
jLabel2.putClientProperty("Quaqua.Component.visualMargin", new Insets(2, 2, 2, 2));
jLabel3.putClientProperty("Quaqua.Component.visualMargin", new Insets(1, 1, 1, 1));
jLabel4.putClientProperty("Quaqua.Component.visualMargin", new Insets(0, 0, 0, 0));
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
classGroup = new javax.swing.ButtonGroup();
jPanel1 = new javax.swing.JPanel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jTextField4 = new javax.swing.JTextField();
jTextField5 = new javax.swing.JTextField();
jTextField6 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jTextField7 = new javax.swing.JTextField();
jTextField8 = new javax.swing.JTextField();
jTextField9 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jPanel4 = new javax.swing.JPanel();
jTextField10 = new javax.swing.JTextField();
jTextField11 = new javax.swing.JTextField();
jTextField12 = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
jSeparator1 = new javax.swing.JSeparator();
jPanel5 = new javax.swing.JPanel();
jRadioButton1 = new javax.swing.JRadioButton();
jRadioButton2 = new javax.swing.JRadioButton();
FormListener formListener = new FormListener();
setLayout(new java.awt.GridBagLayout());
jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.LINE_AXIS));
jTextField1.setText("Ångström H");
jPanel1.add(jTextField1);
jTextField2.setText("Ångström H");
jPanel1.add(jTextField2);
jTextField3.setText("Ångström H");
jPanel1.add(jTextField3);
add(jPanel1, new java.awt.GridBagConstraints());
jLabel1.setText("Visual Margin 3");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.insets = new java.awt.Insets(0, 10, 0, 0);
add(jLabel1, gridBagConstraints);
jPanel2.setLayout(new javax.swing.BoxLayout(jPanel2, javax.swing.BoxLayout.LINE_AXIS));
jTextField4.setText("Ångström H");
jPanel2.add(jTextField4);
jTextField5.setText("Ångström H");
jPanel2.add(jTextField5);
jTextField6.setText("Ångström H");
jPanel2.add(jTextField6);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
add(jPanel2, gridBagConstraints);
jLabel2.setText("Visual Margin 2");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
gridBagConstraints.insets = new java.awt.Insets(0, 10, 0, 0);
add(jLabel2, gridBagConstraints);
jPanel3.setLayout(new javax.swing.BoxLayout(jPanel3, javax.swing.BoxLayout.LINE_AXIS));
jTextField7.setText("Ångström H");
jPanel3.add(jTextField7);
jTextField8.setText("Ångström H");
jPanel3.add(jTextField8);
jTextField9.setText("Ångström H");
jPanel3.add(jTextField9);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 2;
add(jPanel3, gridBagConstraints);
jLabel3.setText("Visual Margin 1");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 2;
gridBagConstraints.insets = new java.awt.Insets(0, 10, 0, 0);
add(jLabel3, gridBagConstraints);
jPanel4.setLayout(new javax.swing.BoxLayout(jPanel4, javax.swing.BoxLayout.LINE_AXIS));
jTextField10.setText("Ångström H");
jPanel4.add(jTextField10);
jTextField11.setText("Ångström H");
jPanel4.add(jTextField11);
jTextField12.setText("Ångström H");
jPanel4.add(jTextField12);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 3;
add(jPanel4, gridBagConstraints);
jLabel4.setText("Visual Margin 0");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 3;
gridBagConstraints.insets = new java.awt.Insets(0, 10, 0, 0);
add(jLabel4, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(8, 0, 8, 0);
add(jSeparator1, gridBagConstraints);
classGroup.add(jRadioButton1);
jRadioButton1.setSelected(true);
jRadioButton1.setText("Text Fields");
jRadioButton1.setActionCommand("javax.swing.JTextField");
jRadioButton1.addItemListener(formListener);
jPanel5.add(jRadioButton1);
classGroup.add(jRadioButton2);
jRadioButton2.setText("Buttons");
jRadioButton2.setActionCommand("javax.swing.JButton");
jRadioButton2.addItemListener(formListener);
jPanel5.add(jRadioButton2);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
add(jPanel5, gridBagConstraints);
}
// Code for dispatching events from components to event handlers.
private class FormListener implements java.awt.event.ItemListener {
FormListener() {}
public void itemStateChanged(java.awt.event.ItemEvent evt) {
if (evt.getSource() == jRadioButton1) {
VisualMarginTest.this.classItemChanged(evt);
}
else if (evt.getSource() == jRadioButton2) {
VisualMarginTest.this.classItemChanged(evt);
}
}
}// </editor-fold>//GEN-END:initComponents
private void classItemChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_classItemChanged
try {
Class clazz = Class.forName(classGroup.getSelection().getActionCommand());
for (JPanel p : new JPanel[]{jPanel1, jPanel2, jPanel3, jPanel4}) {
Insets vm = (Insets) p.getClientProperty("Quaqua.Component.visualMargin");
p.removeAll();
for (int i = 0; i < 3; i++) {
JComponent c = (JComponent) clazz.newInstance();
if (c instanceof JTextComponent) {
((JTextComponent)c).setText("Ångström H");
}else if (c instanceof AbstractButton) {
((AbstractButton)c).setText("Ångström H");
}
c.putClientProperty("Quaqua.Component.visualMargin", vm);
p.add(c);
}
}
revalidate();
} catch (Exception ex) {
ex.printStackTrace();
}
}//GEN-LAST:event_classItemChanged
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.ButtonGroup classGroup;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField10;
private javax.swing.JTextField jTextField11;
private javax.swing.JTextField jTextField12;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField jTextField7;
private javax.swing.JTextField jTextField8;
private javax.swing.JTextField jTextField9;
// End of variables declaration//GEN-END:variables
}