![]() import java.awt.Container; import javax.swing.JFrame;
![]() 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); } } ![]() 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 솔잎 카테고리
이전블로그
이글루링크
최근 등록된 덧글
| |||