< prev index next >

src/demo/share/jfc/SwingSet2/LayoutControlPanel.java

Print this page




  87         //    group.add(relativePos);
  88         //    relativePos.addItemListener(positioningListener);
  89         //    add(relativePos);
  90         //
  91         //    add(Box.createRigidArea(demo.VGAP20));
  92         //
  93         //    absolutePositions = false;
  94         //    relativePos.setSelected(true);
  95         //
  96         //    componentOrientationChanger.addActionListener( new OrientationChangeListener() );
  97         //} else {
  98             absolutePositions = true;
  99         //}
 100 
 101         textPosition = new DirectionPanel(true, "E", new TextPositionListener());
 102         labelAlignment = new DirectionPanel(true, "C", new LabelAlignmentListener());
 103 
 104         // Make sure the controls' text position and label alignment match
 105         // the initial value of the associated direction panel.
 106         for(int i = 0; i < demo.getCurrentControls().size(); i++) {
 107             Component c = (Component) demo.getCurrentControls().elementAt(i);
 108             setPosition(c, RIGHT, CENTER);
 109             setAlignment(c,CENTER,CENTER);
 110         }
 111 
 112         l = new JLabel(demo.getString("LayoutControlPanel.textposition_label"));
 113         add(l);
 114         add(textPosition);
 115 
 116         add(Box.createRigidArea(demo.VGAP20));
 117 
 118         l = new JLabel(demo.getString("LayoutControlPanel.contentalignment_label"));
 119         add(l);
 120         add(labelAlignment);
 121 
 122         add(Box.createGlue());
 123     }
 124 
 125 
 126     class OrientationChangeListener implements ActionListener {
 127         public void actionPerformed( ActionEvent e ) {


 156             else if( currentLabelAlignment.equals("W") )
 157                 labelAlignment.setSelection("E");
 158             else if( currentLabelAlignment.equals("SE") )
 159                 labelAlignment.setSelection("SW");
 160             else if( currentLabelAlignment.equals("SW") )
 161                 labelAlignment.setSelection("SE");
 162         }
 163     }
 164 
 165     class PositioningListener implements ItemListener {
 166 
 167         public void itemStateChanged(ItemEvent e) {
 168             JRadioButton rb = (JRadioButton) e.getSource();
 169             if(rb.getText().equals("Absolute") && rb.isSelected()) {
 170                 absolutePositions = true;
 171             } else if(rb.getText().equals("Relative") && rb.isSelected()) {
 172                 absolutePositions = false;
 173             }
 174 
 175             for(int i = 0; i < demo.getCurrentControls().size(); i++) {
 176                 Component c = (Component) demo.getCurrentControls().elementAt(i);
 177                 int hPos, vPos, hAlign, vAlign;
 178                 if( c instanceof AbstractButton ) {
 179                    hPos = ((AbstractButton)c).getHorizontalTextPosition();
 180                    vPos = ((AbstractButton)c).getVerticalTextPosition();
 181                    hAlign = ((AbstractButton)c).getHorizontalAlignment();
 182                    vAlign = ((AbstractButton)c).getVerticalAlignment();
 183                 } else if( c instanceof JLabel ) {
 184                    hPos = ((JLabel)c).getHorizontalTextPosition();
 185                    vPos = ((JLabel)c).getVerticalTextPosition();
 186                    hAlign = ((JLabel)c).getHorizontalAlignment();
 187                    vAlign = ((JLabel)c).getVerticalAlignment();
 188                 } else {
 189                     continue;
 190                 }
 191                 setPosition(c, hPos, vPos);
 192                 setAlignment(c, hAlign, vAlign);
 193             }
 194 
 195             demo.invalidate();
 196             demo.validate();


 211             if(cmd.equals("NW")) {
 212                     hPos = LEFT; vPos = TOP;
 213             } else if(cmd.equals("N")) {
 214                     hPos = CENTER; vPos = TOP;
 215             } else if(cmd.equals("NE")) {
 216                     hPos = RIGHT; vPos = TOP;
 217             } else if(cmd.equals("W")) {
 218                     hPos = LEFT; vPos = CENTER;
 219             } else if(cmd.equals("C")) {
 220                     hPos = CENTER; vPos = CENTER;
 221             } else if(cmd.equals("E")) {
 222                     hPos = RIGHT; vPos = CENTER;
 223             } else if(cmd.equals("SW")) {
 224                     hPos = LEFT; vPos = BOTTOM;
 225             } else if(cmd.equals("S")) {
 226                     hPos = CENTER; vPos = BOTTOM;
 227             } else /*if(cmd.equals("SE"))*/ {
 228                     hPos = RIGHT; vPos = BOTTOM;
 229             }
 230             for(int i = 0; i < demo.getCurrentControls().size(); i++) {
 231                 Component c = (Component) demo.getCurrentControls().elementAt(i);
 232                 setPosition(c, hPos, vPos);
 233             }
 234             demo.invalidate();
 235             demo.validate();
 236             demo.repaint();
 237         }
 238     };
 239 
 240 
 241     // Label Alignment Listener
 242     class LabelAlignmentListener implements  ActionListener {
 243         public void actionPerformed(ActionEvent e) {
 244             JRadioButton rb = (JRadioButton) e.getSource();
 245             if(!rb.isSelected()) {
 246                 return;
 247             }
 248             String cmd = rb.getActionCommand();
 249             int hPos, vPos;
 250             if(cmd.equals("NW")) {
 251                     hPos = LEFT; vPos = TOP;
 252             } else if(cmd.equals("N")) {
 253                     hPos = CENTER; vPos = TOP;
 254             } else if(cmd.equals("NE")) {
 255                     hPos = RIGHT; vPos = TOP;
 256             } else if(cmd.equals("W")) {
 257                     hPos = LEFT; vPos = CENTER;
 258             } else if(cmd.equals("C")) {
 259                     hPos = CENTER; vPos = CENTER;
 260             } else if(cmd.equals("E")) {
 261                     hPos = RIGHT; vPos = CENTER;
 262             } else if(cmd.equals("SW")) {
 263                     hPos = LEFT; vPos = BOTTOM;
 264             } else if(cmd.equals("S")) {
 265                     hPos = CENTER; vPos = BOTTOM;
 266             } else /*if(cmd.equals("SE"))*/ {
 267                     hPos = RIGHT; vPos = BOTTOM;
 268             }
 269             for(int i = 0; i < demo.getCurrentControls().size(); i++) {
 270                 Component c = (Component) demo.getCurrentControls().elementAt(i);
 271                 setAlignment(c,hPos,vPos);
 272                 c.invalidate();
 273             }
 274             demo.invalidate();
 275             demo.validate();
 276             demo.repaint();
 277         }
 278     };
 279 
 280     // Position
 281     void setPosition(Component c, int hPos, int vPos) {
 282         boolean ltr = true;
 283         ltr = c.getComponentOrientation().isLeftToRight();
 284         if( absolutePositions ) {
 285             if( hPos == LEADING ) {
 286                 hPos = ltr ? LEFT : RIGHT;
 287             } else if( hPos == TRAILING ) {
 288                 hPos = ltr ? RIGHT : LEFT;
 289             }
 290         } else {




  87         //    group.add(relativePos);
  88         //    relativePos.addItemListener(positioningListener);
  89         //    add(relativePos);
  90         //
  91         //    add(Box.createRigidArea(demo.VGAP20));
  92         //
  93         //    absolutePositions = false;
  94         //    relativePos.setSelected(true);
  95         //
  96         //    componentOrientationChanger.addActionListener( new OrientationChangeListener() );
  97         //} else {
  98             absolutePositions = true;
  99         //}
 100 
 101         textPosition = new DirectionPanel(true, "E", new TextPositionListener());
 102         labelAlignment = new DirectionPanel(true, "C", new LabelAlignmentListener());
 103 
 104         // Make sure the controls' text position and label alignment match
 105         // the initial value of the associated direction panel.
 106         for(int i = 0; i < demo.getCurrentControls().size(); i++) {
 107             Component c = demo.getCurrentControls().elementAt(i);
 108             setPosition(c, RIGHT, CENTER);
 109             setAlignment(c,CENTER,CENTER);
 110         }
 111 
 112         l = new JLabel(demo.getString("LayoutControlPanel.textposition_label"));
 113         add(l);
 114         add(textPosition);
 115 
 116         add(Box.createRigidArea(demo.VGAP20));
 117 
 118         l = new JLabel(demo.getString("LayoutControlPanel.contentalignment_label"));
 119         add(l);
 120         add(labelAlignment);
 121 
 122         add(Box.createGlue());
 123     }
 124 
 125 
 126     class OrientationChangeListener implements ActionListener {
 127         public void actionPerformed( ActionEvent e ) {


 156             else if( currentLabelAlignment.equals("W") )
 157                 labelAlignment.setSelection("E");
 158             else if( currentLabelAlignment.equals("SE") )
 159                 labelAlignment.setSelection("SW");
 160             else if( currentLabelAlignment.equals("SW") )
 161                 labelAlignment.setSelection("SE");
 162         }
 163     }
 164 
 165     class PositioningListener implements ItemListener {
 166 
 167         public void itemStateChanged(ItemEvent e) {
 168             JRadioButton rb = (JRadioButton) e.getSource();
 169             if(rb.getText().equals("Absolute") && rb.isSelected()) {
 170                 absolutePositions = true;
 171             } else if(rb.getText().equals("Relative") && rb.isSelected()) {
 172                 absolutePositions = false;
 173             }
 174 
 175             for(int i = 0; i < demo.getCurrentControls().size(); i++) {
 176                 Component c = demo.getCurrentControls().elementAt(i);
 177                 int hPos, vPos, hAlign, vAlign;
 178                 if( c instanceof AbstractButton ) {
 179                    hPos = ((AbstractButton)c).getHorizontalTextPosition();
 180                    vPos = ((AbstractButton)c).getVerticalTextPosition();
 181                    hAlign = ((AbstractButton)c).getHorizontalAlignment();
 182                    vAlign = ((AbstractButton)c).getVerticalAlignment();
 183                 } else if( c instanceof JLabel ) {
 184                    hPos = ((JLabel)c).getHorizontalTextPosition();
 185                    vPos = ((JLabel)c).getVerticalTextPosition();
 186                    hAlign = ((JLabel)c).getHorizontalAlignment();
 187                    vAlign = ((JLabel)c).getVerticalAlignment();
 188                 } else {
 189                     continue;
 190                 }
 191                 setPosition(c, hPos, vPos);
 192                 setAlignment(c, hAlign, vAlign);
 193             }
 194 
 195             demo.invalidate();
 196             demo.validate();


 211             if(cmd.equals("NW")) {
 212                     hPos = LEFT; vPos = TOP;
 213             } else if(cmd.equals("N")) {
 214                     hPos = CENTER; vPos = TOP;
 215             } else if(cmd.equals("NE")) {
 216                     hPos = RIGHT; vPos = TOP;
 217             } else if(cmd.equals("W")) {
 218                     hPos = LEFT; vPos = CENTER;
 219             } else if(cmd.equals("C")) {
 220                     hPos = CENTER; vPos = CENTER;
 221             } else if(cmd.equals("E")) {
 222                     hPos = RIGHT; vPos = CENTER;
 223             } else if(cmd.equals("SW")) {
 224                     hPos = LEFT; vPos = BOTTOM;
 225             } else if(cmd.equals("S")) {
 226                     hPos = CENTER; vPos = BOTTOM;
 227             } else /*if(cmd.equals("SE"))*/ {
 228                     hPos = RIGHT; vPos = BOTTOM;
 229             }
 230             for(int i = 0; i < demo.getCurrentControls().size(); i++) {
 231                 Component c = demo.getCurrentControls().elementAt(i);
 232                 setPosition(c, hPos, vPos);
 233             }
 234             demo.invalidate();
 235             demo.validate();
 236             demo.repaint();
 237         }
 238     };
 239 
 240 
 241     // Label Alignment Listener
 242     class LabelAlignmentListener implements  ActionListener {
 243         public void actionPerformed(ActionEvent e) {
 244             JRadioButton rb = (JRadioButton) e.getSource();
 245             if(!rb.isSelected()) {
 246                 return;
 247             }
 248             String cmd = rb.getActionCommand();
 249             int hPos, vPos;
 250             if(cmd.equals("NW")) {
 251                     hPos = LEFT; vPos = TOP;
 252             } else if(cmd.equals("N")) {
 253                     hPos = CENTER; vPos = TOP;
 254             } else if(cmd.equals("NE")) {
 255                     hPos = RIGHT; vPos = TOP;
 256             } else if(cmd.equals("W")) {
 257                     hPos = LEFT; vPos = CENTER;
 258             } else if(cmd.equals("C")) {
 259                     hPos = CENTER; vPos = CENTER;
 260             } else if(cmd.equals("E")) {
 261                     hPos = RIGHT; vPos = CENTER;
 262             } else if(cmd.equals("SW")) {
 263                     hPos = LEFT; vPos = BOTTOM;
 264             } else if(cmd.equals("S")) {
 265                     hPos = CENTER; vPos = BOTTOM;
 266             } else /*if(cmd.equals("SE"))*/ {
 267                     hPos = RIGHT; vPos = BOTTOM;
 268             }
 269             for(int i = 0; i < demo.getCurrentControls().size(); i++) {
 270                 Component c = demo.getCurrentControls().elementAt(i);
 271                 setAlignment(c,hPos,vPos);
 272                 c.invalidate();
 273             }
 274             demo.invalidate();
 275             demo.validate();
 276             demo.repaint();
 277         }
 278     };
 279 
 280     // Position
 281     void setPosition(Component c, int hPos, int vPos) {
 282         boolean ltr = true;
 283         ltr = c.getComponentOrientation().isLeftToRight();
 284         if( absolutePositions ) {
 285             if( hPos == LEADING ) {
 286                 hPos = ltr ? LEFT : RIGHT;
 287             } else if( hPos == TRAILING ) {
 288                 hPos = ltr ? RIGHT : LEFT;
 289             }
 290         } else {


< prev index next >