책상



정리가 안되는 놈
by 솔잎 | 2005/12/02 12:53 | life | 트랙백 | 덧글(3)
CharsetViewer


import java.awt.Container;
import java.awt.event.WindowEvent;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.SortedMap;

import javax.swing.JFrame;
import javax.swing.JRootPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableModel;


public class CharsetViewer  {
public static void main(String[] args) {
final SortedMap<String, Charset> availableCharsets =
   Charset.availableCharsets();
final Object[] charsetNames = availableCharsets.keySet().toArray();
final String[] columnNames =
   {"NAME", "ENCODE", "REGISTERRED", "ALIASES"};
new JFrame("Charset Viewer") {
   @Override
   protected JRootPane createRootPane() {
       return new JRootPane() {
           @Override
           protected Container createContentPane() {
               return new JScrollPane(new JTable() {
                   @Override
                   protected JTableHeader createDefaultTableHeader() {
                       JTableHeader tableHeader =
                           super.createDefaultTableHeader();
                       tableHeader.setReorderingAllowed(false);
                       return tableHeader;
                   }
                   @Override
                   protected TableModel createDefaultDataModel() {
                       return new AbstractTableModel() {
                           public int getColumnCount() {
                               return columnNames.length;
                           }
                           @Override
                           public String getColumnName(int column) {
                               return columnNames[column];
                           }
                           public int getRowCount() {
                               return charsetNames.length;
                           }
                           public Object getValueAt(int rowIndex,
                               int columnIndex) {
                               Charset charset = availableCharsets.get(
                                   charsetNames[rowIndex]);
                               if (columnIndex == 0) {
                                   return charset.displayName();
                               } else if (columnIndex == 1) {
                                   return charset.canEncode();
                               } else if (columnIndex == 2) {
                                   return charset.isRegistered();
                               } else if (columnIndex == 3) {
                                   return charset.aliases();
                               } else {
                                   return null;
                               }
                           }
                       };
                   }
               });
           }
       };
   }
   @Override
   protected void processWindowEvent(WindowEvent we) {
       super.processWindowEvent(we);
       if (we.getID() == WindowEvent.WINDOW_CLOSING) {
           System.exit(0);
       }
   }
   @Override
   public void frameInit() {
       super.frameInit();
       pack();
   }
}.setVisible(true);
}
}

by 솔잎 | 2005/11/29 11:40 | java | 트랙백 | 덧글(0)
LocaleViewer

import java.awt.Container;
import java.awt.event.WindowEvent;
import java.util.Locale;
import javax.swing.JFrame;
import javax.swing.JRootPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableModel;

public class LocaleViewer {
public static void main(String[] args) {
  final Locale[] locales = Locale.getAvailableLocales();
final String[] columnNames =
     {"COUNTRY", "LANGUAGE", "CON", "LAN", "CO", "LA"};
  new JFrame("Locale Viewer") {
     protected JRootPane createRootPane() {
         return new JRootPane() {
             @Override
             protected Container createContentPane() {
                 return new JScrollPane(new JTable() {
                     @Override
                     protected JTableHeader createDefaultTableHeader() {
                         JTableHeader tableHeader =
                             super.createDefaultTableHeader();
                         tableHeader.setReorderingAllowed(false);
                         return tableHeader;
                     }
                     @Override
                     protected TableModel createDefaultDataModel() {
                         return new AbstractTableModel() {
                             public String getColumnName(int column) {
                                 return columnNames[column];
                             }
                             public int getColumnCount() {
                                 return columnNames.length;
                             }
                             public int getRowCount() {
                                 return locales.length;
                             }
                             public Object getValueAt(int rowIndex,
                                 int columnIndex) {
                                 Locale locale = locales[rowIndex];
                                 if (columnIndex == 0) {
                                     String country =
                                         locale.getDisplayCountry();
                                     return country.length() > 0 ?
                                         locale.getDisplayCountry() +
                                         " (" + locale.getDisplayCountry(
                                         locale) + ")" : country;
                                 } else if (columnIndex == 1) {
                                     return locale.getDisplayLanguage() +
                                         " (" + locale.
                                         getDisplayLanguage(locale) +
                                         ")";
                                 } else if (columnIndex == 2) {
                                     return locale.getISO3Country();
                                 } else if (columnIndex == 3) {
                                     return locale.getISO3Language();
                                 } else if (columnIndex == 4) {
                                     return locale.getCountry();
                                 } else if (columnIndex == 5) {
                                     return locale.getLanguage();
                                 } else {
                                     throw new IllegalArgumentException(
                                         "Illegal column: " +
                                         columnIndex);
                                 }
                             }
                         };
                     }
                 });
             }
         };
     }
     @Override
     protected void processWindowEvent(WindowEvent we) {
         super.processWindowEvent(we);
         if (we.getID() == WindowEvent.WINDOW_CLOSING) {
             System.exit(0);
         }
     }
     @Override
     public void frameInit() {
         super.frameInit();
         pack();
     }
}.setVisible(true);
}
}

