public RangeMenu( Font2DTest demo, JFrame f ) { super();
parent = demo;
for ( int i = 0; i < UNICODE_RANGE_NAMES.length; i++ )
addItem( UNICODE_RANGE_NAMES[i] );
setSelectedIndex( 0 );
addActionListener( this );
/// Set up custom range dialog...
customRangeDialog = new JDialog( f, "Custom Unicode Range", true );
customRangeDialog.setResizable( false );
JPanel dialogTop = new JPanel();
JPanel dialogBottom = new JPanel();
JButton okButton = new JButton("OK");
JLabel from = new JLabel( "From:" );
JLabel to = new JLabel("To:");
Font labelFont = new Font( "dialog", Font.BOLD, 12 );
from.setFont( labelFont );
to.setFont( labelFont );
okButton.setFont( labelFont );
dialogTop.add( from );
dialogTop.add( customRangeStart );
dialogTop.add( to );
dialogTop.add( customRangeEnd );
dialogBottom.add( okButton );
okButton.addActionListener( this );
/// Function used by loadOptions in Font2DTest main panel /// to reset setting and range selection publicvoid setSelectedRange( String name, int start, int end ) {
setSelectedItem( name );
customRange[0] = start;
customRange[1] = end;
parent.fireRangeChanged();
}
/// ActionListener interface function /// ABP /// moved JComboBox event code into this fcn from /// itemStateChanged() method. Part of change to Swing. publicvoid actionPerformed( ActionEvent e ) {
Object source = e.getSource();
privatestatic String[] getUnicodeRangeNames() {
String[] names = new String[UNICODE_RANGES.length]; for (int i = 0 ; i < names.length ; i++ ) {
names[i] = titleCase(
Character.UnicodeBlock.of(UNICODE_RANGES[i][0]).toString());
}
names[names.length - 1] = "Custom..."; return names;
}
privatestatic String titleCase(String str) {
str = str.replaceAll("_", " ");
Pattern p = Pattern.compile("(^|\\W)([a-z])");
Matcher m = p.matcher(str.toLowerCase(Locale.ROOT));
StringBuffer sb = new StringBuffer(); while (m.find()) {
m.appendReplacement(sb, m.group(1) + m.group(2).toUpperCase(Locale.ROOT));
}
m.appendTail(sb); return sb.toString().replace("Cjk", "CJK").replace("Nko", "NKo");
}
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.58Bemerkung:
(vorverarbeitet am 2026-09-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.