¤¿¤Þ¤Ë¤Ã¤¡£ / 2001-10-26
| Æü | ·î | ²Ð | ¿å | ÌÚ | ¶â | ÅÚ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
2001-10-26 Fri
¢£ Collator
ºÇ¶áÉ÷´Ö¤µ¤ó¤Î¡ÖJava ¤Î¹ñºÝ²½¡×¤È¤¤¤¦ËܤòÆÉ¤ó¤Ç¤¤¤ë¡£
¹ñºÝ²½¤Ï±ü¤¬¿¼¤¤¡£¤½¤ÎËܤÎÃæ¤Ë Java ¤Ç¤Î i18n ¤Ë¤ª¤±¤ëʸ»úÎó¤ÎÈæ³Ó¤¬½ñ¤¤¤Æ¤¢¤Ã¤¿¡£
java.text.Collator ¤ò»È¤¦¤½¤¦¤À¡£¤Á¤ç¤¤¤È¥Æ¥¹¥È¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤ß¤¿¡£
°Ê²¼¤¬¤½¤ì¡£
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.*;
class CollatorTest extends JFrame{
private JTextField text1, text2;
private JLabel label;
private Locale locale;
private JComboBox localesBox, strengthBox, decompositionBox;
private Locale[] locales;
private JButton check, refresh;
private static final int[] COLLATOR_STRENGTH = {
Collator.PRIMARY, Collator.SECONDARY,
Collator.TERTIARY, Collator.IDENTICAL,
};
private static final int[] COLLATOR_DECOMPOSITION = {
Collator.FULL_DECOMPOSITION, Collator.CANONICAL_DECOMPOSITION,
Collator.NO_DECOMPOSITION,
};
public CollatorTest(){
Container c = getContentPane();
localesBox = new JComboBox();
strengthBox = new JComboBox();
decompositionBox = new JComboBox();
strengthBox.addItem("PRIMARY");
strengthBox.addItem("SECONDARY");
strengthBox.addItem("TERTIARY");
strengthBox.addItem("IDENTICAL");
decompositionBox.addItem("Full");
decompositionBox.addItem("Canonical");
decompositionBox.addItem("No");
c.setLayout(new BorderLayout());
JPanel north = new JPanel(new GridLayout(1, 3));
north.add(text1 = new JTextField());
north.add(label = new JLabel("", JLabel.CENTER));
north.add(text2 = new JTextField());
JPanel center = new JPanel(new GridLayout(3, 1));
center.add(localesBox);
center.add(strengthBox);
center.add(decompositionBox);
localesBox.setBorder(new TitledBorder("Locale"));
strengthBox.setBorder(new TitledBorder("Strength"));
decompositionBox.setBorder(new TitledBorder("Decomposition"));
JPanel south = new JPanel(new FlowLayout(FlowLayout.CENTER));
south.add(check = new JButton("check"));
south.add(refresh = new JButton("refresh"));
c.add(north, BorderLayout.NORTH);
c.add(center, BorderLayout.CENTER);
c.add(south, BorderLayout.SOUTH);
check.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
check();
}
});
refresh.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int index = localesBox.getSelectedIndex();
if(index >= 0) locale = locales[index];
refresh();
}
});
locales = Locale.getAvailableLocales();
locale = Locale.getDefault();
refresh();
pack();
}
private void refresh(){
localesBox.removeAllItems();
for(int i = 0; i < locales.length; i++){
localesBox.addItem(locales[i].getDisplayName(locale));
}
localesBox.setSelectedItem(locale.getDisplayName(locale));
}
private void check(){
int s = COLLATOR_STRENGTH[strengthBox.getSelectedIndex()];
int c = COLLATOR_DECOMPOSITION[decompositionBox.getSelectedIndex()];
Locale l = locales[localesBox.getSelectedIndex()];
String t1 = text1.getText();
String t2 = text2.getText();
if(t1 == null || t2 == null || t1.equals("") || t2.equals("")){
return;
}
Collator collator = Collator.getInstance(l);
collator.setStrength(s);
collator.setDecomposition(c);
int r = collator.compare(t1, t2);
if(r < 0) label.setText(" < ");
else if(r == 0) label.setText(" = ");
else label.setText(" > ");
}
public static void main(String[] args){
CollatorTest test = new CollatorTest();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true);
}
}
¤³¤³¤Þ¤Ç¥æ¡¼¥¶¥×¥í¥°¥é¥à¤Ç¤ä¤ë¤Î¤âÌÌÅݤÀ¤È´¶¤¸¤¿¡£
java.sql ¥Ñ¥Ã¥±¡¼¥¸¤Ë¤·¤Æ¤âÌÌÅݤÀ¤È´¶¤¸¤ë¡£
¥ª¥Ö¥¸¥§¥¯¥È»×¹Í¤Ê¤Î¤Ë¤Ê¤¼¤³¤ó¤Ê¤³¤È¤ò¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤Î¤À¤í¤¦¤«¡£
Ëͤ¬»×¤¦¤Ë¥ª¥Ö¥¸¥§¥¯¥È»×¹Í¤È¤¤¤¦¤â¤Î¤Ï¡¢Î㤨¤Ð Java ¤Î java.util.Hashtable ¤òÎã¤Ë¤¢¤²¤ë¤¬¡¢
¤³¤ì¤ò¥¹¥È¥¢¤¹¤ë¾ì¹ç¡¢java.io.ObjectOutputStream ¤ò»È¤¦¡£
¤½¤ì¤ÈƱ¤¸¤è¤¦¤Êµ¡Ç½¤ò java.sql ¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤Ã¤Æ¤â¼ÂÁõ¤¹¤ë¤³¤È¤¬²Äǽ¤À¡£
¤½¤ì¤Ê¤Î¤Ë¡¢Î¾¼Ô¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬°ã¤¦¤Î¤¬µ¤¤ËÆþ¤é¤Ê¤¤¡£
¤É¤¦¤»¤Ê¤é½ÐÎÏÀè¤òµ¤¤Ë¤»¤º¤Ë¥×¥í¥°¥é¥à¤òÁȤߤ¿¤¤¤â¤Î¤À¡£
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
ºÇ½ª¹¹¿·»þ´Ö: 2008-09-04 19:19