by 솔잎 | 2005/11/29 11:39 | java | 트랙백 | 덧글(0)
FontViewer

import java.awt.Component;
import java.awt.Container;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JRootPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableModel;

public class FontViewer {
public static void main(String[] args) {
  final String[] fontFamilyNames =

        GraphicsEnvironment.getLocalGraphicsEnvironment().
        getAvailableFontFamilyNames();
  final String[] columnNames =
      {"NAME", "PLAIN", "BOLD", "ITALIC", "BOLD ITALIC"};
  new JFrame("Font Viewer") {
      @Override
      protected JRootPane createRootPane() {
          return new JRootPane() {
              @Override
              protected Container createContentPane() {
                  return new JScrollPane(new JTable() {
                      @Override
                      protected JTableHeader createDefaultTableHeader() {
                          JTableHeader tableHeader =
                              super.createDefaultTableHeader();
                          tableHeader.setReorderingAllowed(false);
                          return tableHeader;
                      }
                      @Override
                      protected TableModel createDefaultDataModel() {
                          return new AbstractTableModel() {
                              @Override
                              public Class getColumnClass(
                                  int columnIndex) {
                                  return Font.class;
                              }
                              @Override
                              public String getColumnName(int column) {
                                  return columnNames[column];
                              }
                              public int getColumnCount() {
                                  return columnNames.length;
                              }
                              public int getRowCount() {
                                  return fontFamilyNames.length;
                              }
                              public Object getValueAt(int rowIndex,
                                  int columnIndex) {
                                  return null;
                              }
                          };
                      }
                      @Override
                      protected void createDefaultRenderers() {
                          super.createDefaultRenderers();
                          defaultRenderersByColumnClass.put(
                              Font.class, new DefaultTableCellRenderer() {
                              @Override
                              public Component
                                  getTableCellRendererComponent(
                                      JTable table, Object value,
                                      boolean isSelected,
                                      boolean hasFocus, int row,
                                      int column) {
                                  Font font =
                                      Font.decode(fontFamilyNames[row]);
                                  Component renderer =
                                      super.getTableCellRendererComponent(
                                          table, font.getName(),
                                          isSelected, hasFocus, row,
                                          column);
                                  if (column == 1) {
                                      renderer.setFont(font.deriveFont(
                                          Font.PLAIN));
                                  } else if (column == 2) {
                                      renderer.setFont(font.deriveFont(
                                          Font.BOLD));
                                  } else if (column == 3) {
                                      renderer.setFont(font.deriveFont(
                                          Font.ITALIC));
                                  } else if (column == 4) {
                                      renderer.setFont(font.deriveFont(
                                          Font.BOLD|Font.ITALIC));
                                  }
                                  return renderer;
                              }
                          });
                      }
                  });
              }
          };
      }
      @Override
      protected void processWindowEvent(WindowEvent we) {
          super.processWindowEvent(we);
          if (we.getID() == WindowEvent.WINDOW_CLOSING) {
              System.exit(0);
          }
      }
      @Override
      public void frameInit() {
          super.frameInit();
          pack();
      }
  }.setVisible(true);
}
}
by 솔잎 | 2005/11/29 11:38 | java | 트랙백 | 덧글(0)
< 이전페이지 다음페이지 >