diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0ed8b51 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### maven ### +.mvn + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/lib/beautyeye_lnf.jar b/lib/beautyeye_lnf.jar new file mode 100644 index 0000000..daf4827 Binary files /dev/null and b/lib/beautyeye_lnf.jar differ diff --git a/lib/djnativeswing-swt.jar b/lib/djnativeswing-swt.jar new file mode 100644 index 0000000..5fd63dd Binary files /dev/null and b/lib/djnativeswing-swt.jar differ diff --git a/lib/djnativeswing.jar b/lib/djnativeswing.jar new file mode 100644 index 0000000..b16382d Binary files /dev/null and b/lib/djnativeswing.jar differ diff --git a/lib/swt-4.3-win32-win32-x86_64.jar b/lib/swt-4.3-win32-win32-x86_64.jar new file mode 100644 index 0000000..916306b Binary files /dev/null and b/lib/swt-4.3-win32-win32-x86_64.jar differ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..391b2b8 --- /dev/null +++ b/pom.xml @@ -0,0 +1,195 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.6 + + + com.insigma + hy-tool + 0.0.1-SNAPSHOT + hy-tool + EpSoft Hy-Tool + + 1.8 + 3.36.0.3 + 2.2.1 + 1.2.8 + + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + org.springframework.boot + spring-boot-starter-web + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity5 + + + + + org.projectlombok + lombok + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.security + spring-security-test + test + + + + + + com.alibaba + druid + ${druid.version} + + + + + + org.xerial + sqlite-jdbc + ${sqlite.jdbc.version} + + + + + beautyeye_lnf + beautyeye_lnf + 3.7 + system + ${project.basedir}/lib/beautyeye_lnf.jar + + + + + + djnativeswing + djnativeswing + 4.3 + system + ${project.basedir}/lib/djnativeswing.jar + + + + + + djnativeswing_swt + djnativeswing_swt + 4.3 + system + ${project.basedir}/lib/djnativeswing-swt.jar + + + + + + swt-4.3-win32-win32-x86_64 + swt-4.3-win32-win32-x86_64 + 4.3 + system + ${project.basedir}/lib/swt-4.3-win32-win32-x86_64.jar + + + + + + org.jsoup + jsoup + 1.14.3 + + + + + com.alibaba + fastjson + 1.2.78 + + + + + org.apache.httpcomponents + httpclient + 4.5.13 + + + + commons-io + commons-io + 2.11.0 + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + true + + + org.projectlombok + lombok + + + + + + org.apache.maven.plugins + maven-resources-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + + true + + com.wuzf.swing.SwingDemoApplication + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + + + diff --git a/src/main/java/com/insigma/HyToolApplication.java b/src/main/java/com/insigma/HyToolApplication.java new file mode 100644 index 0000000..0aa76e5 --- /dev/null +++ b/src/main/java/com/insigma/HyToolApplication.java @@ -0,0 +1,52 @@ +package com.insigma; + +import com.insigma.demos.SwingSet2; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.support.EncodedResource; +import org.springframework.core.io.support.PropertiesLoaderUtils; + +import javax.swing.*; +import java.util.Properties; + +/** + * @author Vivim + */ +@Slf4j +@SpringBootApplication +public class HyToolApplication { + + public static void main(String[] args) { + + //读取配置文件的值来选择启动ui + try { + Properties loadProperties = PropertiesLoaderUtils + .loadProperties(new EncodedResource(new ClassPathResource("application.properties"), "UTF-8")); + + String guiType = loadProperties.getProperty("swing.ui.type"); + + SwingUtilities.invokeLater(() -> { + log.info("正在启动GUI =======================>>> " + guiType ); + if(SWING2.equals(guiType)){ + SwingSet2.main(args); + }else if(SWING9.equals(guiType)){ + // TODO... + }else { + log.error("启动GUI异常 =======================>>> 请检查GUITYPE是否存在 "); + throw new RuntimeException("GUI类型出错:"+guiType); + } + }); + } catch (Exception e) { + log.error("\n\t 启动GUI异常 >>>>>>>>>>>{},{}",e.getMessage(),e); + e.printStackTrace(); + } + + //spring + SpringApplication.run(HyToolApplication.class, args); + } + + private static final String SWING2 = "SwingSet2GUI"; + private static final String SWING9 = "Swing9patchGUI"; +} diff --git a/src/main/java/com/insigma/controller/TestController.java b/src/main/java/com/insigma/controller/TestController.java new file mode 100644 index 0000000..b5a7982 --- /dev/null +++ b/src/main/java/com/insigma/controller/TestController.java @@ -0,0 +1,17 @@ +package com.insigma.controller; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/swing") +public class TestController { + + @GetMapping("/hello") + public String hello(String helloWord){ + return helloWord; + } +} diff --git a/src/main/java/com/insigma/demos/DemoModule.java b/src/main/java/com/insigma/demos/DemoModule.java new file mode 100644 index 0000000..2d04762 --- /dev/null +++ b/src/main/java/com/insigma/demos/DemoModule.java @@ -0,0 +1,393 @@ +package com.insigma.demos;/* + * Copyright (C) 2015 Jack Jiang(cngeeker.com) The BeautyEye Project. + * All rights reserved. + * Project URL:https://github.com/JackJiang2011/beautyeye + * Version 3.6 + * + * Jack Jiang PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * DemoModule.java at 2015-2-1 20:25:40, original version by Jack Jiang. + * You can contact author with jb2011@163.com. + */ + +/* + * @(#)DemoModule.java 1.23 05/11/17 + */ + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.io.BufferedReader; +import java.io.File; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +import javax.swing.BorderFactory; +import javax.swing.BoxLayout; +import javax.swing.Icon; +import javax.swing.ImageIcon; +import javax.swing.JApplet; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.UIManager; +import javax.swing.border.Border; +import javax.swing.border.EmptyBorder; + +import org.jb2011.lnf.beautyeye.widget.N9ComponentFactory; + +// TODO: Auto-generated Javadoc + +/** + * A generic SwingSet2 demo module. + * + * @author Jeff Dinkins + * @version 1.23 11/17/05 + */ +public class DemoModule extends JApplet { + + // The preferred size of the demo + /** + * The PREFERRE d_ width. + */ + private int PREFERRED_WIDTH = 680; + + /** + * The PREFERRE d_ height. + */ + private int PREFERRED_HEIGHT = 600; + + /** + * The lowered border. + */ + Border loweredBorder = //new CompoundBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED), + new EmptyBorder(15, 10, 5, 10);//); + + // Premade convenience dimensions, for use wherever you need 'em. + /** + * The HGA p2. + */ + public static Dimension HGAP2 = new Dimension(2, 1); + + /** + * The VGA p2. + */ + public static Dimension VGAP2 = new Dimension(1, 2); + + /** + * The HGA p5. + */ + public static Dimension HGAP5 = new Dimension(5, 1); + + /** + * The VGA p5. + */ + public static Dimension VGAP5 = new Dimension(1, 5); + + /** + * The HGA p10. + */ + public static Dimension HGAP10 = new Dimension(10, 1); + + /** + * The VGA p10. + */ + public static Dimension VGAP10 = new Dimension(1, 10); + + /** + * The HGA p15. + */ + public static Dimension HGAP15 = new Dimension(15, 1); + + /** + * The VGA p15. + */ + public static Dimension VGAP15 = new Dimension(1, 15); + + /** + * The HGA p20. + */ + public static Dimension HGAP20 = new Dimension(20, 1); + + /** + * The VGA p20. + */ + public static Dimension VGAP20 = new Dimension(1, 20); + + /** + * The HGA p25. + */ + public static Dimension HGAP25 = new Dimension(25, 1); + + /** + * The VGA p25. + */ + public static Dimension VGAP25 = new Dimension(1, 25); + + /** + * The HGA p30. + */ + public static Dimension HGAP30 = new Dimension(30, 1); + + /** + * The VGA p30. + */ + public static Dimension VGAP30 = new Dimension(1, 30); + + /** + * The swingset. + */ + private SwingSet2 swingset = null; + + /** + * The panel. + */ + private JPanel panel = null; + + /** + * The resource name. + */ + private String resourceName = null; + + /** + * The icon path. + */ + private String iconPath = null; + + /** + * The source code. + */ + private String sourceCode = null; + + // Resource bundle for internationalized and accessible text + /** + * The bundle. + */ + private ResourceBundle bundle = null; + + /** + * Instantiates a new demo module. + * + * @param swingset the swingset + */ + public DemoModule(SwingSet2 swingset) { + this(swingset, null, null); + } + + /** + * Instantiates a new demo module. + * + * @param swingset the swingset + * @param resourceName the resource name + * @param iconPath the icon path + */ + public DemoModule(SwingSet2 swingset, String resourceName, String iconPath) { + UIManager.put("swing.boldMetal", Boolean.FALSE); + panel = new JPanel(); + + panel.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5)); + panel.setLayout(new BorderLayout()); + + this.resourceName = resourceName; + this.iconPath = iconPath; + this.swingset = swingset; + } + + /** + * Gets the resource name. + * + * @return the resource name + */ + public String getResourceName() { + return resourceName; + } + + /** + * Gets the demo panel. + * + * @return the demo panel + */ + public JPanel getDemoPanel() { + return panel; + } + + /** + * Gets the swing set2. + * + * @return the swing set2 + */ + public SwingSet2 getSwingSet2() { + return swingset; + } + + + /** + * Gets the string. + * + * @param key the key + * @return the string + */ + public String getString(String key) { + String value = "nada"; + if (bundle == null) { + if (getSwingSet2() != null) { + bundle = getSwingSet2().getResourceBundle(); + } else { + bundle = ResourceBundle.getBundle("language.swingset"); + } + } + try { + value = bundle.getString(key); + } catch (MissingResourceException e) { + System.out.println("java.util.MissingResourceException: Couldn't find value for: " + key); + } + return value; + } + + /** + * Gets the mnemonic. + * + * @param key the key + * @return the mnemonic + */ + public char getMnemonic(String key) { + return (getString(key)).charAt(0); + } + + /** + * Creates the image icon. + * + * @param filename the filename + * @param description the description + * @return the image icon + */ + public ImageIcon createImageIcon(String filename, String description) { + if (getSwingSet2() != null) { + return getSwingSet2().createImageIcon(filename, description); + } else { + String path = "/static/images/" + filename; + return new ImageIcon(getClass().getResource(path), description); + } + } + + + /** + * Gets the source code. + * + * @return the source code + */ + public String getSourceCode() { + return sourceCode; + } + + /* (non-Javadoc) + * @see java.awt.Component#getName() + */ + @Override + public String getName() { + return getString(getResourceName() + ".name"); + } + + ; + + /** + * Gets the icon. + * + * @return the icon + */ + public Icon getIcon() { + return createImageIcon(iconPath, getResourceName() + ".name"); + } + + ; + + /** + * Gets the tool tip. + * + * @return the tool tip + */ + public String getToolTip() { + return getString(getResourceName() + ".tooltip"); + } + + ; + + /** + * Main impl. + */ + public void mainImpl() { + JFrame frame = new JFrame(getName()); + frame.getContentPane().setLayout(new BorderLayout()); + frame.getContentPane().add(getDemoPanel(), BorderLayout.CENTER); + getDemoPanel().setPreferredSize(new Dimension(PREFERRED_WIDTH, PREFERRED_HEIGHT)); + frame.pack(); + frame.show(); + } + + /** + * Creates the horizontal panel. + * + * @param threeD the three d + * @return the j panel + */ + public JPanel createHorizontalPanel(boolean threeD) { + JPanel p = N9ComponentFactory.createPanel_style1(null).setDrawBg(threeD);//modified by jb2011 + p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); + p.setAlignmentY(TOP_ALIGNMENT); + p.setAlignmentX(LEFT_ALIGNMENT); + if (threeD) { + p.setBorder(loweredBorder); + } + //因背景是白色N9图,这里设置它不填充默认背景好看一点,要不然灰色背景出来就不好看了 + p.setOpaque(false);//add by jb2011 2012-08-24 + return p; + } + + /** + * Creates the vertical panel. + * + * @param threeD the three d + * @return the j panel + */ + public JPanel createVerticalPanel(boolean threeD) { + JPanel p = N9ComponentFactory.createPanel_style1(null).setDrawBg(threeD);//modified by jb2011 + p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); + p.setAlignmentY(TOP_ALIGNMENT); + p.setAlignmentX(LEFT_ALIGNMENT); + if (threeD) { + p.setBorder(loweredBorder); + } + return p; + } + + /** + * The main method. + * + * @param args the arguments + */ + public static void main(String[] args) { + DemoModule demo = new DemoModule(null); + demo.mainImpl(); + } + + /* (non-Javadoc) + * @see java.applet.Applet#init() + */ + @Override + public void init() { + getContentPane().setLayout(new BorderLayout()); + getContentPane().add(getDemoPanel(), BorderLayout.CENTER); + } + + /** + * Update drag enabled. + * + * @param dragEnabled the drag enabled + */ + void updateDragEnabled(boolean dragEnabled) { + } + + +} + diff --git a/src/main/java/com/insigma/demos/SwingSet2.java b/src/main/java/com/insigma/demos/SwingSet2.java new file mode 100644 index 0000000..d43b016 --- /dev/null +++ b/src/main/java/com/insigma/demos/SwingSet2.java @@ -0,0 +1,1574 @@ +/* + * Copyright (C) 2015 Jack Jiang(cngeeker.com) The BeautyEye Project. + * All rights reserved. + * Project URL:https://github.com/JackJiang2011/beautyeye + * Version 3.6 + * + * Jack Jiang PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * SwingSet2.java at 2015-2-1 20:25:37, original version by Jack Jiang. + * You can contact author with jb2011@163.com. + */ + +/* + * @(#)SwingSet2.java 1.54 06/05/31 + */ +package com.insigma.demos; + +import lombok.extern.slf4j.Slf4j; +import org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper; +import org.jb2011.lnf.beautyeye.widget.N9ComponentFactory; + +import javax.swing.*; +import javax.swing.border.AbstractBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import javax.swing.plaf.metal.DefaultMetalTheme; +import javax.swing.plaf.metal.MetalLookAndFeel; +import javax.swing.plaf.metal.MetalTheme; +import javax.swing.plaf.metal.OceanTheme; +import java.awt.*; +import java.awt.event.*; +import java.lang.reflect.Constructor; +import java.util.ArrayList; +import java.util.MissingResourceException; +import java.util.ResourceBundle; +import java.util.Vector; + +/** + * A demo that shows all of the Swing components. + * + * @author Jeff Dinkins + * @version 1.54 05/31/06 + */ +@Slf4j +public class SwingSet2 extends JPanel { + + /** + * The demos. + */ + String[] demos = { + "com.insigma.demos.ButtonDemo", + "com.insigma.demos.ColorChooserDemo", + "com.insigma.demos.ComboBoxDemo", + "com.insigma.demos.FileChooserDemo", + "com.insigma.demos.HtmlDemo", + "com.insigma.demos.ListDemo", + "com.insigma.demos.OptionPaneDemo", + "com.insigma.demos.ProgressBarDemo", + "com.insigma.demos.ScrollPaneDemo", + "com.insigma.demos.SliderDemo", + "com.insigma.demos.SplitPaneDemo", + "com.insigma.demos.TabbedPaneDemo", + "com.insigma.demos.TableDemo", + "com.insigma.demos.ToolTipDemo", + "com.insigma.demos.TreeDemo", + "com.insigma.demos.TextAreaDemo" + }; + + // Possible Look & Feels + // private static final String mac = + // "com.sun.java.swing.plaf.mac.MacLookAndFeel"; + /** + * The Constant metal. + */ + private static final String metal = + "javax.swing.plaf.metal.MetalLookAndFeel"; + // private static final String motif = + // "com.sun.java.swing.plaf.motif.MotifLookAndFeel"; + /** + * The Constant windows. + */ + private static final String windows = + "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; + + /** + * The Constant gtk. + */ + private static final String gtk = + "org.jb2011.lnf.windows2.Windows2LookAndFeel"; + + // The current Look & Feel + /** + * The current look and feel. + */ + private static String currentLookAndFeel = metal; + + // The preferred size of the demo + /** + * The Constant PREFERRED_WIDTH. + */ + private static final int PREFERRED_WIDTH = 720; + + /** + * The Constant PREFERRED_HEIGHT. + */ + private static final int PREFERRED_HEIGHT = 640; + + // Box spacers + /** + * The HGAP. + */ + private Dimension HGAP = new Dimension(1, 5); + + /** + * The VGAP. + */ + private Dimension VGAP = new Dimension(5, 1); + + // Resource bundle for internationalized and accessible text + /** + * The bundle. + */ + private ResourceBundle bundle = null; + + /** + * The demo panel. + */ + private JPanel demoPanel = null; + + // About Box + /** + * The about box. + */ + private JDialog aboutBox = null; + + // Status Bar + /** + * The status field. + */ + private JLabel statusField = null; + + // Tool Bar + /** + * The toolbar. + */ + private ToggleButtonToolBar toolbar = null; + + /** + * The toolbar group. + */ + private ButtonGroup toolbarGroup = new ButtonGroup(); + + // Menus + /** + * The menu bar. + */ + private JMenuBar menuBar = null; + + /** + * The laf menu. + */ + private JMenu lafMenu = null; + + /** + * The themes menu. + */ + private JMenu themesMenu = null; + + /** + * The audio menu. + */ + private JMenu audioMenu = null; + + /** + * The options menu. + */ + private JMenu optionsMenu = null; + + /** + * The laf menu group. + */ + private ButtonGroup lafMenuGroup = new ButtonGroup(); + + /** + * The themes menu group. + */ + private ButtonGroup themesMenuGroup = new ButtonGroup(); + + /** + * The audio menu group. + */ + private ButtonGroup audioMenuGroup = new ButtonGroup(); + + // Popup menu + /** + * The popup menu. + */ + private JPopupMenu popupMenu = null; + + /** + * The popup menu group. + */ + private ButtonGroup popupMenuGroup = new ButtonGroup(); + + // Used only if swingset is an application + /** + * The frame. + */ + private JFrame frame = null; + + // To debug or not to debug, that is the question + /** + * The DEBUG. + */ + private boolean DEBUG = true; + + /** + * The debug counter. + */ + private int debugCounter = 0; + + // The tab pane that holds the demo + /** + * The tabbed pane. + */ + private JTabbedPane tabbedPane = null; + + /** + * The demo src pane. + */ + private JEditorPane demoSrcPane = null; + + + // contentPane cache, saved from the applet or application frame + /** + * The content pane. + */ + Container contentPane = null; + + + // number of swingsets - for multiscreen + // keep track of the number of SwingSets created - we only want to exit + // the program when the last one has been closed. + /** + * The num s ss. + */ + private static int numSSs = 0; + + /** + * The swing sets. + */ + private static Vector swingSets = new Vector(); + + /** + * The drag enabled. + */ + private boolean dragEnabled = false; + + + /** + * SwingSet2 Main. Called only if we're an application, not an applet. + * + * @param args the arguments + * @throws Exception the exception + */ + public static void main(String[] args) { + + // Create SwingSet on the default monitor + initBeautyStyle(); + } + + public static void initBeautyStyle() { + try { + UIManager.put("RootPane.setupButtonVisible", false); + BeautyEyeLNFHelper.debug = false; + BeautyEyeLNFHelper.launchBeautyEyeLNF(); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("initBeautyStyle exception..."); + } + } + + // ******************************************************* + // *************** Demo Loading Methods ****************** + // ******************************************************* + + + /** + * Initialize demo. + */ + public void initializeDemo() { + JPanel top = new JPanel(); + top.setLayout(new BorderLayout()); + + //* 由jb2011修改 + this.setBorder(BorderFactory.createEmptyBorder(2, 0, 4, 0));//2,2,4,2)); + + add(top, BorderLayout.NORTH); + + menuBar = createMenus(); + + frame.setJMenuBar(menuBar); + + popupMenu = createPopupMenu(); + + ToolBarPanel toolbarPanel = new ToolBarPanel(); + toolbarPanel.setLayout(new BorderLayout()); + toolbar = new ToggleButtonToolBar(); + toolbarPanel.add(toolbar, BorderLayout.CENTER); + top.add(toolbarPanel, BorderLayout.SOUTH); + toolbarPanel.addContainerListener(toolbarPanel); + + tabbedPane = new JTabbedPane(); + add(tabbedPane, BorderLayout.CENTER); + tabbedPane.getModel().addChangeListener(null); + + statusField = new JLabel(""); + JPanel hinePanel = new JPanel(new BorderLayout()); + JLabel hintLabel = N9ComponentFactory.createLabel_style1("友情提示"); + hinePanel.add(hintLabel, BorderLayout.WEST); + statusField.setBorder(BorderFactory.createEmptyBorder(2, 4, 2, 4)); + hinePanel.add(statusField, BorderLayout.CENTER); + hinePanel.setBorder(BorderFactory.createEmptyBorder(4, 4, 0, 4)); + add(hinePanel, BorderLayout.SOUTH); + + demoPanel = new JPanel(); + demoPanel.setLayout(new BorderLayout()); + demoPanel.setBorder(new DemoPanelBorder()); + tabbedPane.addTab("Hi There!", demoPanel); + + // Add html src code viewer + demoSrcPane = new JEditorPane("text/html", getString("SourceCode.loading")); + demoSrcPane.setEditable(false); + + JScrollPane scroller = new JScrollPane(); + scroller.getViewport().add(demoSrcPane); + + tabbedPane.addTab( +// getString("TabbedPane.src_label"), + "Java源代码", + null, + scroller, + getString("TabbedPane.src_tooltip") + ); + } + + /** + * Create menus. + * + * @return the j menu bar + */ + public JMenuBar createMenus() { + JMenuItem mi; + // ***** create the menubar **** + JMenuBar menuBar = new JMenuBar(); + menuBar.getAccessibleContext().setAccessibleName( + getString("MenuBar.accessible_description")); + + // ***** create File menu + JMenu fileMenu = (JMenu) menuBar.add(new JMenu(getString("FileMenu.file_label"))); + + //TODO 以下代码用来测试项级Menu上设置图标 +// fileMenu.setIcon( +// org.jb2011.lnf.beautyeye.ch9_menu +// .__IconFactory__.getInstance().getRadioButtonMenuItemCheckIcon()); + + fileMenu.setMnemonic(getMnemonic("FileMenu.file_mnemonic")); + fileMenu.getAccessibleContext().setAccessibleDescription(getString("FileMenu.accessible_description")); + + createMenuItem(fileMenu, "FileMenu.about_label", "FileMenu.about_mnemonic", + "FileMenu.about_accessible_description", new AboutAction(this)); + + fileMenu.addSeparator(); + + createMenuItem(fileMenu, "FileMenu.open_label", "FileMenu.open_mnemonic", + "FileMenu.open_accessible_description", null); + + createMenuItem(fileMenu, "FileMenu.save_label", "FileMenu.save_mnemonic", + "FileMenu.save_accessible_description", null); + + createMenuItem(fileMenu, "FileMenu.save_as_label", "FileMenu.save_as_mnemonic", + "FileMenu.save_as_accessible_description", null); + + + fileMenu.addSeparator(); + + createMenuItem(fileMenu, "FileMenu.exit_label", "FileMenu.exit_mnemonic", + "FileMenu.exit_accessible_description", new ExitAction(this) + ); + // Create these menu items for the first SwingSet only. + if (numSSs == 0) { + // ***** create laf switcher menu + lafMenu = (JMenu) menuBar.add(new JMenu(getString("LafMenu.laf_label"))); + lafMenu.setMnemonic(getMnemonic("LafMenu.laf_mnemonic")); + lafMenu.getAccessibleContext().setAccessibleDescription( + getString("LafMenu.laf_accessible_description")); + + mi = createLafMenuItem(lafMenu, "LafMenu.java_label", "LafMenu.java_mnemonic", + "LafMenu.java_accessible_description", metal); + mi.setSelected(true); // this is the default l&f + + createLafMenuItem(lafMenu, "LafMenu.windows_label", "LafMenu.windows_mnemonic", + "LafMenu.windows_accessible_description", windows); + createLafMenuItem(lafMenu, "LafMenu.gtk_label", "LafMenu.gtk_mnemonic", + "LafMenu.gtk_accessible_description", gtk); + + // ***** create themes menu + themesMenu = (JMenu) menuBar.add(new JMenu(getString("ThemesMenu.themes_label"))); + themesMenu.setMnemonic(getMnemonic("ThemesMenu.themes_mnemonic")); + themesMenu.getAccessibleContext().setAccessibleDescription( + getString("ThemesMenu.themes_accessible_description")); + + // ***** create the audio submenu under the theme menu + audioMenu = (JMenu) themesMenu.add(new JMenu(getString("AudioMenu.audio_label"))); + audioMenu.setMnemonic(getMnemonic("AudioMenu.audio_mnemonic")); + audioMenu.getAccessibleContext().setAccessibleDescription( + getString("AudioMenu.audio_accessible_description")); + + createAudioMenuItem(audioMenu, "AudioMenu.on_label", + "AudioMenu.on_mnemonic", + "AudioMenu.on_accessible_description", + new OnAudioAction(this)); + + mi = createAudioMenuItem(audioMenu, "AudioMenu.default_label", + "AudioMenu.default_mnemonic", + "AudioMenu.default_accessible_description", + new DefaultAudioAction(this)); + mi.setSelected(true); // This is the default feedback setting + + createAudioMenuItem(audioMenu, "AudioMenu.off_label", + "AudioMenu.off_mnemonic", + "AudioMenu.off_accessible_description", + new OffAudioAction(this)); + + + // ***** create the font submenu under the theme menu + JMenu fontMenu = (JMenu) themesMenu.add(new JMenu(getString("FontMenu.fonts_label"))); + fontMenu.setMnemonic(getMnemonic("FontMenu.fonts_mnemonic")); + fontMenu.getAccessibleContext().setAccessibleDescription( + getString("FontMenu.fonts_accessible_description")); + ButtonGroup fontButtonGroup = new ButtonGroup(); + mi = createButtonGroupMenuItem(fontMenu, "FontMenu.plain_label", + "FontMenu.plain_mnemonic", + "FontMenu.plain_accessible_description", + new ChangeFontAction(this, true), fontButtonGroup); + mi.setSelected(true); + mi = createButtonGroupMenuItem(fontMenu, "FontMenu.bold_label", + "FontMenu.bold_mnemonic", + "FontMenu.bold_accessible_description", + new ChangeFontAction(this, false), fontButtonGroup); + + + // *** now back to adding color/font themes to the theme menu + mi = createThemesMenuItem(themesMenu, "ThemesMenu.ocean_label", + "ThemesMenu.ocean_mnemonic", + "ThemesMenu.ocean_accessible_description", + new OceanTheme()); + mi.setSelected(true); // This is the default theme + + createThemesMenuItem(themesMenu, "ThemesMenu.steel_label", + "ThemesMenu.steel_mnemonic", + "ThemesMenu.steel_accessible_description", + new DefaultMetalTheme()); + + // ***** create the options menu + optionsMenu = (JMenu) menuBar.add( + new JMenu(getString("OptionsMenu.options_label"))); + optionsMenu.setMnemonic(getMnemonic("OptionsMenu.options_mnemonic")); + optionsMenu.getAccessibleContext().setAccessibleDescription( + getString("OptionsMenu.options_accessible_description")); + + // ***** create tool tip submenu item. + mi = createCheckBoxMenuItem(optionsMenu, "OptionsMenu.tooltip_label", + "OptionsMenu.tooltip_mnemonic", + "OptionsMenu.tooltip_accessible_description", + new ToolTipAction()); + mi.setSelected(true); + + } + + return menuBar; + } + + /** + * Create a checkbox menu menu item. + * + * @param menu the menu + * @param label the label + * @param mnemonic the mnemonic + * @param accessibleDescription the accessible description + * @param action the action + * @return the j menu item + */ + private JMenuItem createCheckBoxMenuItem(JMenu menu, String label, + String mnemonic, + String accessibleDescription, + Action action) { + JCheckBoxMenuItem mi = (JCheckBoxMenuItem) menu.add( + new JCheckBoxMenuItem(getString(label))); + mi.setMnemonic(getMnemonic(mnemonic)); + mi.getAccessibleContext().setAccessibleDescription(getString( + accessibleDescription)); + mi.addActionListener(action); + return mi; + } + + /** + * Create a radio button menu menu item for items that are part of a + * button group. + * + * @param menu the menu + * @param label the label + * @param mnemonic the mnemonic + * @param accessibleDescription the accessible description + * @param action the action + * @param buttonGroup the button group + * @return the j menu item + */ + private JMenuItem createButtonGroupMenuItem(JMenu menu, String label, + String mnemonic, + String accessibleDescription, + Action action, + ButtonGroup buttonGroup) { + JRadioButtonMenuItem mi = (JRadioButtonMenuItem) menu.add( + new JRadioButtonMenuItem(getString(label))); + buttonGroup.add(mi); + mi.setMnemonic(getMnemonic(mnemonic)); + mi.getAccessibleContext().setAccessibleDescription(getString( + accessibleDescription)); + mi.addActionListener(action); + return mi; + } + + /** + * Create the theme's audio submenu. + * + * @param menu the menu + * @param label the label + * @param mnemonic the mnemonic + * @param accessibleDescription the accessible description + * @param action the action + * @return the j menu item + */ + public JMenuItem createAudioMenuItem(JMenu menu, String label, + String mnemonic, + String accessibleDescription, + Action action) { + JRadioButtonMenuItem mi = (JRadioButtonMenuItem) menu.add(new JRadioButtonMenuItem(getString(label))); + audioMenuGroup.add(mi); + mi.setMnemonic(getMnemonic(mnemonic)); + mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription)); + mi.addActionListener(action); + + return mi; + } + + /** + * Creates a generic menu item. + * + * @param menu the menu + * @param label the label + * @param mnemonic the mnemonic + * @param accessibleDescription the accessible description + * @param action the action + * @return the j menu item + */ + public JMenuItem createMenuItem(JMenu menu, String label, String mnemonic, + String accessibleDescription, Action action) { + JMenuItem mi = (JMenuItem) menu.add(new JMenuItem(getString(label))); + +// mi.setBorder(BorderFactory.createEmptyBorder()); + mi.setMnemonic(getMnemonic(mnemonic)); + mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription)); + mi.addActionListener(action); + if (action == null) { + mi.setEnabled(false); + } + return mi; + } + + /** + * Creates a JRadioButtonMenuItem for the Themes menu. + * + * @param menu the menu + * @param label the label + * @param mnemonic the mnemonic + * @param accessibleDescription the accessible description + * @param theme the theme + * @return the j menu item + */ + public JMenuItem createThemesMenuItem(JMenu menu, String label, String mnemonic, + String accessibleDescription, MetalTheme theme) { + JRadioButtonMenuItem mi = (JRadioButtonMenuItem) menu.add(new JRadioButtonMenuItem(getString(label))); + themesMenuGroup.add(mi); + mi.setMnemonic(getMnemonic(mnemonic)); + mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription)); +// mi.addActionListener(new ChangeThemeAction(this, theme)); + + return mi; + } + + /** + * Creates a JRadioButtonMenuItem for the Look and Feel menu. + * + * @param menu the menu + * @param label the label + * @param mnemonic the mnemonic + * @param accessibleDescription the accessible description + * @param laf the laf + * @return the j menu item + */ + public JMenuItem createLafMenuItem(JMenu menu, String label, String mnemonic, + String accessibleDescription, String laf) { + JMenuItem mi = (JRadioButtonMenuItem) menu.add(new JRadioButtonMenuItem(getString(label))); + lafMenuGroup.add(mi); + mi.setMnemonic(getMnemonic(mnemonic)); + mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription)); +// mi.addActionListener(new ChangeLookAndFeelAction(this, laf)); + +// mi.setEnabled(isAvailableLookAndFeel(laf)); + + return mi; + } + + /** + * Creates the popup menu. + * + * @return the j popup menu + */ + public JPopupMenu createPopupMenu() { + JPopupMenu popup = new JPopupMenu("JPopupMenu demo"); + + createPopupMenuItem(popup, "LafMenu.java_label", "LafMenu.java_mnemonic", + "LafMenu.java_accessible_description", metal); + + createPopupMenuItem(popup, "LafMenu.windows_label", "LafMenu.windows_mnemonic", + "LafMenu.windows_accessible_description", windows); + + createPopupMenuItem(popup, "LafMenu.gtk_label", "LafMenu.gtk_mnemonic", + "LafMenu.gtk_accessible_description", gtk); + + // register key binding to activate popup menu + InputMap map = getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); + map.put(KeyStroke.getKeyStroke(KeyEvent.VK_F10, InputEvent.SHIFT_MASK), + "postMenuAction"); + map.put(KeyStroke.getKeyStroke(KeyEvent.VK_CONTEXT_MENU, 0), "postMenuAction"); + getActionMap().put("postMenuAction", new ActivatePopupMenuAction(this, popup)); + + return popup; + } + + /** + * Creates a JMenuItem for the Look and Feel popup menu. + * + * @param menu the menu + * @param label the label + * @param mnemonic the mnemonic + * @param accessibleDescription the accessible description + * @param laf the laf + * @return the j menu item + */ + public JMenuItem createPopupMenuItem(JPopupMenu menu, String label, String mnemonic, + String accessibleDescription, String laf) { + JMenuItem mi = menu.add(new JMenuItem(getString(label))); + popupMenuGroup.add(mi); + mi.setMnemonic(getMnemonic(mnemonic)); + mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription)); +// mi.addActionListener(new ChangeLookAndFeelAction(this, laf)); +// mi.setEnabled(isAvailableLookAndFeel(laf)); + + return mi; + } + + + /** + * Bring up the SwingSet2 demo by showing the frame (only + * applicable if coming up as an application, not an applet);. + */ + public void showSwingSet2() { + if (getFrame() != null) { + // put swingset in a frame and show it + JFrame f = getFrame(); + f.setTitle(getString("Frame.title") + " - BeautyEye L&F v3.6 "); + f.getContentPane().add(this, BorderLayout.CENTER); +// f.pack(); + f.setSize(1024, 750); + + Rectangle screenRect = f.getGraphicsConfiguration().getBounds(); + Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets( + f.getGraphicsConfiguration()); + + // Make sure we don't place the demo off the screen. + int centerWidth = screenRect.width < f.getSize().width ? + screenRect.x : + screenRect.x + screenRect.width / 2 - f.getSize().width / 2; + int centerHeight = screenRect.height < f.getSize().height ? + screenRect.y : + screenRect.y + screenRect.height / 2 - f.getSize().height / 2; + + centerHeight = centerHeight < screenInsets.top ? screenInsets.top : centerHeight; + + f.setLocation(centerWidth, centerHeight); + f.show(); + numSSs++; + swingSets.add(this); + } + } + + // ******************************************************* + // ****************** Utility Methods ******************** + // ******************************************************* + + /** + * A utility function that layers on top of the LookAndFeel's + * isSupportedLookAndFeel() method. Returns true if the LookAndFeel + * is supported. Returns false if the LookAndFeel is not supported + * and/or if there is any kind of error checking if the LookAndFeel + * is supported. + *

+ * The L&F menu will use this method to detemine whether the various + * L&F options should be active or inactive. + * + * @param laf the laf + * @return true, if is available look and feel + */ + protected boolean isAvailableLookAndFeel(String laf) { + try { + Class lnfClass = Class.forName(laf); + LookAndFeel newLAF = (LookAndFeel) (lnfClass.newInstance()); + return newLAF.isSupportedLookAndFeel(); + } catch (Exception e) { // If ANYTHING weird happens, return false + return false; + } + } + + /** + * Returns the frame instance. + * + * @return the frame + */ + public JFrame getFrame() { + return frame; + } + + /** + * Returns the menubar. + * + * @return the menu bar + */ + public JMenuBar getMenuBar() { + return menuBar; + } + + /** + * Returns the toolbar. + * + * @return the tool bar + */ + public ToggleButtonToolBar getToolBar() { + return toolbar; + } + + /** + * Returns the toolbar button group. + * + * @return the tool bar group + */ + public ButtonGroup getToolBarGroup() { + return toolbarGroup; + } + + + /** + * Set the status. + * + * @param s the new status + */ + public void setStatus(String s) { + // do the following on the gui thread + SwingUtilities.invokeLater(new SwingSetRunnable(this, s) { + @Override + public void run() { + swingset.statusField.setText((String) obj); + } + }); + } + + + /** + * This method returns a string from the demo's resource bundle. + * + * @param key the key + * @return the string + */ + public String getString(String key) { + String value = null; + try { + value = getResourceBundle().getString(key); + } catch (MissingResourceException e) { + System.out.println("java.util.MissingResourceException: Couldn't find value for: " + key); + } + if (value == null) { + value = "Could not find resource: " + key + " "; + } + return value; + } + + /** + * Checks if is drag enabled. + * + * @return true, if is drag enabled + */ + boolean isDragEnabled() { + return dragEnabled; + } + + /** + * Returns the resource bundle associated with this demo. Used + * to get accessable and internationalized strings. + * + * @return the resource bundle + */ + public ResourceBundle getResourceBundle() { + if (bundle == null) { + bundle = ResourceBundle.getBundle("language.swingset"); + } + return bundle; + } + + /** + * Returns a mnemonic from the resource bundle. Typically used as + * keyboard shortcuts in menu items. + * + * @param key the key + * @return the mnemonic + */ + public char getMnemonic(String key) { + return (getString(key)).charAt(0); + } + + /** + * Creates an icon from an image contained in the "images" directory. + * + * @param filename the filename + * @param description the description + * @return the image icon + */ + public ImageIcon createImageIcon(String filename, String description) { + String path = "/static/images/" + filename; + return new ImageIcon(getClass().getResource(path)); + } + + /** + * If DEBUG is defined, prints debug information out to std ouput. + * + * @param s the s + */ + public void debug(String s) { + if (DEBUG) { + System.out.println((debugCounter++) + ": " + s); + } + } + + /** + * Stores the current L&F, and calls updateLookAndFeel, below. + * + * @param laf the new look and feel + */ + public void setLookAndFeel(String laf) { + if (currentLookAndFeel != laf) { + currentLookAndFeel = laf; + /* The recommended way of synchronizing state between multiple + * controls that represent the same command is to use Actions. + * The code below is a workaround and will be replaced in future + * version of SwingSet2 demo. + */ + String lafName = null; + if (laf == metal) { + lafName = getString("LafMenu.java_label"); + } + if (laf == gtk) { + lafName = getString("LafMenu.gtk_label"); + } + if (laf == windows) { + lafName = getString("LafMenu.windows_label"); + } + + themesMenu.setEnabled(laf == metal); + updateLookAndFeel(); + for (int i = 0; i < lafMenu.getItemCount(); i++) { + JMenuItem item = lafMenu.getItem(i); + if (item.getText() == lafName) { + item.setSelected(true); + } else { + item.setSelected(false); + } + } + } + } + + /** + * Update this swing set. + */ + private void updateThisSwingSet() { + JFrame frame = getFrame(); + if (frame == null) { + SwingUtilities.updateComponentTreeUI(this); + } else { + SwingUtilities.updateComponentTreeUI(frame); + } + + SwingUtilities.updateComponentTreeUI(popupMenu); + if (aboutBox != null) { + SwingUtilities.updateComponentTreeUI(aboutBox); + } + } + + /** + * Sets the current L&F on each demo module. + */ + public void updateLookAndFeel() { + try { + System.out.println("!!currentLookAndFeel=" + currentLookAndFeel); + UIManager.setLookAndFeel(currentLookAndFeel); + for (SwingSet2 ss : swingSets) { + ss.updateThisSwingSet(); + } + } catch (Exception ex) { + System.out.println("Failed loading L&F: " + currentLookAndFeel); + System.out.println(ex); + } + } + + // ******************************************************* + // ************** ToggleButtonToolbar ***************** + // ******************************************************* + /** + * The zero insets. + */ + static Insets zeroInsets = new Insets(3, 2, 3, 2); + + /** + * The Class ToggleButtonToolBar. + */ + protected class ToggleButtonToolBar extends JToolBar { + + /** + * Instantiates a new toggle button tool bar. + */ + public ToggleButtonToolBar() { + super(); + this.setFloatable(true); +// this.putClientProperty("ToolBar.isPaintPlainBackground", Boolean.TRUE); + } + + /** + * Adds the toggle button. + * + * @param a the a + * @return the j toggle button + */ + JToggleButton addToggleButton(Action a) { + JToggleButton tb = new JToggleButton( + (String) a.getValue(Action.NAME), null +// (Icon)a.getValue(Action.SMALL_ICON) + ); +// tb.setMargin(zeroInsets); +// tb.setText(null); + tb.setEnabled(a.isEnabled()); + tb.setToolTipText((String) a.getValue(Action.SHORT_DESCRIPTION)); + tb.setAction(a); + add(tb); + return tb; + } + } + + // ******************************************************* + // ********* ToolBar Panel / Docking Listener *********** + // ******************************************************* + + /** + * The Class ToolBarPanel. + */ + class ToolBarPanel extends JPanel implements ContainerListener { + + /* (non-Javadoc) + * @see javax.swing.JComponent#contains(int, int) + */ + @Override + public boolean contains(int x, int y) { + Component c = getParent(); + if (c != null) { + Rectangle r = c.getBounds(); + return (x >= 0) && (x < r.width) && (y >= 0) && (y < r.height); + } else { + return super.contains(x, y); + } + } + + /* (non-Javadoc) + * @see java.awt.event.ContainerListener#componentAdded(java.awt.event.ContainerEvent) + */ + @Override + public void componentAdded(ContainerEvent e) { + Container c = e.getContainer().getParent(); + if (c != null) { + c.getParent().validate(); + c.getParent().repaint(); + } + } + + /* (non-Javadoc) + * @see java.awt.event.ContainerListener#componentRemoved(java.awt.event.ContainerEvent) + */ + @Override + public void componentRemoved(ContainerEvent e) { + Container c = e.getContainer().getParent(); + if (c != null) { + c.getParent().validate(); + c.getParent().repaint(); + } + } + } + + // ******************************************************* + // ****************** Runnables *********************** + // ******************************************************* + + /** + * Generic SwingSet2 runnable. This is intended to run on the + * AWT gui event thread so as not to muck things up by doing + * gui work off the gui thread. Accepts a SwingSet2 and an Object + * as arguments, which gives subtypes of this class the two + * "must haves" needed in most runnables for this demo. + */ + class SwingSetRunnable implements Runnable { + + /** + * The swingset. + */ + protected SwingSet2 swingset; + + /** + * The obj. + */ + protected Object obj; + + /** + * Instantiates a new swing set runnable. + * + * @param swingset the swingset + * @param obj the obj + */ + public SwingSetRunnable(SwingSet2 swingset, Object obj) { + this.swingset = swingset; + this.obj = obj; + } + + /* (non-Javadoc) + * @see java.lang.Runnable#run() + */ + @Override + public void run() { + } + } + + + // ******************************************************* + // ******************** Actions *********************** + // ******************************************************* + + /** + * The Class OkAction. + */ + class OkAction extends AbstractAction { + + /** + * The about box. + */ + JDialog aboutBox; + + /** + * Instantiates a new ok action. + * + * @param aboutBox the about box + */ + protected OkAction(JDialog aboutBox) { + super("OkAction"); + this.aboutBox = aboutBox; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + aboutBox.setVisible(false); + } + } + + /** + * The Class ChangeLookAndFeelAction. + */ + class ChangeLookAndFeelAction extends AbstractAction { + + /** + * The swingset. + */ + SwingSet2 swingset; + + /** + * The laf. + */ + String laf; + + /** + * Instantiates a new change look and feel action. + * + * @param swingset the swingset + * @param laf the laf + */ + protected ChangeLookAndFeelAction(SwingSet2 swingset, String laf) { + super("ChangeTheme"); + this.swingset = swingset; + this.laf = laf; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + swingset.setLookAndFeel(laf); + } + } + + /** + * The Class ActivatePopupMenuAction. + */ + class ActivatePopupMenuAction extends AbstractAction { + + /** + * The swingset. + */ + SwingSet2 swingset; + + /** + * The popup. + */ + JPopupMenu popup; + + /** + * Instantiates a new activate popup menu action. + * + * @param swingset the swingset + * @param popup the popup + */ + protected ActivatePopupMenuAction(SwingSet2 swingset, JPopupMenu popup) { + super("ActivatePopupMenu"); + this.swingset = swingset; + this.popup = popup; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + Dimension invokerSize = getSize(); + Dimension popupSize = popup.getPreferredSize(); + popup.show(swingset, (invokerSize.width - popupSize.width) / 2, + (invokerSize.height - popupSize.height) / 2); + } + } + + // Turns on all possible auditory feedback + + /** + * The Class OnAudioAction. + */ + class OnAudioAction extends AbstractAction { + + /** + * The swingset. + */ + SwingSet2 swingset; + + /** + * Instantiates a new on audio action. + * + * @param swingset the swingset + */ + protected OnAudioAction(SwingSet2 swingset) { + super("Audio On"); + this.swingset = swingset; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + //* Jack Jiang 于2012-09-11日注释掉 +// UIManager.put("AuditoryCues.playList", +// UIManager.get("AuditoryCues.allAuditoryCues")); +// swingset.updateLookAndFeel(); + } + } + + // Turns on the default amount of auditory feedback + + /** + * The Class DefaultAudioAction. + */ + class DefaultAudioAction extends AbstractAction { + + /** + * The swingset. + */ + SwingSet2 swingset; + + /** + * Instantiates a new default audio action. + * + * @param swingset the swingset + */ + protected DefaultAudioAction(SwingSet2 swingset) { + super("Audio Default"); + this.swingset = swingset; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + //* Jack Jiang 于2012-09-11日注释掉 +// UIManager.put("AuditoryCues.playList", +// UIManager.get("AuditoryCues.defaultCueList")); +// swingset.updateLookAndFeel(); + } + } + + // Turns off all possible auditory feedback + + /** + * The Class OffAudioAction. + */ + class OffAudioAction extends AbstractAction { + + /** + * The swingset. + */ + SwingSet2 swingset; + + /** + * Instantiates a new off audio action. + * + * @param swingset the swingset + */ + protected OffAudioAction(SwingSet2 swingset) { + super("Audio Off"); + this.swingset = swingset; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + //* Jack Jiang 于2012-09-11日注释掉 +// UIManager.put("AuditoryCues.playList", +// UIManager.get("AuditoryCues.noAuditoryCues")); +// swingset.updateLookAndFeel(); + } + } + + // Turns on or off the tool tips for the demo. + + /** + * The Class ToolTipAction. + */ + class ToolTipAction extends AbstractAction { + + /** + * Instantiates a new tool tip action. + */ + protected ToolTipAction() { + super("ToolTip Control"); + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + boolean status = ((JCheckBoxMenuItem) e.getSource()).isSelected(); + ToolTipManager.sharedInstance().setEnabled(status); + } + } + + /** + * The Class ChangeThemeAction. + */ + class ChangeThemeAction extends AbstractAction { + + /** + * The swingset. + */ + SwingSet2 swingset; + + /** + * The theme. + */ + MetalTheme theme; + + /** + * Instantiates a new change theme action. + * + * @param swingset the swingset + * @param theme the theme + */ + protected ChangeThemeAction(SwingSet2 swingset, MetalTheme theme) { + super("ChangeTheme"); + this.swingset = swingset; + this.theme = theme; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + MetalLookAndFeel.setCurrentTheme(theme); + swingset.updateLookAndFeel(); + } + } + + /** + * The Class ExitAction. + */ + class ExitAction extends AbstractAction { + + /** + * The swingset. + */ + SwingSet2 swingset; + + /** + * Instantiates a new exit action. + * + * @param swingset the swingset + */ + protected ExitAction(SwingSet2 swingset) { + super("ExitAction"); + this.swingset = swingset; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + System.exit(0); + } + } + + /** + * The Class AboutAction. + */ + class AboutAction extends AbstractAction { + + /** + * The swingset. + */ + SwingSet2 swingset; + + /** + * Instantiates a new about action. + * + * @param swingset the swingset + */ + protected AboutAction(SwingSet2 swingset) { + super("AboutAction"); + this.swingset = swingset; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + if (aboutBox == null) { + // JPanel panel = new JPanel(new BorderLayout()); + JPanel panel = new AboutPanel(swingset); + panel.setLayout(new BorderLayout()); + + aboutBox = new JDialog(swingset.getFrame(), getString("AboutBox.title"), false); + aboutBox.setResizable(false); + aboutBox.getContentPane().add(panel, BorderLayout.CENTER); + + // JButton button = new JButton(getString("AboutBox.ok_button_text")); + JPanel buttonpanel = new JPanel(); + buttonpanel.setBorder(new javax.swing.border.EmptyBorder(0, 0, 3, 0)); + buttonpanel.setOpaque(false); + JButton button = (JButton) buttonpanel.add( + new JButton(getString("AboutBox.ok_button_text")) + ); + panel.add(buttonpanel, BorderLayout.SOUTH); + + button.addActionListener(new OkAction(aboutBox)); + } + aboutBox.pack(); + aboutBox.setLocationRelativeTo(getFrame()); + aboutBox.show(); + } + } + + // ******************************************************* + // ********************** Misc ************************* + // ******************************************************* + + /** + * The Class AboutPanel. + */ + class AboutPanel extends JPanel { + + /** + * The aboutimage. + */ + ImageIcon aboutimage = null; + + /** + * The swingset. + */ + SwingSet2 swingset = null; + + /** + * Instantiates a new about panel. + * + * @param swingset the swingset + */ + public AboutPanel(SwingSet2 swingset) { + this.swingset = swingset; + aboutimage = swingset.createImageIcon("About.jpg", "AboutBox.accessible_description"); + setOpaque(false); + } + + /* (non-Javadoc) + * @see javax.swing.JComponent#paint(java.awt.Graphics) + */ + @Override + public void paint(Graphics g) { + aboutimage.paintIcon(this, g, 0, 0); + super.paint(g); + } + + /* (non-Javadoc) + * @see javax.swing.JComponent#getPreferredSize() + */ + @Override + public Dimension getPreferredSize() { + return new Dimension(aboutimage.getIconWidth(), + aboutimage.getIconHeight()); + } + } + + + /** + * The Class ChangeFontAction. + */ + private class ChangeFontAction extends AbstractAction { + + /** + * The swingset. + */ + private SwingSet2 swingset; + + /** + * The plain. + */ + private boolean plain; + + /** + * Instantiates a new change font action. + * + * @param swingset the swingset + * @param plain the plain + */ + ChangeFontAction(SwingSet2 swingset, boolean plain) { + super("FontMenu"); + this.swingset = swingset; + this.plain = plain; + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @Override + public void actionPerformed(ActionEvent e) { + //* Jack Jiang 于2012-09-11日注释掉 +// if (plain) { +// UIManager.put("swing.boldMetal", Boolean.FALSE); +// } +// else { +// UIManager.put("swing.boldMetal", Boolean.TRUE); +// } +// // Change the look and feel to force the settings to take effect. +// updateLookAndFeel(); + } + } + + //------------------------------------------------------------- 由jb2011于2012-06-20实现 + //用于DemoPanel的边框实现,视觉目标是:简洁。 + //原EtchedBorder边框太土,但是没边框将导致整体效果稍显单调,所以做此边框 + + /** + * The Class DemoPanelBorder. + */ + private class DemoPanelBorder extends AbstractBorder { + + /** + * Instantiates a new demo panel border. + */ + public DemoPanelBorder() { + } + + /* (non-Javadoc) + * @see javax.swing.border.AbstractBorder#paintBorder(java.awt.Component, java.awt.Graphics, int, int, int, int) + */ + @Override + public void paintBorder(Component c, Graphics g, int x, int y, + int width, int height) { +// g.drawLine(x,y, widthheight); // draw top +// g.drawLine(x,y, x,height-1); // draw left +// g.drawLine(width-1,y, width-1,height-1); // draw right + + //** 绘制border的底线 + //虚线样式 + Stroke oldStroke = ((Graphics2D) g).getStroke(); + Stroke sroke = new BasicStroke(1, BasicStroke.CAP_BUTT, + BasicStroke.JOIN_BEVEL, 0, new float[]{1, 2}, 0);//实线,空白 + ((Graphics2D) g).setStroke(sroke); + //底边上(浅灰色) + g.setColor(new Color(200, 200, 200)); + g.drawLine(x, height - 2, width - 1, height - 2); // draw bottom1 + //底边下(白色):绘制一条白色虚线的目的是与上面的灰线产生较强对比度从而形成立体效果 + //,本L&F实现中因与Panel的底色对比度不够强烈而立体感不明显(颜色越深的底色最终效果越明显) + g.setColor(Color.white); + g.drawLine(x, height - 1, width - 1, height - 1);//draw bottom2 + + ((Graphics2D) g).setStroke(oldStroke); + } + + //border只有底边,且高度为2像素 + /* (non-Javadoc) + * @see javax.swing.border.AbstractBorder#getBorderInsets(java.awt.Component) + */ + @Override + public Insets getBorderInsets(Component c) { + return new Insets(0, 0, 2, 0); + } + + /* (non-Javadoc) + * @see javax.swing.border.AbstractBorder#getBorderInsets(java.awt.Component, java.awt.Insets) + */ + @Override + public Insets getBorderInsets(Component c, Insets insets) { +// insets.top = insets.left = insets.bottom = insets.right = 1; + return getBorderInsets(c);//insets; + } + } +} + diff --git a/src/main/java/com/insigma/demos/TextAreaDemo.java b/src/main/java/com/insigma/demos/TextAreaDemo.java new file mode 100644 index 0000000..6159ce5 --- /dev/null +++ b/src/main/java/com/insigma/demos/TextAreaDemo.java @@ -0,0 +1,187 @@ +package com.insigma.demos; + +import javax.accessibility.AccessibleContext; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; + +public class TextAreaDemo extends DemoModule { + + /** + * main method allows us to run as a standalone demo. + * + * @param args the arguments + */ + public static void main(String[] args) { + //初始化样式 + SwingSet2.initBeautyStyle(); + + TextAreaDemo demo = new TextAreaDemo(null); + demo.mainImpl(); + } + + /* (non-Javadoc) + * @see DemoModule#getName() + */ + @Override public String getName() { + return "文本域"; + }; + + /** + * ProgressBarDemo Constructor. + * + * @param swingset the swingset + */ + public TextAreaDemo(SwingSet2 swingset) { + // Set the title for this demo, and an icon used to represent this + // demo inside the SwingSet2 app. + super(swingset, "TextAreaDemo" + , "toolbar/JProgressBar.gif"); + + createProgressPanel(); + } + + + /** The load action. */ + Action loadAction; + + /** The stop action. */ + Action stopAction; + + /** The progress bar. */ + JProgressBar progressBar; + + /** The progress text area. */ + JTextArea progressTextArea; + + /* (non-Javadoc) + * @see DemoModule#updateDragEnabled(boolean) + */ + @Override + void updateDragEnabled(boolean dragEnabled) { + progressTextArea.setDragEnabled(dragEnabled); + } + + /** + * Creates the progress panel. + */ + public void createProgressPanel() { + getDemoPanel().setLayout(new BorderLayout()); + + JPanel textWrapper = new JPanel(new BorderLayout()); +// textWrapper.setBorder(new SoftBevelBorder(BevelBorder.LOWERED)); + textWrapper.setAlignmentX(LEFT_ALIGNMENT); + progressTextArea = new MyTextArea(); + + progressTextArea.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_area_name")); + progressTextArea.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_area_description")); + + + textWrapper.add(new JScrollPane(progressTextArea), BorderLayout.CENTER); + + + getDemoPanel().add(textWrapper, BorderLayout.CENTER); + + JPanel progressPanel = new JPanel(); + getDemoPanel().add(progressPanel, BorderLayout.SOUTH); + + + JPanel p1 = new JPanel(); + p1.add(createLoadButton()); + p1.add(createStopButton()); + + progressPanel.add(p1); + + } + + /** + * Creates the load button. + * + * @return the j button + */ + public JButton createLoadButton() { + loadAction = new AbstractAction(getString("ProgressBarDemo.start_button")) { + @Override + public void actionPerformed(ActionEvent e) { + progressTextArea.append("开始"+getString("ProgressBarDemo.text")); + + } + }; + return createButton(loadAction); + } + + /** + * Creates the stop button. + * + * @return the j button + */ + public JButton createStopButton() { + stopAction = new AbstractAction("开始解析") { + @Override + public void actionPerformed(ActionEvent e) { + AccessibleContext accessibleContext = progressTextArea.getAccessibleContext(); + String tempStr = progressTextArea.getText(); + + + progressTextArea.setText(tempStr); ; + JOptionPane.showMessageDialog( + getDemoPanel(), + getString("OptionPaneDemo.warningtext"), + getString("OptionPaneDemo.warningtitle"), + JOptionPane.WARNING_MESSAGE + ); + } + }; + return createButton(stopAction); + } + + /** + * Creates the button. + * + * @param a the a + * @return the j button + */ + public JButton createButton(Action a) { + JButton b = new JButton(); + // setting the following client property informs the button to show + // the action text as it's name. The default is to not show the + // action text. + b.putClientProperty("displayActionText", Boolean.TRUE); + b.setAction(a); + return b; + } + + + /** + * The Class MyTextArea. + */ + class MyTextArea extends JTextArea { + + /** + * Instantiates a new my text area. + */ + public MyTextArea() { + super(null, 0, 0); +// setEditable(false); + setText(""); + } + + /* (non-Javadoc) + * @see javax.swing.JComponent#getAlignmentX() + */ + @Override + public float getAlignmentX () { + return LEFT_ALIGNMENT; + } + + /* (non-Javadoc) + * @see javax.swing.JComponent#getAlignmentY() + */ + @Override + public float getAlignmentY () { + return TOP_ALIGNMENT; + } + } +} + + diff --git a/src/main/java/com/insigma/demos/TreeDemo.java b/src/main/java/com/insigma/demos/TreeDemo.java new file mode 100644 index 0000000..96c8019 --- /dev/null +++ b/src/main/java/com/insigma/demos/TreeDemo.java @@ -0,0 +1,155 @@ +package com.insigma.demos;/* + * Copyright (C) 2015 Jack Jiang(cngeeker.com) The BeautyEye Project. + * All rights reserved. + * Project URL:https://github.com/JackJiang2011/beautyeye + * Version 3.6 + * + * Jack Jiang PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * TreeDemo.java at 2015-2-1 20:25:39, original version by Jack Jiang. + * You can contact author with jb2011@163.com. + */ + +/* + * @(#)TreeDemo.java 1.13 05/11/17 + */ + + +import java.awt.BorderLayout; +import java.awt.Insets; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; + +import javax.swing.JComponent; +import javax.swing.JScrollPane; +import javax.swing.JTree; +import javax.swing.tree.DefaultMutableTreeNode; + +// TODO: Auto-generated Javadoc + +/** + * JTree Demo. + * + * @author Jeff Dinkins + * @version 1.13 11/17/05 + */ +public class TreeDemo extends DemoModule { + + /** + * The tree. + */ + JTree tree; + + /** + * main method allows us to run as a standalone demo. + * + * @param args the arguments + */ + public static void main(String[] args) { + SwingSet2.initBeautyStyle(); + TreeDemo demo = new TreeDemo(null); + demo.mainImpl(); + } + + /* (non-Javadoc) + * @see DemoModule#getName() + */ + @Override + public String getName() { + return "树"; + } + + ; + + /** + * TreeDemo Constructor. + * + * @param swingset the swingset + */ + public TreeDemo(SwingSet2 swingset) { + // Set the title for this demo, and an icon used to represent this + // demo inside the SwingSet2 app. + super(swingset, "TreeDemo", "toolbar/JTree.gif"); + + getDemoPanel().add(createTree(), BorderLayout.CENTER); + } + + /** + * Creates the tree. + * + * @return the j component + */ + public JComponent createTree() { + DefaultMutableTreeNode top = new DefaultMutableTreeNode(getString("TreeDemo.music")); + DefaultMutableTreeNode catagory = null; + DefaultMutableTreeNode artist = null; + DefaultMutableTreeNode record = null; + + // open tree data + URL url = getClass().getResource("/tree.txt"); + + try { + // convert url to buffered string + InputStream is = url.openStream(); + InputStreamReader isr = new InputStreamReader(is, "UTF-8"); + BufferedReader reader = new BufferedReader(isr); + + // read one line at a time, put into tree + String line = reader.readLine(); + while (line != null) { + // System.out.println("reading in: ->" + line + "<-"); + char linetype = line.charAt(0); + switch (linetype) { + case 'C': + catagory = new DefaultMutableTreeNode(line.substring(2)); + top.add(catagory); + break; + case 'A': + if (catagory != null) { + catagory.add(artist = new DefaultMutableTreeNode(line.substring(2))); + } + break; + case 'R': + if (artist != null) { + artist.add(record = new DefaultMutableTreeNode(line.substring(2))); + } + break; + case 'S': + if (record != null) { + record.add(new DefaultMutableTreeNode(line.substring(2))); + } + break; + default: + break; + } + line = reader.readLine(); + } + } catch (IOException e) { + } + + tree = new JTree(top) { + @Override + public Insets getInsets() { + return new Insets(5, 5, 5, 5); + } + }; +// tree.setBackground(new Color(250,250,250)); + + tree.setEditable(true); + + return new JScrollPane(tree); +// return tree; + } + + /* (non-Javadoc) + * @see DemoModule#updateDragEnabled(boolean) + */ + @Override + void updateDragEnabled(boolean dragEnabled) { + tree.setDragEnabled(dragEnabled); + } + +} diff --git a/src/main/java/com/insigma/ui/.keepgit b/src/main/java/com/insigma/ui/.keepgit new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/insigma/utils/MessageSourceHandler.java b/src/main/java/com/insigma/utils/MessageSourceHandler.java new file mode 100644 index 0000000..279bb17 --- /dev/null +++ b/src/main/java/com/insigma/utils/MessageSourceHandler.java @@ -0,0 +1,48 @@ +package com.insigma.utils; + + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.MessageSource; +import org.springframework.context.i18n.LocaleContextHolder; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.support.RequestContextUtils; + +import javax.servlet.http.HttpServletRequest; + +/** + * @author Vivim + */ +@Component +@Slf4j +public class MessageSourceHandler { + // https://blog.csdn.net/P397226804/article/details/103960592 + @Autowired + private HttpServletRequest request; + + @Autowired + private MessageSource messageSource; + + /** + * 如果是根据Request请求的语言来决定国际化: + * + * @param messageKey + * @return + */ + public String getMessage(String messageKey) { + String message = messageSource.getMessage(messageKey, null, RequestContextUtils.getLocale(request)); + return message; + } + + /** + * 如果是根据应用部署的服务器系统来决定国际化: + * + * @param messageKey + * @return + */ + public String getMessageServer(String messageKey) { + String message = messageSource.getMessage(messageKey, null, LocaleContextHolder.getLocale()); + return message; + } + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..f91daa1 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,7 @@ + +#设置激活配置文件 +spring.profiles.active=dev + +##自定义启动UI 1-swing原生UI 2-beauty美化UI 3-SwingSet3 +swing.ui.type=SwingSet2GUI +swing.ui.testCN=哈哈 diff --git a/src/main/resources/language/swingset.properties b/src/main/resources/language/swingset.properties new file mode 100644 index 0000000..673dd4a --- /dev/null +++ b/src/main/resources/language/swingset.properties @@ -0,0 +1,722 @@ +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in the SwingSet demo. +# +# 1.45 05/31/06 +# @author Jeff Dinkins + +################################# +### SwingSet Infrastructure ### +################################# + +### About Box ### + +AboutBox.title=About Swing! +AboutBox.ok_button_text=OK +AboutBox.accessible_description=SwingSet2 demo is Copyright (c) 1997-2005 Sun Microsystems, Inc. All Rights Reserved. + +### Source Code ### +SourceCode.loading=Loading and formatting source code, please wait... + +### Status ### + +Status.loading=Loading: +Status.popupMenuAccessible=Press Shift-F10 to activate popup menu + +### Menu Bar ### + +MenuBar.accessible_description=Swing demo menu bar + + +### Frame ### + +Frame.title=SwingSet2 + + +### Tabbed Pane ### + +TabbedPane.src_label=Source Code +TabbedPane.src_tooltip=Look at the source code for this demo + + +### Look & Feel Menu ### + +LafMenu.laf_label=Look & Feel +LafMenu.laf_mnemonic=L +LafMenu.laf_accessible_description=Menu that allows Look & Feel switching + +LafMenu.java_label=Java Look & Feel +LafMenu.java_mnemonic=J +LafMenu.java_accessible_description=The Java Look & Feel + +LafMenu.mac_label=Macintosh Look & Feel +LafMenu.mac_mnemonic=M +LafMenu.mac_accessible_description=The Macintosh Look & Feel + +LafMenu.motif_label=Motif Look & Feel +LafMenu.motif_mnemonic=O +LafMenu.motif_accessible_description=The Motif Look & Feel + +LafMenu.windows_label=Windows Style Look & Feel +LafMenu.windows_mnemonic=W +LafMenu.windows_accessible_description=Windows Style Look & Feel + +LafMenu.gtk_label=GTK Style Look & Feel +LafMenu.gtk_mnemonic=G +LafMenu.gtk_accessible_description=GTK Style Look & Feel + + +### Themes Menu ### + +ThemesMenu.themes_label=Themes +ThemesMenu.themes_mnemonic=T +ThemesMenu.themes_accessible_description=Menu to switch Metal color themes + +ThemesMenu.aqua_label=Aqua +ThemesMenu.aqua_mnemonic=Q +ThemesMenu.aqua_accessible_description=A Metal Theme that uses bluish-green colors + +ThemesMenu.charcoal_label=Charcoal +ThemesMenu.charcoal_mnemonic=C +ThemesMenu.charcoal_accessible_description=A Metal Theme that uses dark grey colors + +ThemesMenu.contrast_label=High Contrast +ThemesMenu.contrast_mnemonic=H +ThemesMenu.contrast_accessible_description=A High Contrast Theme + +ThemesMenu.ocean_label=Ocean +ThemesMenu.ocean_mnemonic=O +ThemesMenu.ocean_accessible_description=The Ocean Metal Theme + +ThemesMenu.steel_label=Steel +ThemesMenu.steel_mnemonic=S +ThemesMenu.steel_accessible_description=The blue/purple Metal Theme + +ThemesMenu.emerald_label=Emerald +ThemesMenu.emerald_mnemonic=E +ThemesMenu.emerald_accessible_description=A Metal Theme that uses green colors + +ThemesMenu.ruby_label=Ruby +ThemesMenu.ruby_mnemonic=R +ThemesMenu.ruby_accessible_description=A Metal Theme that uses red colors + + +### Font SubMenu (under Themes) +FontMenu.fonts_label=Fonts +FontMenu.fonts_mnemonic=F +FontMenu.fonts_accessible_description=Menu to choose fonts for the Java look and feel + +FontMenu.bold_label=Bold +FontMenu.bold_mnemonic=B +FontMenu.bold_accessible_description=Turns on bold fonts for the Java look and feel + +FontMenu.plain_label=Plain +FontMenu.plain_mnemonic=p +FontMenu.plain_accessible_description=Turns on plain fonts for the Java look and feel + + +### Audio SubMenu (under Themes) ### + +AudioMenu.audio_label=Audio +AudioMenu.audio_mnemonic=A +AudioMenu.audio_accessible_description=Menu to switch the amount of auditory feedback available within the Java look and feel + +AudioMenu.on_label=On +AudioMenu.on_mnemonic=O +AudioMenu.on_accessible_description=Turn on all auditory feedback for the Java look and feel + +AudioMenu.default_label=Default +AudioMenu.default_mnemonic=D +AudioMenu.default_accessible_description=Turn on the standard amount of auditory feedback for the Java look and feel + +AudioMenu.off_label=Off +AudioMenu.off_mnemonic=f +AudioMenu.off_accessible_description=Turn off all auditory feedback for the Java look and feel + +### Options Menu ### + +OptionsMenu.options_label=Options +OptionsMenu.options_mnemonic=P +OptionsMenu.options_accessible_description=Menu containing other options + +OptionsMenu.tooltip_label=Enable Tool Tips +OptionsMenu.tooltip_mnemonic=T +OptionsMenu.tooltip_accessible_description=Enable or disable tool tips + +OptionsMenu.dragEnabled_label=Enable Drag Support +OptionsMenu.dragEnabled_mnemonic=D +OptionsMenu.dragEnabled_accessible_description=Enable or disable drag support + +### File Menu ### + +FileMenu.file_label=File +FileMenu.file_mnemonic=F +FileMenu.accessible_description=File Menu +FileMenu.about_label=About +FileMenu.about_mnemonic=b +FileMenu.about_accessible_description=Find out about the SwingSet2 application +FileMenu.open_label=Open +FileMenu.open_mnemonic=O +FileMenu.open_accessible_description=Placeholder menu item for opening a file +FileMenu.save_label=Save +FileMenu.save_mnemonic=S +FileMenu.save_accessible_description=Placeholder menu item for saving a file +FileMenu.save_as_label=Save As... +FileMenu.save_as_mnemonic=A +FileMenu.save_as_accessible_description=Placeholder menu item for saving a file with a new name +FileMenu.exit_label=Exit +FileMenu.exit_mnemonic=x +FileMenu.exit_accessible_description=Exit the SwingSet2 application + +### Multi-Screen menu ### +MultiMenu.multi_label=Multiscreen +MultiMenu.multi_mnemonic=M +MultiMenu.multi_accessible_description=Multiscreen Menu +MultiMenu.all_label=Create SwingSet2 on all screens +MultiMenu.all_mnemonic=A +MultiMenu.all_accessible_description=Create a SwingSet2 window on every screen +MultiMenu.single_label=Create SwingSet2 on screen +MultiMenu.single_accessible_description=Create a SwingSet2 window on screen + + +################################ +### DEMOS ### +################################ + +### Button Demo ### + +ButtonDemo.accessible_description=The ButtonDemo shows examples of using JButton, JRadioButton, JToggleButton, and JCheckBox +ButtonDemo.tooltip=JButton, JRadioButton, JToggleButton, JCheckbox demos +ButtonDemo.name=Button Demo + +ButtonDemo.buttons=Buttons +ButtonDemo.checkboxes=Check Boxes +ButtonDemo.radiobuttons=Radio Buttons +ButtonDemo.togglebuttons=Toggle Buttons + +ButtonDemo.textbuttons=Text Buttons +ButtonDemo.imagebuttons=Image Buttons +ButtonDemo.textradiobuttons=Text Radio Buttons +ButtonDemo.imageradiobuttons=Image Radio Buttons +ButtonDemo.texttogglebuttons=Text Toggle Buttons +ButtonDemo.imagetogglebuttons=Image Toggle Buttons +ButtonDemo.textcheckboxes=Text CheckBoxes +ButtonDemo.imagecheckboxes=Image CheckBoxes + +ButtonDemo.button1=One +ButtonDemo.button2=Two +ButtonDemo.button3=Three! + +ButtonDemo.radio1=Radio One +ButtonDemo.radio2=Radio Two +ButtonDemo.radio3=Radio Three +ButtonDemo.radioX=Three(HTML!) + +ButtonDemo.check1=One +ButtonDemo.check2=Two +ButtonDemo.check3=Three +ButtonDemo.checkX=Three(HTML!) + +ButtonDemo.customradio=A custom "chrome" radio button. +ButtonDemo.customcheck=A custom lightbulb checkbox. + +ButtonDemo.phone=Phone +ButtonDemo.write=Write +ButtonDemo.peace=Peace + +ButtonDemo.controlpanel_label=Display Options: +ButtonDemo.paintborder=Paint Border +ButtonDemo.paintborder_tooltip=Click here to turn border painting on or off. +ButtonDemo.paintborder_mnemonic=b +ButtonDemo.paintfocus=Paint Focus +ButtonDemo.paintfocus_tooltip=Click here to turn focus painting on or off. +ButtonDemo.paintfocus_mnemonic=f +ButtonDemo.enabled=Enabled +ButtonDemo.enabled_tooltip=Click here to enable or disable the buttons. +ButtonDemo.enabled_mnemonic=e +ButtonDemo.contentfilled=Content Filled +ButtonDemo.contentfilled_tooltip=Click here to control the filling of the content area. +ButtonDemo.contentfilled_mnemonic=i + +ButtonDemo.padamount_label=Pad Amount: +ButtonDemo.default=Default +ButtonDemo.default_tooltip=Uses the default padding between the border and label. +ButtonDemo.default_mnemonic=d +ButtonDemo.zero=0 +ButtonDemo.zero_mnemonic=0 +ButtonDemo.zero_tooltip=Uses no padding between the border and label. +ButtonDemo.ten=10 +ButtonDemo.ten_mnemonic=1 +ButtonDemo.ten_tooltip=Uses a 10 pixel pad between the border and label. + +LayoutControlPanel.textposition_label=Text Position: +LayoutControlPanel.contentalignment_label=Content Alignment: + +### ColorChooser Demo ### + +ColorChooserDemo.accessible_description=The ColorChooser allows a user to pick a color either from a pallete or by choosing RGB or HSB values +ColorChooserDemo.tooltip=JColorChooser demo +ColorChooserDemo.name=ColorChooser Demo +ColorChooserDemo.chooser_title=Choose a Color +ColorChooserDemo.background=Background +ColorChooserDemo.grad_a=Gradient 1 +ColorChooserDemo.grad_b=Gradient 2 +ColorChooserDemo.outer_line=Perimeter +ColorChooserDemo.cup=Image of the Java Trademark Coffee Cup + +### ComboBox Demo ### + +ComboBoxDemo.accessible_description=This demo shows an example of using the JComboBox component. +ComboBoxDemo.tooltip=JComboBox demo +ComboBoxDemo.name=ComboBox Demo + +ComboBoxDemo.hair=hair +ComboBoxDemo.eyes=eyes +ComboBoxDemo.mouth=mouth +ComboBoxDemo.presets=Presets: + +ComboBoxDemo.preset1=Philip, Howard, Jeff +ComboBoxDemo.preset2=Jeff, Larry, Philip +ComboBoxDemo.preset3=Howard, Scott, Hans +ComboBoxDemo.preset4=Philip, Jeff, Hans +ComboBoxDemo.preset5=Brent, Jon, Scott +ComboBoxDemo.preset6=Lara, Larry, Lisa +ComboBoxDemo.preset7=James, Philip, Michael +ComboBoxDemo.preset8=Philip, Lisa, Brent +ComboBoxDemo.preset9=James, Philip, Jon +ComboBoxDemo.preset10=Lara, Jon, Scott + + +ComboBoxDemo.hair_description=Hair: +ComboBoxDemo.eyes_description=Eyes & Nose: +ComboBoxDemo.mouth_description=Mouth: + +ComboBoxDemo.amy=Amy +ComboBoxDemo.brent=Brent +ComboBoxDemo.georges=Georges +ComboBoxDemo.hans=Hans +ComboBoxDemo.howard=Howard +ComboBoxDemo.james=James +ComboBoxDemo.jeff=Jeff +ComboBoxDemo.jon=Jon +ComboBoxDemo.lara=Lara +ComboBoxDemo.larry=Larry +ComboBoxDemo.lisa=Lisa +ComboBoxDemo.michael=Michael +ComboBoxDemo.philip=Philip +ComboBoxDemo.scott=Scott + +### FileChooser Demo ### + +FileChooserDemo.accessible_description=The FileChooser allows a user to select a file, usually for opening or creating/saving. +FileChooserDemo.tooltip=JFileChooser demo +FileChooserDemo.name=FileChooser Demo + +FileChooserDemo.plainbutton=Show Plain JFileChooser +FileChooserDemo.previewbutton=Show Preview JFileChooser +FileChooserDemo.custombutton=Show Custom JFileChooser + +FileChooserDemo.description=\ +    Note that you can easily create your own custom FileChooser
\ +    with as many components as you like. \ + + +FileChooserDemo.filterdescription=JPEG and GIF Image Files + +FileChooserDemo.nofileselected=Please select a file first. +FileChooserDemo.thefile=the file: +FileChooserDemo.isprobably=is probably an image. + +FileChooserDemo.helptext=\ +Find: Find a file.
\ +About: Learn more about the file.
\ +OK: Choose that file.
\ +Cancel: Exit this dialog without doing anything.\ + + +FileChooserDemo.findquestion=Find File: +FileChooserDemo.findresponse=

\ +You really want me to find a file?!?
\ +I don't know how to do that! I'm just a demo!\ +
+ +FileChooserDemo.dialogtitle=Custom Layout FileChooser +FileChooserDemo.help=Help +FileChooserDemo.find=Find +FileChooserDemo.ok=OK +FileChooserDemo.about=About +FileChooserDemo.cancel=Cancel + +### Html Demo ### + +HtmlDemo.accessible_description=This demo shows how to display html text using the JEditorPane component. +HtmlDemo.tooltip=JEditorPane HTML demo +HtmlDemo.name=JEditorPane HTML Demo +HtmlDemo.filename=swing.html + + +### Internal Frame Demo ### + +InternalFrameDemo.accessible_description=JInternal Frame Demo +InternalFrameDemo.create_frames_label=Create Customized Internal Frames +InternalFrameDemo.title_text_field_label=Frame title: +InternalFrameDemo.frame_label=Frame +InternalFrameDemo.palette_label=Internal Frame Generator +InternalFrameDemo.name=Internal Frames Demo +InternalFrameDemo.tooltip=JInternalFrame demo +InternalFrameDemo.closable_label=Closable +InternalFrameDemo.resizable_label=Resizable +InternalFrameDemo.iconifiable_label=Iconifiable +InternalFrameDemo.maximizable_label=Maximizable +InternalFrameDemo.fish=Fishie Fish Fish Fish +InternalFrameDemo.moon=Goodnight Moon +InternalFrameDemo.sun=Here comes the sun... +InternalFrameDemo.cab=Anyone need a Taxi? + + +### List Demo ### + +ListDemo.accessible_description=JList Demo +ListDemo.name=List Demo +ListDemo.tooltip=JList demo +ListDemo.prefixes=Prefixes +ListDemo.suffixes=Suffixes +ListDemo.count_label=Number of generated list entries: +ListDemo.all=All +ListDemo.none=None +ListDemo.red=Red Company Logo Image +ListDemo.yellow=Red Company Logo Image +ListDemo.blue=Blue Company Logo Image +ListDemo.gray=Gray Company Logo Image +ListDemo.green=Green Company Logo Image +ListDemo.magenta=Magenta Company Logo Image +ListDemo.cyan=Cyan Company Logo Image +ListDemo.description=

This demo shows how to present lists of data in two different ways. On the left is a JList component whose list items consist of the permutations of the checked prefixes and suffixes. The prefix and suffix checkbox columns on the right are created by using a JPanel with a Y Axis BoxLayout inside a JScrollPane.

+ + +### OptionPane Demo ### + +OptionPaneDemo.accessible_description=The OptionPane Demo shows examples of using JOptionPane to generate different common option dialog boxes +OptionPaneDemo.tooltip=JOptionPane Demo +OptionPaneDemo.name=Option Pane Demo + +OptionPaneDemo.warningbutton=Show Warning Dialog +OptionPaneDemo.componentbutton=Show Component Dialog +OptionPaneDemo.inputbutton=Show Input Dialog +OptionPaneDemo.confirmbutton=Show Confirmation Dialog +OptionPaneDemo.messagebutton=Show Message Dialog + +OptionPaneDemo.warningtitle=Warning Dialog Example +OptionPaneDemo.warningtext=

This is a test of the Emergency Broadcast System. This is
only a test
. The webmaster of your local intranet, in voluntary
cooperation with the Federal and State authorities, have
developed this system to keep you informed in the event of an
emergency. If this had been an actual emergency, the signal you
just heard would have been followed by official information, news
or instructions. This concludes this test of the Emergency
Broadcast System
.


Developer Note: This dialog demo used HTML for text formatting.

+ +OptionPaneDemo.messagetext=Message in a Bottle (yeah) + +OptionPaneDemo.confirmquestion=Is the sun shining outside today? +OptionPaneDemo.confirmyes=Well what are you doing playing on the computer?
Get outside! Take a trip to the beach! Get a little sun! +OptionPaneDemo.confirmno=Well good thing you're inside protected from the elements! + +OptionPaneDemo.inputquestion=What is your favorite movie? +OptionPaneDemo.inputresponse=That was a pretty good movie! + +OptionPaneDemo.componenttitle=Component Dialog Example +OptionPaneDemo.componentmessage=JOptionPane can contain as many components
as you want, such as a text field: +OptionPaneDemo.componenttextfield=or a combobox: +OptionPaneDemo.component_cb1=item 1 +OptionPaneDemo.component_cb2=item 2 +OptionPaneDemo.component_cb3=item 3 +OptionPaneDemo.componentmessage2=JOptionPane can also show as many options
as you want: +OptionPaneDemo.component_op1=Yes +OptionPaneDemo.component_op2=No +OptionPaneDemo.component_op3=Maybe +OptionPaneDemo.component_op4=Probably +OptionPaneDemo.component_op5=Cancel + +OptionPaneDemo.component_r1=Upbeat and positive! I like that! Good choice. +OptionPaneDemo.component_r2=Definitely not, I wouldn't do it either. +OptionPaneDemo.component_r3= Mmmm.. yes, the situation is unclear at this
time. Check back when you know for sure.
+OptionPaneDemo.component_r4=You know you want to. I think you should
have gone for broke and pressed "Yes".
+ +### ProgressBar Demo ### + +ProgressBarDemo.accessible_description=This demo shows an example of using the JProgressBar component. +ProgressBarDemo.tooltip=JProgressBar demo +ProgressBarDemo.name=ProgressBar Demo +ProgressBarDemo.start_button=Start Loading Text +ProgressBarDemo.stop_button=Stop Loading Text +ProgressBarDemo.accessible_text_loading_progress=Text loading progress +ProgressBarDemo.accessible_text_area_name=Text progressively being loaded in + +ProgressBarDemo.accessible_text_area_description=This JTextArea is being filled with text from a buffer progressively a character at a time while the progress bar a the bottom of the window shows the loading progress + +ProgressBarDemo.text=\ +The saying goes: if an infinite number of monkeys typed on an infinite number of typewriters, eventually \n\ +all the great works of mankind would emerge. Now, with today's high speed computers, we can finally test \n\ +this theory... \n\n\ +\tLzskd jfy 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4, th;qxhz d7yty; \n\ +\tQ0hnlj 23&^ (# ljask djf y92y; fy92y; Sd6y ty;q2h nl jk la gfa harvin garvel\n\ +\tlasdfsd a83sl la8z ks8l 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4,\n\ +\tth;qxhz d7yty; Q0hnlj 23&^ nknod mrs88 jsd79lfm#%$JLaoz6df lso7dj f2 jfls\n\ +\t67d9ol1@2fou99s 1lkj2 @l.k1 2; a89o7aljf 1l3i7ou8 d8l3 lqwerty0092 #1!\n\ +\tja9o do8lkjj139rojsd9**!l6*hd # ljasd78 l2awkjad78 3ol7asljf 3 ldif & l.js\n\ +\tLl ls ewan la8uj 23lll7u 8l 3h hhxx8 8d lsd fixx 891lkjno99sl d8l@@@!!8#8\n\ +\tdfoil jarooda mklaoorj nowai the smisthliylka jkdlfjiw ladajadra lthhheeejfjl\n\ +\tdkddooolda bub mirznod of the koojgaf!! But 2 be or not to be... that is the\n\ +\tquestion. Then when shall we three meet again In thunder, lightning, or in\n\ +\train? When the hurlyburly's done, When the battle's lost and won. That will\n\ +\tbe ere the set of sun. Where the place? Upon the heath. There to meet with\n\ +\tMacbeth. But hath forth not to want..... a banana, or to be.... a banana.\n\ +\tBanana, I knew him banana. Banana banana. Banana banana banana banana.\n\ +\n\ +\n\ +\n\ +\n\ +Well... hmm.... it seemed like a good idea... + + +### ScrollPane Demo ### + +ScrollPaneDemo.accessible_description=JScrollPane Demo +ScrollPaneDemo.name=Scroll Pane Demo +ScrollPaneDemo.tooltip=JScrollPane demo +ScrollPaneDemo.crayons=Lots of Crayons +ScrollPaneDemo.colheader=Column Header +ScrollPaneDemo.rowheader=Row Header +ScrollPaneDemo.upperleft=Upper Left Corner +ScrollPaneDemo.upperright=Upper Right Column Header Corner +ScrollPaneDemo.lowerleft=Lower Left Row Header Corner + + +### Slider Demo ### + +SliderDemo.accessible_description=This demo shows an example of using the JSlider component. +SliderDemo.tooltip=JSlider demo +SliderDemo.name=Slider Demo + +SliderDemo.slidervalue=Slider Value: +SliderDemo.horizontal=Horizontal +SliderDemo.vertical=Vertical +SliderDemo.plain=Plain +SliderDemo.a_plain_slider=A Plain Slider +SliderDemo.majorticks=Major Ticks +SliderDemo.majorticksdescription=A slider showing major tick marks +SliderDemo.ticks=Minor Ticks, Snap-to-ticks and Labels +SliderDemo.minorticks=Minor Ticks +SliderDemo.minorticksdescription=A slider showing major and minor tick marks, with slider action snapping to tick marks, with some ticks visibly labeled +SliderDemo.disabled=Disabled +SliderDemo.disableddescription=A slider showing major and minor tick marks that is not enabled (cannot be manipulated + +### SplitPane Demo ### + +SplitPaneDemo.accessible_description=JSplitPane Demo +SplitPaneDemo.name=Split Pane Demo +SplitPaneDemo.tooltip=JSplitPane demo +SplitPaneDemo.earth=Mother Earth +SplitPaneDemo.moon=An Astranaut on the Moon +SplitPaneDemo.vert_split=Vertically Split +SplitPaneDemo.vert_split_mnemonic=V +SplitPaneDemo.horz_split=Horizontally Split +SplitPaneDemo.horz_split_mnemonic=r +SplitPaneDemo.cont_layout=Continuous Layout +SplitPaneDemo.cont_layout_mnemonic=C +SplitPaneDemo.one_touch_expandable=One-Touch expandable +SplitPaneDemo.one_touch_expandable_mnemonic=O +SplitPaneDemo.divider_size=Divider Size +SplitPaneDemo.divider_size_mnemonic=z +SplitPaneDemo.invalid_divider_size=Invalid Divider Size +SplitPaneDemo.error=Error +SplitPaneDemo.first_component_min_size=First Component's Minimum Size +SplitPaneDemo.first_component_min_size_mnemonic=i +SplitPaneDemo.second_component_min_size=Second Component's Minimum Size +SplitPaneDemo.second_component_min_size_mnemonic=n +SplitPaneDemo.invalid_min_size=Invalid Minimum Size +SplitPaneDemo.must_be_greater_than=must be greater than + + +### TabbedPane Demo ### + +TabbedPaneDemo.accessible_description=This demo shows an example of using the JTabbedPane component. +TabbedPaneDemo.tooltip=JTabbedPane demo +TabbedPaneDemo.name=TabbedPane Demo + +TabbedPaneDemo.bounce=
Bouncing Babies!
+TabbedPaneDemo.stephen=Stephen +TabbedPaneDemo.david=David +TabbedPaneDemo.matthew=Matthew +TabbedPaneDemo.ewan=Ewan +TabbedPaneDemo.blake=Blake +TabbedPaneDemo.brooke=Brooke +TabbedPaneDemo.laine=Laine +TabbedPaneDemo.hania=Hania + +TabbedPaneDemo.label=Tab Placement: +TabbedPaneDemo.top=Top +TabbedPaneDemo.bottom=Bottom +TabbedPaneDemo.left=Left +TabbedPaneDemo.right=Right + + +### Table Demo ### + +TableDemo.accessible_description=JTable Demo +TableDemo.name=Table Demo +TableDemo.tooltip=JTable demo +TableDemo.all_columns=All columns +TableDemo.autoresize_mode=Autoresize mode +TableDemo.cell_selection=Cell selection +TableDemo.column_boundaries=Column boundaries +TableDemo.column_selection=Column selection +TableDemo.horz_lines=Horiz. Lines +TableDemo.intercell_spacing=Inter-cell spacing +TableDemo.intercell_spacing_colon=Inter-cell spacing: +TableDemo.last_column=Last column +TableDemo.multiple_ranges=Multiple ranges +TableDemo.one_range=One range +TableDemo.reordering_allowed=Reordering allowed +TableDemo.row_height=Row height +TableDemo.row_height_colon=Row height: +TableDemo.row_selection=Row selection +TableDemo.selection_mode=Selection mode +TableDemo.subsequent_columns=Subsequent columns +TableDemo.vert_lines=Vert. Lines +TableDemo.single=Single +TableDemo.none=None +TableDemo.off=Off +TableDemo.first_name=First Name +TableDemo.last_name=Last Name +TableDemo.favorite_color=Favorite Color +TableDemo.favorite_food=Favorite Food +TableDemo.favorite_movie=Favorite Movie +TableDemo.favorite_number=Favorite Number +TableDemo.aqua=Aqua +TableDemo.beige=Beige +TableDemo.black=Black +TableDemo.blue=Blue +TableDemo.cybergreen=Cyber Green +TableDemo.darkgreen=Dark Green +TableDemo.eblue=Electric Blue +TableDemo.jfcblue=JFC Primary +TableDemo.jfcblue2=JFC Secondary +TableDemo.forestgreen=Forest Green +TableDemo.gray=Gray +TableDemo.green=Green +TableDemo.orange=Orange +TableDemo.purple=Purple +TableDemo.red=Red +TableDemo.rustred=Rust Red +TableDemo.sunpurple=Sun Purple +TableDemo.suspectpink=Suspect Pink +TableDemo.turquoise=Turquoise +TableDemo.violet=Violet +TableDemo.yellow=Yellow +TableDemo.2001=2001: A Space Odyssey +TableDemo.buckaroo=The Adventures of Buckaroo Banzai Across the 8th Dimension +TableDemo.firstsight=At First Sight +TableDemo.airplane=Airplane (the whole series) +TableDemo.aliens=Aliens +TableDemo.bicycle=The Bicycle Thief +TableDemo.bladerunner=Blade Runner (Director's Cut) +TableDemo.bluesbros=The Blues Brothers +TableDemo.brazil=Brazil +TableDemo.bugs=A Bug's Life +TableDemo.city=City of Lost Children +TableDemo.chusingura=Chusingura (1962) +TableDemo.clock=A Clockwork Orange +TableDemo.curse=Curse of the Demon +TableDemo.dasboot=Das Boot +TableDemo.dazed=Dazed and Confused +TableDemo.defending=Defending Your Life +TableDemo.eraserhead=Eraserhead +TableDemo.fifthelement=The Fifth Element +TableDemo.goodfellas=Goodfellas +TableDemo.harold=Harold & Maude +TableDemo.joyluck=The Joy Luck Club +TableDemo.jules=Jules et Jim +TableDemo.ladyvanishes=The Lady Vanishes +TableDemo.mohicans=The Last of the Mohicans +TableDemo.lonestar=Lone Star +TableDemo.man=The Man Who Knew Too Much +TableDemo.musicman=The Music Man +TableDemo.dog=My Life as a Dog +TableDemo.none=None +TableDemo.oncewest=Once Upon A Time In The West +TableDemo.pulpfiction=Pulp Fiction +TableDemo.raiders=Raiders of the Lost Ark +TableDemo.reservoir=Reservoir Dogs +TableDemo.repoman=Repo Man +TableDemo.spinaltap=This is Spinal Tap +TableDemo.schindlerslist=Schindler's List +TableDemo.starwars=Star Wars +TableDemo.stuntman=The Stuntman +TableDemo.thinman=The Thin Man +TableDemo.withnail=Withnail & I +TableDemo.labyrinth=Labyrinth +TableDemo.shawshank=The Shawshank Redemption +TableDemo.apple=Apple +TableDemo.asparagus=Asparagus +TableDemo.banana=Banana +TableDemo.broccoli=Broccoli +TableDemo.carrot=Carrot +TableDemo.cantaloupe=Cantaloupe +TableDemo.corn=Corn +TableDemo.grapes=Grapes +TableDemo.grapefruit=Grapefruit +TableDemo.kiwi=Kiwi +TableDemo.onion=Onion +TableDemo.pear=Pear +TableDemo.peach=Peach +TableDemo.pepper=Red Pepper +TableDemo.pickle=Pickle +TableDemo.pineapple=Pineapple +TableDemo.raspberry=Raspberry +TableDemo.sparegrass=Spare Grass +TableDemo.strawberry=Strawberry +TableDemo.tomato=Tomato +TableDemo.watermelon=Watermelon + +TableDemo.printing=Printing +TableDemo.fitWidth=Fit Width +TableDemo.print=Print +TableDemo.header=Header + +# This string will be formatted by a MessageFormat and +# printed at the top of each page of the printed result. +# You can use {0} to insert a page number. +TableDemo.headerText=JTable Printing + +TableDemo.footer=Footer + +# This string will be formatted by a MessageFormat and +# printed at the bottom of each page of the printed result. +# You can use {0} to insert a page number. +TableDemo.footerText=Page {0} + +TableDemo.printingResult=Printing Result +TableDemo.printingComplete=Printing Complete +TableDemo.printingCancelled=Printing Cancelled + +# This string will be formatted by a MessageFormat and +# and displayed when an exception occurs. +# {0} is used to place details of the exception. +TableDemo.printingFailed=Printing Failed: {0} + + +### ToolTip Demo ### + +ToolTipDemo.accessible_description=ToolTips show short help descriptions for a component +ToolTipDemo.accessible_cow=This is a Cow. +ToolTipDemo.tooltip=ToolTip demo +ToolTipDemo.name=ToolTip Demo +ToolTipDemo.bessie=Bessie The Cow +ToolTipDemo.cow=Cow. +ToolTipDemo.got_milk=Got Milk? +ToolTipDemo.tail=tail. +ToolTipDemo.moo=Mooooooo +ToolTipDemo.tooltip_features=In case you thought that tooltips had to be

boring, one line descriptions, the Swing! team

is happy to shatter your illusions.

In Swing, they can use HTML to

Oh, and they can be multi-line, too. + + +### Tree Demo ### + +TreeDemo.accessible_description=This demo shows shows a sample usage of a JTree component. +TreeDemo.tooltip=JTree demo +TreeDemo.name=Tree Demo +TreeDemo.music=Music + diff --git a/src/main/resources/language/swingset_ja.properties b/src/main/resources/language/swingset_ja.properties new file mode 100644 index 0000000..7e2c496 --- /dev/null +++ b/src/main/resources/language/swingset_ja.properties @@ -0,0 +1,720 @@ +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in the SwingSet demo. +# +# 1.11 06/06/06 +# @author Jeff Dinkins + +################################# +### SwingSet Infrastructure ### +################################# + +### About Box ### + +AboutBox.title=Swing\u306b\u3064\u3044\u3066 +AboutBox.ok_button_text=\u4e86\u89e3 +AboutBox.accessible_description=SwingSet2 demo is Copyright (c) 1997-2005 Sun Microsystems, Inc. All Rights Reserved. + +### Source Code ### +SourceCode.loading=\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u8aad\u8fbc\u307f\u4e2d\u3067\u3059\u3002\u5c11\u3005\u304a\u5f85\u3061\u304f\u3060\u3055\u3044\uff0e\uff0e\uff0e + +### Status ### + +Status.loading=\u8aad\u8fbc\u307f\u4e2d: +Status.popupMenuAccessible=Shift\uff0bF10\uff1aJPopup\u30c7\u30e2\u306e\u8d77\u52d5 + +### Menu Bar ### + +MenuBar.accessible_description=SwingSet2\u30c7\u30e2\u30fb\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc + + +### Frame ### + +Frame.title=SwingSet2 + + +### Tabbed Pane ### + +TabbedPane.src_label=\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9 +TabbedPane.src_tooltip=\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u53c2\u7167 + + +### Look & Feel Menu ### + +LafMenu.laf_label=\u30eb\u30c3\u30af\uff06\u30d5\u30a3\u30fc\u30eb (L) +LafMenu.laf_mnemonic=L +LafMenu.laf_accessible_description=Look & Feel\u5207\u308a\u66ff\u3048\u30e1\u30cb\u30e5\u30fc + +LafMenu.java_label=Java Look & Feel +LafMenu.java_mnemonic=J +LafMenu.java_accessible_description=Java Look & Feel + +LafMenu.mac_label=Macintosh Look & Feel +LafMenu.mac_mnemonic=M +LafMenu.mac_accessible_description=Macintosh Look & Feel + +LafMenu.motif_label=Motif Look & Feel +LafMenu.motif_mnemonic=O +LafMenu.motif_accessible_description=Motif Look & Feel + +LafMenu.windows_label=Windows\u30b9\u30bf\u30a4\u30eb\u306eLook & Feel +LafMenu.windows_mnemonic=W +LafMenu.windows_accessible_description=Windows\u30b9\u30bf\u30a4\u30eb\u306eLook & Feel + +LafMenu.gtk_label=GTK\u30b9\u30bf\u30a4\u30eb\u306eLook & Feel +LafMenu.gtk_mnemonic=G +LafMenu.gtk_accessible_description=GTK\u30b9\u30bf\u30a4\u30eb\u306eLook & Feel + + +### Themes Menu ### + +ThemesMenu.themes_label=\u30c6\u30fc\u30de (T) +ThemesMenu.themes_mnemonic=T +ThemesMenu.themes_accessible_description=Metal\u30c6\u30fc\u30de\u306e\u30ab\u30e9\u30fc\u5207\u308a\u66ff\u3048\u30e1\u30cb\u30e5\u30fc + +ThemesMenu.aqua_label=\u30a2\u30af\u30a2 (Q) +ThemesMenu.aqua_mnemonic=Q +ThemesMenu.aqua_accessible_description=\u9752\u7dd1\u3092\u57fa\u8abf\u3068\u3057\u305fMetal\u30c6\u30fc\u30de + +ThemesMenu.charcoal_label=\u30c1\u30e3\u30b3\u30fc\u30eb (C) +ThemesMenu.charcoal_mnemonic=C +ThemesMenu.charcoal_accessible_description=\u30c0\u30fc\u30af\u30b0\u30ec\u30fc\u3092\u57fa\u8abf\u3068\u3057\u305fMetal\u30c6\u30fc\u30de + +ThemesMenu.contrast_label=\u30cf\u30a4\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8 (H) +ThemesMenu.contrast_mnemonic=H +ThemesMenu.contrast_accessible_description=\u30cf\u30a4\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u306eMetal\u30c6\u30fc\u30de + +ThemesMenu.ocean_label=\u30aa\u30fc\u30b7\u30e3\u30f3 (O) +ThemesMenu.ocean_mnemonic=O +ThemesMenu.ocean_accessible_description=\u30aa\u30fc\u30b7\u30e3\u30f3\u306eMetal\u30c6\u30fc\u30de + +ThemesMenu.steel_label=\u30b9\u30c1\u30fc\u30eb (S) +ThemesMenu.steel_mnemonic=S +ThemesMenu.steel_accessible_description=\u9752\u7d2b\u306eMetal\u30c6\u30fc\u30de + +ThemesMenu.emerald_label=\u30a8\u30e1\u30e9\u30eb\u30c9 (E) +ThemesMenu.emerald_mnemonic=E +ThemesMenu.emerald_accessible_description=\u7dd1\u3092\u57fa\u8abf\u3068\u3057\u305fMetal\u30c6\u30fc\u30de + +ThemesMenu.ruby_label=\u30eb\u30d3\u30fc (R) +ThemesMenu.ruby_mnemonic=R +ThemesMenu.ruby_accessible_description=\u8d64\u3092\u57fa\u8abf\u3068\u3057\u305fMetal\u30c6\u30fc\u30de + + +### Font SubMenu (under Themes) +FontMenu.fonts_label=\u30d5\u30a9\u30f3\u30c8 (F) +FontMenu.fonts_mnemonic=F +FontMenu.fonts_accessible_description=Java Look & Feel\u7528\u306e\u30d5\u30a9\u30f3\u30c8\u9078\u629e\u30e1\u30cb\u30e5\u30fc + +FontMenu.bold_label=\u592a\u5b57 (B) +FontMenu.bold_mnemonic=B +FontMenu.bold_accessible_description=\u592a\u5b57\u30d5\u30a9\u30f3\u30c8\u3092\u4f7f\u7528\u3059\u308b + +FontMenu.plain_label=\u30d7\u30ec\u30fc\u30f3 (P) +FontMenu.plain_mnemonic=p +FontMenu.plain_accessible_description=\u30d7\u30ec\u30fc\u30f3\u30d5\u30a9\u30f3\u30c8\u3092\u4f7f\u7528\u3059\u308b + + +### Audio SubMenu (under Themes) ### + +AudioMenu.audio_label=\u30aa\u30fc\u30c7\u30a3\u30aa (A) +AudioMenu.audio_mnemonic=A +AudioMenu.audio_accessible_description=Java Look & Feel\u5185\u3067\u306e\u52b9\u679c\u97f3\u306e\u5207\u308a\u66ff\u3048\u30e1\u30cb\u30e5\u30fc + +AudioMenu.on_label=\u30aa\u30f3 (O) +AudioMenu.on_mnemonic=O +AudioMenu.on_accessible_description=Java Look & Feel\u306e\u5168\u3066\u306e\u52b9\u679c\u97f3\u3092\u30aa\u30f3\u306b\u3059\u308b + +AudioMenu.default_label=\u30c7\u30d5\u30a9\u30eb\u30c8 (D) +AudioMenu.default_mnemonic=D +AudioMenu.default_accessible_description=Java Look & Feel\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u52b9\u679c\u97f3\u306e\u8a2d\u5b9a\u306b\u623b\u3059 + +AudioMenu.off_label=\u30aa\u30d5 (F) +AudioMenu.off_mnemonic=f +AudioMenu.off_accessible_description=Java Look & Feel\u306e\u5168\u3066\u306e\u52b9\u679c\u97f3\u3092\u30aa\u30d5\u306b\u3059\u308b + +### Options Menu ### + +OptionsMenu.options_label=\u30aa\u30d7\u30b7\u30e7\u30f3 (P) +OptionsMenu.options_mnemonic=P +OptionsMenu.options_accessible_description=\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u9078\u629e\u30e1\u30cb\u30e5\u30fc + +OptionsMenu.tooltip_label=\u30c4\u30fc\u30eb\u30c1\u30c3\u30d7\u3092\u6709\u52b9\u306b\u3059\u308b (T) +OptionsMenu.tooltip_mnemonic=T +OptionsMenu.tooltip_accessible_description=\u30c4\u30fc\u30eb\u30c1\u30c3\u30d7\u3092\u6709\u52b9\u306b\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u9078\u629e + +OptionsMenu.dragEnabled_label=\u30c9\u30e9\u30c3\u30b0\u3092\u6709\u52b9\u306b\u3059\u308b (D) +OptionsMenu.dragEnabled_mnemonic=D +OptionsMenu.dragEnabled_accessible_description=\u30c9\u30e9\u30c3\u30b0\u3092\u6709\u52b9\u306b\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u9078\u629e + +### File Menu ### + +FileMenu.file_label=\u30d5\u30a1\u30a4\u30eb (F) +FileMenu.file_mnemonic=F +FileMenu.accessible_description=\u30d5\u30a1\u30a4\u30eb\u30fb\u30e1\u30cb\u30e5\u30fc +FileMenu.about_label=Swing\u306b\u3064\u3044\u3066 (B) +FileMenu.about_mnemonic=b +FileMenu.about_accessible_description=Swing\u306b\u3064\u3044\u3066\u306e\u8aac\u660e +FileMenu.open_label=\u958b\u304f (O) +FileMenu.open_mnemonic=O +FileMenu.open_accessible_description=\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u305f\u3081\u306e\u30e1\u30cb\u30e5\u30fc\u30a2\u30a4\u30c6\u30e0 +FileMenu.save_label=\u4fdd\u5b58 (S) +FileMenu.save_mnemonic=S +FileMenu.save_accessible_description=\u30d5\u30a1\u30a4\u30eb\u3092\u4e0a\u66f8\u304d\u4fdd\u5b58\u3059\u308b\u305f\u3081\u306e\u30e1\u30cb\u30e5\u30fc\u30a2\u30a4\u30c6\u30e0 +FileMenu.save_as_label=\u5225\u540d\u4fdd\u5b58 (A) +FileMenu.save_as_mnemonic=A +FileMenu.save_as_accessible_description=\u65b0\u3057\u3044\u540d\u524d\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58\u3059\u308b\u305f\u3081\u306e\u30e1\u30cb\u30e5\u30fc\u30a2\u30a4\u30c6\u30e0 +FileMenu.exit_label=\u7d42\u4e86 (X) +FileMenu.exit_mnemonic=x +FileMenu.exit_accessible_description=SwingSet2\u30c7\u30e2\u306e\u7d42\u4e86 + +### Multi-Screen menu ### +MultiMenu.multi_label=\u30b9\u30af\u30ea\u30fc\u30f3\u30fb\u30e2\u30fc\u30c9 (M) +MultiMenu.multi_mnemonic=M +MultiMenu.multi_accessible_description=\u30b9\u30af\u30ea\u30fc\u30f3\u30fb\u30e1\u30cb\u30e5\u30fc +MultiMenu.all_label=\u30de\u30eb\u30c1\u30fb\u30b9\u30af\u30ea\u30fc\u30f3 (A) +MultiMenu.all_mnemonic=A +MultiMenu.all_accessible_description=SwingSet2\u30c7\u30e2\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u5168\u3066\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u306b\u4f5c\u6210\u3059\u308b +MultiMenu.single_label=\u30b7\u30f3\u30b0\u30eb\u30fb\u30b9\u30af\u30ea\u30fc\u30f3 +MultiMenu.single_accessible_description=SwingSet2\u30c7\u30e2\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\uff11\u3064\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u3060\u3051\u306b\u4f5c\u6210\u3059\u308b + + +################################ +### DEMOS ### +################################ + +### Button Demo ### + +ButtonDemo.accessible_description=ButtonDemo\u3067\u306f\u3001JButton\u3001JRadioButton\u3001JToggleButton\u3001JCheckBox\u306e\u4f7f\u7528\u4f8b\u3092\u304a\u898b\u305b\u3057\u307e\u3059\u3002 +ButtonDemo.tooltip=JButton, JRadioButton, JToggleButton, JCheckbox\u30c7\u30e2 +ButtonDemo.name=Button\u30c7\u30e2 + +ButtonDemo.buttons=\u30dc\u30bf\u30f3 +ButtonDemo.checkboxes=\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9 +ButtonDemo.radiobuttons=\u30e9\u30b8\u30aa\u30dc\u30bf\u30f3 +ButtonDemo.togglebuttons=\u30c8\u30b0\u30eb\u30dc\u30bf\u30f3 + +ButtonDemo.textbuttons=\u30c6\u30ad\u30b9\u30c8\u30dc\u30bf\u30f3 +ButtonDemo.imagebuttons=\u30a4\u30e1\u30fc\u30b8\u30dc\u30bf\u30f3 +ButtonDemo.textradiobuttons=\u30c6\u30ad\u30b9\u30c8\u30e9\u30b8\u30aa\u30dc\u30bf\u30f3 +ButtonDemo.imageradiobuttons=\u30a4\u30e1\u30fc\u30b8\u30e9\u30b8\u30aa\u30dc\u30bf\u30f3 +ButtonDemo.texttogglebuttons=\u30c6\u30ad\u30b9\u30c8\u30c8\u30b0\u30eb\u30dc\u30bf\u30f3 +ButtonDemo.imagetogglebuttons=\u30a4\u30e1\u30fc\u30b8\u30c8\u30b0\u30eb\u30dc\u30bf\u30f3 +ButtonDemo.textcheckboxes=\u30c6\u30ad\u30b9\u30c8\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9 +ButtonDemo.imagecheckboxes=\u30a4\u30e1\u30fc\u30b8\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9 + +ButtonDemo.button1=\uff11 +ButtonDemo.button2=\uff12 +ButtonDemo.button3=\uff13\uff01 + +ButtonDemo.radio1=\u30dc\u30bf\u30f3\uff11 +ButtonDemo.radio2=\u30dc\u30bf\u30f3\uff12 +ButtonDemo.radio3=\u30dc\u30bf\u30f3\uff13 +ButtonDemo.radioX=\uff13(HTML!) + +ButtonDemo.check1=\uff11 +ButtonDemo.check2=\uff12 +ButtonDemo.check3=\uff13 +ButtonDemo.checkX=\uff13(HTML!) + +ButtonDemo.customradio=\u30ab\u30b9\u30bf\u30e0\u306e\u30e1\u30bf\u30ea\u30c3\u30af\u8abf\u30e9\u30b8\u30aa\u30dc\u30bf\u30f3 +ButtonDemo.customcheck=\u30ab\u30b9\u30bf\u30e0\u306e\u96fb\u7403\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9 + +ButtonDemo.phone=\u96fb\u8a71 +ButtonDemo.write=\u30e1\u30e2 +ButtonDemo.peace=\u30d4\u30fc\u30b9 + +ButtonDemo.controlpanel_label=\u8868\u793a\u30aa\u30d7\u30b7\u30e7\u30f3\uff1a +ButtonDemo.paintborder=\u30dc\u30fc\u30c0\u30fc\u8868\u793a (B) +ButtonDemo.paintborder_tooltip=\u30dc\u30fc\u30c0\u30fc\u8868\u793a\u30aa\u30f3\uff0f\u30aa\u30d5\u5207\u308a\u66ff\u3048 +ButtonDemo.paintborder_mnemonic=b +ButtonDemo.paintfocus=\u30d5\u30a9\u30fc\u30ab\u30b9\u8868\u793a (F) +ButtonDemo.paintfocus_tooltip=\u30d5\u30a9\u30fc\u30ab\u30b9\u3092\u8868\u793a\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u9078\u629e +ButtonDemo.paintfocus_mnemonic=f +ButtonDemo.enabled=\u6709\u52b9\u5316 (E) +ButtonDemo.enabled_tooltip=\u30dc\u30bf\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u9078\u629e +ButtonDemo.enabled_mnemonic=e +ButtonDemo.contentfilled=\u30da\u30a4\u30f3\u30c8 (I) +ButtonDemo.contentfilled_tooltip=\u30b3\u30f3\u30c6\u30f3\u30c4\u30a8\u30ea\u30a2\u3092\u30da\u30a4\u30f3\u30c8\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u9078\u629e +ButtonDemo.contentfilled_mnemonic=i + +ButtonDemo.padamount_label=\u4f59\u767d\uff1a +ButtonDemo.default=\u30c7\u30d5\u30a9\u30eb\u30c8 (D) +ButtonDemo.default_tooltip=\u30e9\u30d9\u30eb\u3068\u30dc\u30fc\u30c0\u30fc\u30e9\u30a4\u30f3\u306e\u9593\u306b\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d4\u30af\u30bb\u30eb\u6570\u306e\u4f59\u767d\u3092\u5165\u308c\u308b +ButtonDemo.default_mnemonic=d +ButtonDemo.zero=0 +ButtonDemo.zero_mnemonic=0 +ButtonDemo.zero_tooltip=\u30dc\u30fc\u30c0\u30fc\u30e9\u30a4\u30f3\u3068\u30e9\u30d9\u30eb\u306e\u9593\u306b\u4f59\u767d\u3092\u5165\u308c\u306a\u3044 +ButtonDemo.ten=10 +ButtonDemo.ten_mnemonic=1 +ButtonDemo.ten_tooltip=\u30dc\u30fc\u30c0\u30fc\u30e9\u30a4\u30f3\u3068\u30e9\u30d9\u30eb\u306e\u9593\u306b10\u30d4\u30af\u30bb\u30eb\u306e\u4f59\u767d\u3092\u5165\u308c\u308b + +LayoutControlPanel.textposition_label=\u30dc\u30bf\u30f3\u4f4d\u7f6e\uff1a +LayoutControlPanel.contentalignment_label=\u30c6\u30ad\u30b9\u30c8\u4f4d\u7f6e\uff1a + +### ColorChooser Demo ### + +ColorChooserDemo.accessible_description=ColorChooser\u3092\u4f7f\u3046\u3068\u3001RBG\u5024\u3084HSB\u5024\u3092\u76f4\u63a5\u6307\u5b9a\u3057\u305f\u308a\u3001\u307e\u305f\u30d1\u30ec\u30c3\u30c8\u3067\u8272\u3092\u9078\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 +ColorChooserDemo.tooltip=JColorChooser\u30c7\u30e2 +ColorChooserDemo.name=ColorChooser\u30c7\u30e2 +ColorChooserDemo.chooser_title=\u8272\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044 +ColorChooserDemo.background=\u80cc\u666f +ColorChooserDemo.grad_a=\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u57fa\u672c\u8272\uff11 +ColorChooserDemo.grad_b=\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u57fa\u672c\u8272\uff12 +ColorChooserDemo.outer_line=\u5883\u754c\u7dda +ColorChooserDemo.cup=Java\u306e\u30c8\u30ec\u30fc\u30c9\u30de\u30fc\u30af\u3067\u3042\u308b\u30b3\u30fc\u30d2\u30fc\u30ab\u30c3\u30d7\u306e\u30a4\u30e1\u30fc\u30b8 + +### ComboBox Demo ### + +ComboBoxDemo.accessible_description=\u3053\u306e\u30c7\u30e2\u3067\u306f\u3001JComboBox\u306e\u4f7f\u7528\u4f8b\u3092\u304a\u898b\u305b\u3057\u307e\u3059\u3002 +ComboBoxDemo.tooltip=JComboBox\u30c7\u30e2 +ComboBoxDemo.name=ComboBox\u30c7\u30e2 + +ComboBoxDemo.hair=\u9aea +ComboBoxDemo.eyes=\u76ee +ComboBoxDemo.mouth=\u53e3 +ComboBoxDemo.presets=\u30d7\u30ea\u30bb\u30c3\u30c8\uff1a + +ComboBoxDemo.preset1=\u30d5\u30a3\u30ea\u30c3\u30d7\u3001\u30cf\u30ef\u30fc\u30c9\u3001 \u30b8\u30a7\u30d5 +ComboBoxDemo.preset2=\u30b8\u30a7\u30d5\u3001 \u30e9\u30ea\u30fc\u3001\u30d5\u30a3\u30ea\u30c3\u30d7 +ComboBoxDemo.preset3=\u30cf\u30ef\u30fc\u30c9, \u30b9\u30b3\u30c3\u30c8, \u30cf\u30f3\u30b9 +ComboBoxDemo.preset4=\u30d5\u30a3\u30ea\u30c3\u30d7, \u30b8\u30a7\u30d5, \u30cf\u30f3\u30b9 +ComboBoxDemo.preset5=\u30d6\u30ec\u30f3\u30c8, \u30b8\u30e7\u30f3, \u30b9\u30b3\u30c3\u30c8 +ComboBoxDemo.preset6=\u30e9\u30e9, \u30e9\u30ea\u30fc, \u30ea\u30b5 +ComboBoxDemo.preset7=\u30b8\u30a7\u30fc\u30e0\u30b9, \u30d5\u30a3\u30ea\u30c3\u30d7, \u30de\u30a4\u30b1\u30eb +ComboBoxDemo.preset8=\u30d5\u30a3\u30ea\u30c3\u30d7, \u30ea\u30b5, \u30d6\u30ec\u30f3\u30c8 +ComboBoxDemo.preset9=\u30b8\u30a7\u30fc\u30e0\u30b9,\u30d5\u30a3\u30ea\u30c3\u30d7, \u30b8\u30e7\u30f3 +ComboBoxDemo.preset10=\u30e9\u30e9, \u30b8\u30e7\u30f3, \u30b9\u30b3\u30c3\u30c8 + + +ComboBoxDemo.hair_description=\u9aea\uff1a +ComboBoxDemo.eyes_description=\u76ee\u3068\u9f3b\uff1a +ComboBoxDemo.mouth_description=\u53e3\uff1a + +ComboBoxDemo.amy=\u30a8\u30a4\u30df\u30fc +ComboBoxDemo.brent=\u30d6\u30ec\u30f3\u30c8 +ComboBoxDemo.georges=\u30b8\u30e7\u30eb\u30b8\u30e5 +ComboBoxDemo.hans=\u30cf\u30f3\u30b9 +ComboBoxDemo.howard=\u30cf\u30ef\u30fc\u30c9 +ComboBoxDemo.james=\u30b8\u30a7\u30fc\u30e0\u30b9 +ComboBoxDemo.jeff=\u30b8\u30a7\u30d5 +ComboBoxDemo.jon=\u30b8\u30e7\u30f3 +ComboBoxDemo.lara=\u30e9\u30e9 +ComboBoxDemo.larry=\u30e9\u30ea\u30fc +ComboBoxDemo.lisa=\u30ea\u30b5 +ComboBoxDemo.michael=\u30de\u30a4\u30b1\u30eb +ComboBoxDemo.philip=\u30d5\u30a3\u30ea\u30c3\u30d7 +ComboBoxDemo.scott=\u30b9\u30b3\u30c3\u30c8 + +### FileChooser Demo ### + +FileChooserDemo.accessible_description=FileChooser\u3092\u4f7f\u3046\u3068\u3001\u30aa\u30fc\u30d7\u30f3\u3001\u4f5c\u6210\u3001\u4fdd\u5b58\u306e\u305f\u3081\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u9078\u629e\u304c\u3067\u304d\u307e\u3059\u3002 +FileChooserDemo.tooltip=JFileChooser\u30c7\u30e2 +FileChooserDemo.name=FileChooser\u30c7\u30e2 + +FileChooserDemo.plainbutton=\u6a19\u6e96\u306eJFileChooser\u3092\u8868\u793a +FileChooserDemo.previewbutton=\u30d7\u30ec\u30d3\u30e5\u30fc\u4ed8\u304dJFileChooser\u3092\u8868\u793a +FileChooserDemo.custombutton=\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u305fJFileChooser\u3092\u8868\u793a + +FileChooserDemo.description=\ +  \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u597d\u304d\u306a\u3060\u3051\u4f7f\u3063\u3066\u3001\u72ec\u81ea\u306eFileChooser\u3092\u7c21\u5358\u306b\u4f5c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 + +FileChooserDemo.filterdescription=\u753b\u50cf\u30d5\u30a1\u30a4\u30eb + +FileChooserDemo.nofileselected=\u6700\u521d\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +FileChooserDemo.thefile=\u30d5\u30a1\u30a4\u30eb\u540d\uff1a +FileChooserDemo.isprobably=\u306f\u304a\u305d\u3089\u304f\u753b\u50cf\u30c7\u30fc\u30bf\u3067\u3059\u3002 + +FileChooserDemo.helptext=\ +\u691c\u7d22: \u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b
\ +\u8a73\u7d30: \u30d5\u30a1\u30a4\u30eb\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u8868\u793a\u3059\u308b
\ +\u4e86\u89e3: \u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3059\u308b
\ +\u53d6\u6d88\u3057: \u4f55\u3082\u305b\u305a\u306b\u3053\u306e\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u9589\u3058\u308b\ + + +FileChooserDemo.findquestion=\u691c\u7d22\uff1a +FileChooserDemo.findresponse=
\ +\u3042\u306a\u305f\u3001\u307b\u3093\u3068\u306b\u79c1\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3057\u3066\u307b\u3057\u3044\u3068\u601d\u3063\u3066\u308b\u3093\u3067\u3059\u304b\uff1f\uff01\uff1f\uff01
\ +\u305d\u3093\u306a\u3053\u3068\u3067\u304d\u306a\u3044\u3067\u3059\u3088\u3001\u3084\u308a\u65b9\u77e5\u3089\u306a\u3044\u3093\u3067\u3059\u304b\u3089\u3002\u79c1\u306f\u305f\u3060\u306e\u30c7\u30e2\u30fb\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\u3088\uff01\ +
+ +FileChooserDemo.dialogtitle=\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u305fFileChooser +FileChooserDemo.help=\u30d8\u30eb\u30d7 +FileChooserDemo.find=\u691c\u51fa +FileChooserDemo.ok=\u4e86\u89e3 +FileChooserDemo.about=\u8a73\u7d30 +FileChooserDemo.cancel=\u53d6\u6d88\u3057 + +### Html Demo ### + +HtmlDemo.accessible_description=\u3053\u306e\u30c7\u30e2\u3067\u306f\u3001JEditorPane\u3067HTML\u30c6\u30ad\u30b9\u30c8\u304c\u3069\u306e\u3088\u3046\u306b\u8868\u793a\u3055\u308c\u308b\u304b\u3092\u304a\u898b\u305b\u3057\u307e\u3059\u3002 +HtmlDemo.tooltip=JEditorPane HTML\u30c7\u30e2 +HtmlDemo.name=EditorPane HTML\u30c7\u30e2 +HtmlDemo.filename=swing.html + + +### Internal Frame Demo ### + +InternalFrameDemo.accessible_description=JInternalFrame\u30c7\u30e2 +InternalFrameDemo.create_frames_label=\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3055\u308c\u305f\u5185\u90e8\u30d5\u30ec\u30fc\u30e0\u306e\u4f5c\u6210 +InternalFrameDemo.title_text_field_label=\u30d5\u30ec\u30fc\u30e0\u306e\u30bf\u30a4\u30c8\u30eb\uff1a +InternalFrameDemo.frame_label=\u30d5\u30ec\u30fc\u30e0 +InternalFrameDemo.palette_label=\u5185\u90e8\u30d5\u30ec\u30fc\u30e0\u306e\u4f5c\u6210 +InternalFrameDemo.name=InternalFrame\u30c7\u30e2 +InternalFrameDemo.tooltip=JInternalFrame\u30c7\u30e2 +InternalFrameDemo.closable_label=\u30af\u30ed\u30fc\u30ba\u53ef +InternalFrameDemo.resizable_label=\u30ea\u30b5\u30a4\u30ba\u53ef +InternalFrameDemo.iconifiable_label=\u6700\u5c0f\u5316\u53ef +InternalFrameDemo.maximizable_label=\u6700\u5927\u5316\u53ef +InternalFrameDemo.fish=Fishie Fish Fish Fish +InternalFrameDemo.moon=Goodnight Moon +InternalFrameDemo.sun=Here comes the sun... +InternalFrameDemo.cab=Anyone need a Taxi? + + +### List Demo ### + +ListDemo.accessible_description=JList\u30c7\u30e2 +ListDemo.name=List\u30c7\u30e2 +ListDemo.tooltip=JList\u30c7\u30e2 +ListDemo.prefixes=\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9 +ListDemo.suffixes=\u30b5\u30d5\u30a3\u30c3\u30af\u30b9 +ListDemo.count_label=\u751f\u6210\u3055\u308c\u305f\u30a8\u30f3\u30c8\u30ea\u306e\u6570\uff1a +ListDemo.all=\u5168\u3066 +ListDemo.none=\u306a\u3057 +ListDemo.red=Red Company Logo Image +ListDemo.yellow=Yellow Company Logo Image +ListDemo.blue=Blue Company Logo Image +ListDemo.gray=Gray Company Logo Image +ListDemo.green=Green Company Logo Image +ListDemo.magenta=Magenta Company Logo Image +ListDemo.cyan=Cyan Company Logo Image +ListDemo.description=

\ +\u3053\u306e\u30c7\u30e2\u3067\u306f\u3001\uff12\u3064\u306e\u7570\u306a\u308b\u65b9\u6cd5\u3067\u4f5c\u3063\u305f\u30ea\u30b9\u30c8\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002\u53f3\u5074\u306e\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3068\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u306e\u30ea\u30b9\u30c8\u306f\u3001\u5782\u76f4\u914d\u7f6e\u306eBoxLayout\u3092\u30ec\u30a4\u30a2\u30a6\u30c8\u30de\u30cd\u30fc\u30b8\u30e3\u3068\u3059\u308bJPanel\u3068JScrollPane\u3092\u7d44\u307f\u5408 \u308f\u305b\u305f\u3082\u306e\u3067\u3059\u3002\u5de6\u5074\u306e\u9078\u629e\u3055\u308c\u305f\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3068\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u3092\u542b\u3080\u4f1a\u793e\u540d\u306e\u30ea\u30b9\u30c8\u306f\u3001JList\u3068JScrollPane\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u3082\u306e\u3067\u3059\u3002 + + +### OptionPane Demo ### + +OptionPaneDemo.accessible_description=OptionPane\u30c7\u30e2\u3067\u306f\u3001JOptionPane\u3092\u4f7f\u3063\u305f\u4f55\u901a\u308a\u3082\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u4f7f\u7528\u4f8b\u3092\u304a\u898b\u305b\u3057\u307e\u3059\u3002 +OptionPaneDemo.tooltip=JOptionPane\u30c7\u30e2 +OptionPaneDemo.name=OptionPane\u30c7\u30e2 + +OptionPaneDemo.warningbutton=\u8b66\u544a\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u8868\u793a +OptionPaneDemo.componentbutton=\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u8868\u793a +OptionPaneDemo.inputbutton=\u5165\u529b\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u8868\u793a +OptionPaneDemo.confirmbutton=\u78ba\u8a8d\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u8868\u793a +OptionPaneDemo.messagebutton=\u30e1\u30c3\u30bb\u30fc\u30b8\u30fb\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u8868\u793a + +OptionPaneDemo.warningtitle=\u8b66\u544a\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u4f8b +OptionPaneDemo.warningtext=

This is a test of the Emergency Broadcast System. This is
only a test
. The webmaster of your local intranet, in voluntary
cooperation with the Federal and State authorities, have
developed this system to keep you informed in the event of an
emergency. If this had been an actual emergency, the signal you
just heard would have been followed by official information, news
or instructions. This concludes this test of the Emergency
Broadcast System
.


Developer Note: This dialog demo used HTML for text formatting.

+ +OptionPaneDemo.messagetext=Message in a Bottle (yeah) + +OptionPaneDemo.confirmquestion=Is the sun shining outside today? +OptionPaneDemo.confirmyes=Well what are you doing playing on the computer?
Get outside! Take a trip to the beach! Get a little sun! +OptionPaneDemo.confirmno=Well good thing you're inside protected from the elements! + +OptionPaneDemo.inputquestion=What is your favorite movie? +OptionPaneDemo.inputresponse=That was a pretty good movie! + +OptionPaneDemo.componenttitle=\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30fb\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u4f8b +OptionPaneDemo.componentmessage=JOptionPane can contain as many components
as you want, such as a text field: +OptionPaneDemo.componenttextfield=or a combobox: +OptionPaneDemo.component_cb1=item 1 +OptionPaneDemo.component_cb2=item 2 +OptionPaneDemo.component_cb3=item 3 +OptionPaneDemo.componentmessage2=JOptionPane can also show as many options
as you want: +OptionPaneDemo.component_op1=Yes +OptionPaneDemo.component_op2=No +OptionPaneDemo.component_op3=Maybe +OptionPaneDemo.component_op4=Probably +OptionPaneDemo.component_op5=Cancel + +OptionPaneDemo.component_r1=Upbeat and positive! I like that! Good choice. +OptionPaneDemo.component_r2=Definitely not, I wouldn't do it either. +OptionPaneDemo.component_r3= Mmmm.. yes, the situation is unclear at this
time. Check back when you know for sure.
+OptionPaneDemo.component_r4=You know you want to. I think you should
have gone for broke and pressed "Yes".
+ +### ProgressBar Demo ### + +ProgressBarDemo.accessible_description=\u3053\u306e\u30c7\u30e2\u3067\u306f\u3001JprogressBar\u306e\u4f7f\u7528\u4f8b\u3092\u304a\u898b\u305b\u3057\u307e\u3059\u3002 +ProgressBarDemo.tooltip=JProgressBar\u30c7\u30e2 +ProgressBarDemo.name=ProgressBar\u30c7\u30e2 +ProgressBarDemo.start_button=\u30c6\u30ad\u30b9\u30c8\u306e\u30ed\u30fc\u30c9\u958b\u59cb +ProgressBarDemo.stop_button=\u30c6\u30ad\u30b9\u30c8\u306e\u30ed\u30fc\u30c9\u4e2d\u6b62 +ProgressBarDemo.accessible_text_loading_progress=\u30c6\u30ad\u30b9\u30c8\u306e\u30ed\u30fc\u30c9\u4e2d\uff0e\uff0e\uff0e +ProgressBarDemo.accessible_text_area_name=\u30ed\u30fc\u30c9\u4e2d\u306e\u30c6\u30ad\u30b9\u30c8 + +ProgressBarDemo.accessible_text_area_description=This JTextArea is being filled with text from a buffer progressively a character at a time while the progress bar a the bottom of the window shows the loading progress + +ProgressBarDemo.text=\ +The saying goes: if an infinite number of monkeys typed on an infinite number of typewriters, eventually \n\ +all the great works of mankind would emerge. Now, with today's high speed computers, we can finally test \n\ +this theory... \n\n\ +\tLzskd jfy 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4, th;qxhz d7yty; \n\ +\tQ0hnlj 23&^ (# ljask djf y92y; fy92y; Sd6y ty;q2h nl jk la gfa harvin garvel\n\ +\tlasdfsd a83sl la8z ks8l 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4,\n\ +\tth;qxhz d7yty; Q0hnlj 23&^ nknod mrs88 jsd79lfm#%$JLaoz6df lso7dj f2 jfls\n\ +\t67d9ol1@2fou99s 1lkj2 @l.k1 2; a89o7aljf 1l3i7ou8 d8l3 lqwerty0092 #1!\n\ +\tja9o do8lkjj139rojsd9**!l6*hd # ljasd78 l2awkjad78 3ol7asljf 3 ldif & l.js\n\ +\tLl ls ewan la8uj 23lll7u 8l 3h hhxx8 8d lsd fixx 891lkjno99sl d8l@@@!!8#8\n\ +\tdfoil jarooda mklaoorj nowai the smisthliylka jkdlfjiw ladajadra lthhheeejfjl\n\ +\tdkddooolda bub mirznod of the koojgaf!! But 2 be or not to be... that is the\n\ +\tquestion. Then when shall we three meet again In thunder, lightning, or in\n\ +\train? When the hurlyburly's done, When the battle's lost and won. That will\n\ +\tbe ere the set of sun. Where the place? Upon the heath. There to meet with\n\ +\tMacbeth. But hath forth not to want..... a banana, or to be.... a banana.\n\ +\tBanana, I knew him banana. Banana banana. Banana banana banana banana.\n\ +\n\ +\n\ +\n\ +\n\ +Well... hmm.... it seemed like a good idea... + + +### ScrollPane Demo ### + +ScrollPaneDemo.accessible_description=JScrollPane\u30c7\u30e2 +ScrollPaneDemo.name=ScrollPane\u30c7\u30e2 +ScrollPaneDemo.tooltip=JScrollPane\u30c7\u30e2 +ScrollPaneDemo.crayons=\u305f\u304f\u3055\u3093\u306e\u30af\u30ec\u30e8\u30f3 +ScrollPaneDemo.colheader=\u5217\u30d8\u30c3\u30c0 +ScrollPaneDemo.rowheader=\u884c\u30d8\u30c3\u30c0 +ScrollPaneDemo.upperleft=\u5de6\u4e0a\u30b3\u30fc\u30ca\u30fc +ScrollPaneDemo.upperright=\u53f3\u4e0a\u306e\u5217\u30d8\u30c3\u30c0\u30fb\u30b3\u30fc\u30ca\u30fc +ScrollPaneDemo.lowerleft=\u5de6\u4e0b\u306e\u884c\u30d8\u30c3\u30c0\u30fb\u30b3\u30fc\u30ca\u30fc + + +### Slider Demo ### + +SliderDemo.accessible_description=\u3053\u306e\u30c7\u30e2\u3067\u306f\u3001JSlider\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f7f\u7528\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002 +SliderDemo.tooltip=JSlider\u30c7\u30e2 +SliderDemo.name=Slider\u30c7\u30e2 + +SliderDemo.slidervalue=Slider\u306e\u5024: +SliderDemo.horizontal=\u6c34\u5e73 +SliderDemo.vertical=\u5782\u76f4 +SliderDemo.plain=\u7121\u5730 +SliderDemo.a_plain_slider=\u7121\u5730\u306e\u30b9\u30e9\u30a4\u30c0 +SliderDemo.majorticks=\u5927\u76ee\u76db\u308a +SliderDemo.majorticksdescription=\u5927\u76ee\u76db\u308a\u3092\u6301\u3064\u30b9\u30e9\u30a4\u30c0 +SliderDemo.ticks=\u5927\u5c0f\u76ee\u76db\u308a\u3068\u30e9\u30d9\u30eb\uff08SnapToTicks=true\uff09 +SliderDemo.minorticks=\u5c0f\u76ee\u76db\u308a +SliderDemo.minorticksdescription=SnapToTicks=true\u3067\u5927\u76ee\u76db\u308a\u3001\u5c0f\u76ee\u76db\u308a\u304a\u3088\u3073\u30e9\u30d9\u30eb\u4ed8\u304d\u306e\u30b9\u30e9\u30a4\u30c0 +SliderDemo.disabled=\u7121\u52b9 +SliderDemo.disableddescription=\u5927\u5c0f\u306e\u76ee\u76db\u308a\u3092\u6301\u3064\u7121\u52b9\u306a\u30b9\u30e9\u30a4\u30c0\uff08\u64cd\u4f5c\u4e0d\u53ef\uff09 + +### SplitPane Demo ### + +SplitPaneDemo.accessible_description=JSplitPane\u30c7\u30e2 +SplitPaneDemo.name=SplitPane\u30c7\u30e2 +SplitPaneDemo.tooltip=JSplitPane\u30c7\u30e2 +SplitPaneDemo.earth=\u5730\u7403 +SplitPaneDemo.moon=\u5b87\u5b99\u98db\u884c\u58eb +SplitPaneDemo.vert_split=\u5782\u76f4\u5206\u5272 (V) +SplitPaneDemo.vert_split_mnemonic=V +SplitPaneDemo.horz_split=\u6c34\u5e73\u5206\u5272 (R) +SplitPaneDemo.horz_split_mnemonic=r +SplitPaneDemo.cont_layout=\u30ec\u30a4\u30a2\u30a6\u30c8\u5909\u66f4\u4e2d\u306e\u753b\u50cf\u66f4\u65b0 (C) +SplitPaneDemo.cont_layout_mnemonic=C +SplitPaneDemo.one_touch_expandable=One-Touch expandable\u30c7\u30a3\u30d0\u30a4\u30c0 +SplitPaneDemo.one_touch_expandable_mnemonic=O +SplitPaneDemo.divider_size=\u30c7\u30a3\u30d0\u30a4\u30c0\u306e\u30b5\u30a4\u30ba (Z) +SplitPaneDemo.divider_size_mnemonic=z +SplitPaneDemo.invalid_divider_size=\u6307\u5b9a\u3055\u308c\u305f\u30c7\u30a3\u30d0\u30a4\u30c0\u306e\u30b5\u30a4\u30ba\u306f\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002 +SplitPaneDemo.error=\u30a8\u30e9\u30fc +SplitPaneDemo.first_component_min_size=\u6700\u521d\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u6700\u5c0f\u30b5\u30a4\u30ba (I) +SplitPaneDemo.first_component_min_size_mnemonic=i +SplitPaneDemo.second_component_min_size=\uff12\u3064\u76ee\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u6700\u5c0f\u30b5\u30a4\u30ba (N) +SplitPaneDemo.second_component_min_size_mnemonic=n +SplitPaneDemo.invalid_min_size=\u6307\u5b9a\u3055\u308c\u305f\u6700\u5c0f\u30b5\u30a4\u30ba\u306f\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002 +SplitPaneDemo.must_be_greater_than=\u6b21\u306e\u6570\u3088\u308a\u5927\u304d\u306a\u5024\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\uff1a + + +### TabbedPane Demo ### + +TabbedPaneDemo.accessible_description=\u3053\u306e\u30c7\u30e2\u3067\u306f\u3001JTabbedPane\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f7f\u7528\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002 +TabbedPaneDemo.tooltip=JTabbedPane\u30c7\u30e2 +TabbedPaneDemo.name=TabbedPane\u30c7\u30e2 + +TabbedPaneDemo.bounce=
\u5143\u6c17\u306a\u5b50\u4f9b\u9054\uff01
+TabbedPaneDemo.stephen=\u30b9\u30c6\u30a3\u30fc\u30f4\u30f3 +TabbedPaneDemo.david=\u30c7\u30a4\u30f4\u30a3\u30c3\u30c9 +TabbedPaneDemo.matthew=\u30de\u30b7\u30e5\u30fc +TabbedPaneDemo.ewan=\u30e6\u30a2\u30f3 +TabbedPaneDemo.blake=\u30d6\u30ec\u30a4\u30af +TabbedPaneDemo.brooke=\u30d6\u30eb\u30c3\u30af +TabbedPaneDemo.laine=\u30ec\u30a4\u30f3 +TabbedPaneDemo.hania=\u30cf\u30cb\u30a2 + +TabbedPaneDemo.label=\u30bf\u30d6\u914d\u7f6e: +TabbedPaneDemo.top=\u4e0a +TabbedPaneDemo.bottom=\u4e0b +TabbedPaneDemo.left=\u5de6 +TabbedPaneDemo.right=\u53f3 + + +### Table Demo ### + +TableDemo.accessible_description=JTable\u30c7\u30e2 +TableDemo.name=Table\u30c7\u30e2 +TableDemo.tooltip=JTable\u30c7\u30e2 +TableDemo.all_columns=\u5168\u30ab\u30e9\u30e0 +TableDemo.autoresize_mode=\u30b5\u30a4\u30ba\u81ea\u52d5\u5909\u66f4\u30e2\u30fc\u30c9 +TableDemo.cell_selection=\u30bb\u30eb\u306e\u9078\u629e +TableDemo.column_boundaries=\u76f4\u5f8c\u306e\u30ab\u30e9\u30e0\u306e\u307f +TableDemo.column_selection=\u30ab\u30e9\u30e0\u9078\u629e +TableDemo.horz_lines=\u6c34\u5e73\u7dda +TableDemo.intercell_spacing=\u30bb\u30eb\u9593\u306e\u30b9\u30da\u30fc\u30b9 +TableDemo.intercell_spacing_colon=\u30bb\u30eb\u9593\u306e\u30b9\u30da\u30fc\u30b9: +TableDemo.last_column=\u6700\u5f8c\u306e\u30ab\u30e9\u30e0\u306e\u307f +TableDemo.multiple_ranges=\u8907\u6570\u30ec\u30f3\u30b8\u53ef +TableDemo.one_range=\uff11\u30ec\u30f3\u30b8\u306e\u307f +TableDemo.reordering_allowed=\u4e26\u3079\u66ff\u3048\u3092\u8a31\u53ef +TableDemo.row_height=\u884c\u306e\u9ad8\u3055 +TableDemo.row_height_colon=\u884c\u306e\u9ad8\u3055: +TableDemo.row_selection=\u884c\u306e\u9078\u629e +TableDemo.selection_mode=\u9078\u629e\u30e2\u30fc\u30c9 +TableDemo.subsequent_columns=\u5f8c\u7d9a\u306e\u5168\u30ab\u30e9\u30e0 +TableDemo.vert_lines=\u5782\u76f4\u7dda +TableDemo.single=\u30b7\u30f3\u30b0\u30eb +TableDemo.none=\u7279\u306b\u306a\u3057 +TableDemo.off=\u30aa\u30d5 +TableDemo.first_name=\u30d5\u30a1\u30fc\u30b9\u30c8\u30cd\u30fc\u30e0 +TableDemo.last_name=\u30e9\u30b9\u30c8\u30cd\u30fc\u30e0 +TableDemo.favorite_color=\u597d\u304d\u306a\u8272 +TableDemo.favorite_food=\u597d\u304d\u306a\u98df\u3079\u7269 +TableDemo.favorite_movie=\u597d\u304d\u306a\u6620\u753b +TableDemo.favorite_number=\u597d\u304d\u306a\u6570 +TableDemo.aqua=\u30a2\u30af\u30a2\u30de\u30ea\u30f3 +TableDemo.beige=\u30d9\u30fc\u30b8\u30e5 +TableDemo.black=\u9ed2 +TableDemo.blue=\u9752 +TableDemo.cybergreen=\u30b5\u30a4\u30d0\u30fc\u30b0\u30ea\u30fc\u30f3 +TableDemo.darkgreen=\u9752\u7dd1 +TableDemo.eblue=\u30e1\u30bf\u30ea\u30c3\u30af\u30d6\u30eb\u30fc +TableDemo.jfcblue=JFC\u30d7\u30e9\u30a4\u30de\u30ea\u30fc +TableDemo.jfcblue2=JFC\u30bb\u30ab\u30f3\u30c0\u30ea\u30fc +TableDemo.forestgreen=\u7dd1 +TableDemo.gray=\u7070\u8272 +TableDemo.green=\u30e9\u30a4\u30c8\u30b0\u30ea\u30fc\u30f3 +TableDemo.orange=\u30aa\u30ec\u30f3\u30b8 +TableDemo.purple=\u7d2b +TableDemo.red=\u8d64 +TableDemo.rustred=\u8d64\u7149\u74e6\u8272 +TableDemo.sunpurple=Sun\u30d1\u30fc\u30d7\u30eb +TableDemo.suspectpink=\u30d4\u30f3\u30af +TableDemo.turquoise=\u30bf\u30fc\u30b3\u30a4\u30ba +TableDemo.violet=\u3059\u307f\u308c\u8272 +TableDemo.yellow=\u9ec4\u8272 +TableDemo.2001=2001\u5e74\u5b87\u5b99\u306e\u65c5 +TableDemo.buckaroo=\u30d0\u30ab\u30eb\u30fc\u30fb\u30d0\u30f3\u30b6\u30a4\u306e\uff18\u6b21\u5143\u30ae\u30e3\u30e9\u30af\u30b7\u30fc +TableDemo.firstsight=\u3042\u306a\u305f\u304c\u898b\u3048\u306a\u304f\u3066\u3082 +TableDemo.airplane=\u30d5\u30e9\u30a4\u30f3\u30b0\u30fb\u30cf\u30a4\uff08\u30b7\u30ea\u30fc\u30ba\uff09 +TableDemo.aliens=\u30a8\u30a4\u30ea\u30a2\u30f3 +TableDemo.bicycle=\u81ea\u8ee2\u8eca\u6ce5\u68d2 +TableDemo.bladerunner=\u30d6\u30ec\u30fc\u30c9\u30e9\u30f3\u30ca\u30fc\uff08\u30c7\u30a3\u30ec\u30af\u30bf\u30fc\u30ba\u30fb\u30ab\u30c3\u30c8\uff09 +TableDemo.bluesbros=\u30d6\u30eb\u30fc\u30b9\u30fb\u30d6\u30e9\u30b6\u30fc\u30b9 +TableDemo.brazil=\u672a\u6765\u4e16\u7d00\u30d6\u30e9\u30b8\u30eb +TableDemo.bugs=\u30d0\u30b0\u30ba\u30fb\u30e9\u30a4\u30d5 +TableDemo.city=\u30ed\u30b9\u30c8\u30fb\u30c1\u30eb\u30c9\u30ec\u30f3 +TableDemo.chusingura=\u5fe0\u81e3\u8535 +TableDemo.clock=\u6642\u8a08\u4ed5\u639b\u3051\u306e\u30aa\u30ec\u30f3\u30b8 +TableDemo.curse=\u602a\u5947\u30df\u30a4\u30e9\u7537 +TableDemo.dasboot=\uff35\u30dc\u30fc\u30c8 +TableDemo.dazed=\uff24\uff41\uff5a\uff45\uff44\u3000\uff41\uff4e\uff44\u3000\uff23\uff4f\uff4e\uff46\uff55\uff53\uff45\uff44 +TableDemo.defending=\u3042\u306a\u305f\u306e\u6b7b\u5f8c\u306b\u3054\u7528\u5fc3 +TableDemo.eraserhead=\u30a4\u30ec\u30a4\u30b6\u30fc\u30d8\u30c3\u30c9 +TableDemo.fifthelement=\u30d5\u30a3\u30d5\u30b9\u30fb\u30a8\u30ec\u30e1\u30f3\u30c8 +TableDemo.goodfellas=\u30b0\u30c3\u30c9\u30d5\u30a7\u30ed\u30fc\u30ba +TableDemo.harold=\u30cf\u30ed\u30eb\u30c9\u3068\u30e2\u30fc\u30c9 +TableDemo.joyluck=\u30b8\u30e7\u30a4\u30fb\u30e9\u30c3\u30af\u30fb\u30af\u30e9\u30d6 +TableDemo.jules=\u7a81\u7136\u708e\u306e\u3054\u3068\u304f\u3000\u30b8\u30e5\u30fc\u30eb\u3068\u30b8\u30e0 +TableDemo.ladyvanishes=\u30ec\u30c7\u30a3\u30fb\u30d0\u30cb\u30c3\u30b7\u30e5\uff0f\u6697\u53f7\u3092\u6b4c\u3046\u5973 +TableDemo.mohicans=\u30e9\u30b9\u30c8\u30fb\u30aa\u30d6\u30fb\u30e2\u30d2\u30ab\u30f3 +TableDemo.lonestar=\uff2c\uff4f\uff4e\uff45\u3000\uff33\uff54\uff41\uff52 +TableDemo.man=\u77e5\u308a\u3059\u304e\u3066\u3044\u305f\u7537 +TableDemo.musicman=\uff34\uff48\uff45\u3000\uff2d\uff55\uff53\uff49\uff43\u3000\uff2d\uff41\uff4e +TableDemo.dog=\u30de\u30a4\u30fb\u30e9\u30a4\u30d5\u30fb\u30a2\u30ba\u30fb\u30a2\u30fb\u30c9\u30c3\u30b0 +TableDemo.oncewest=\u30a6\u30a8\u30b9\u30bf\u30f3 +TableDemo.pulpfiction=\u30d1\u30eb\u30d7\u30fb\u30d5\u30a3\u30af\u30b7\u30e7\u30f3 +TableDemo.raiders=\u30ec\u30a4\u30c0\u30fc\u30b9/\u5931\u308f\u308c\u305f\u30a2\u30fc\u30af\uff08\u8056\u6ac3\uff09 +TableDemo.reservoir=\u30ec\u30b6\u30dc\u30a2\u30fb\u30c9\u30c3\u30b0\u30b9 +TableDemo.repoman=\u30ec\u30dd\u30de\u30f3 +TableDemo.spinaltap=\u30b9\u30d1\u30a4\u30ca\u30eb\u30bf\u30c3\u30d7 +TableDemo.schindlerslist=\u30b7\u30f3\u30c9\u30e9\u30fc\u306e\u30ea\u30b9\u30c8 +TableDemo.starwars=\u30b9\u30bf\u30fc\u30fb\u30a6\u30a9\u30fc\u30ba +TableDemo.stuntman=\u30b9\u30bf\u30f3\u30c8\u30de\u30f3 +TableDemo.thinman=\u5f71\u306a\u304d\u7537 +TableDemo.withnail=\u30a6\u30a3\u30ba\u30cd\u30a4\u30eb\u3068\u50d5 +TableDemo.labyrinth=\u30e9\u30d3\u30ea\u30f3\u30b9\u3000\u2212\u9b54\u738b\u306e\u8ff7\u5bae\u2212 +TableDemo.shawshank=\u30b7\u30e7\u30fc\u30b7\u30e3\u30f3\u30af\u306e\u7a7a\u306b +TableDemo.apple=\u308a\u3093\u3054 +TableDemo.asparagus=\u30a2\u30b9\u30d1\u30e9\u30ac\u30b9 +TableDemo.banana=\u30d0\u30ca\u30ca +TableDemo.broccoli=\u30d6\u30ed\u30c3\u30b3\u30ea\u30fc +TableDemo.carrot=\u30cb\u30f3\u30b8\u30f3 +TableDemo.cantaloupe=\u30e1\u30ed\u30f3 +TableDemo.corn=\u3068\u3046\u3082\u308d\u3053\u3057 +TableDemo.grapes=\u3076\u3069\u3046 +TableDemo.grapefruit=\u30b0\u30ec\u30fc\u30d7\u30d5\u30eb\u30fc\u30c4 +TableDemo.kiwi=\u30ad\u30a6\u30a3\u30d5\u30eb\u30fc\u30c4 +TableDemo.onion=\u7389\u306d\u304e +TableDemo.pear=\u6d0b\u306a\u3057 +TableDemo.peach=\u6843 +TableDemo.pepper=\u3068\u3046\u304c\u3089\u3057 +TableDemo.pickle=\u30d4\u30af\u30eb\u30b9 +TableDemo.pineapple=\u30d1\u30a4\u30ca\u30c3\u30d7\u30eb +TableDemo.raspberry=\u30e9\u30b9\u30d9\u30ea\u30fc +TableDemo.sparegrass=\u30a2\u30b9\u30d1\u30e9\u30ac\u30b9 +TableDemo.strawberry=\u3044\u3061\u3054 +TableDemo.tomato=\u30c8\u30de\u30c8 +TableDemo.watermelon=\u3059\u3044\u304b + +TableDemo.printing=\u5370\u5237\u30e1\u30cb\u30e5\u30fc +TableDemo.fitWidth=\u6a2a\u5e45\u306b\u5408\u308f\u305b\u308b +TableDemo.print=\u5370\u5237 +TableDemo.header=\u30d8\u30c3\u30c0 + +# This string will be formatted by a MessageFormat and +# printed at the top of each page of the printed result. +# You can use {0} to insert a page number. +TableDemo.headerText=JTable\u5370\u5237 + +TableDemo.footer=\u30d5\u30c3\u30bf + +# This string will be formatted by a MessageFormat and +# printed at the bottom of each page of the printed result. +# You can use {0} to insert a page number. +TableDemo.footerText={0}\u30da\u30fc\u30b8 + +TableDemo.printingResult=\u5370\u5237\u7d50\u679c +TableDemo.printingComplete=\u5370\u5237\u5b8c\u4e86 +TableDemo.printingCancelled=\u5370\u5237\u4e2d\u6b62 + +# This string will be formatted by a MessageFormat and +# and displayed when an exception occurs. +# {0} is used to place details of the exception. +TableDemo.printingFailed=\u5370\u5237\u30a8\u30e9\u30fc\uff1a {0} + + +### ToolTip Demo ### + +ToolTipDemo.accessible_description=ToolTip\u306f\u3001\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306b\u3064\u3044\u3066\u306e\u7c21\u5358\u306a\u8aac\u660e\u3092\u8868\u793a\u3057\u307e\u3059\u3002 +ToolTipDemo.accessible_cow=\u3053\u308c\u306f\u4e73\u725b\u3067\u3059 +ToolTipDemo.tooltip=JToolTip\u30c7\u30e2 +ToolTipDemo.name=ToolTip\u30c7\u30e2 +ToolTipDemo.bessie=\u96cc\u725b\u306e\u30a8\u30ea\u30b6\u30d9\u30b9 +ToolTipDemo.cow=\u4e73\u725b +ToolTipDemo.got_milk=\u725b\u4e73\u98f2\u3093\u3060\uff1f +ToolTipDemo.tail=\u3057\u3063\u307d +ToolTipDemo.moo=\u30e2\u30a9\u30a9\u30a9\u30a9\uff01 +ToolTipDemo.tooltip_features=\u3082\u3057\u3084\u3042\u306a\u305f\u306f\u3001\u30c4\u30fc\u30eb\u30c1\u30c3\u30d7\u306f\u300c\uff11\u884c\u306e\u30d7\u30ec\u30a4\u30f3\u30c6\u30ad\u30b9\u30c8\u300d\u3057\u304b\u8868\u793a\u3067
\u304d\u306a\u3044\u9000\u5c48\u306a\u3082\u306e\u3060\u306a\u3093\u3066\u601d\u3063\u3066\u3084\u3057\u307e\u305b\u3093\u304b\uff1f

\u3060\u3068\u3057\u305f\u3089\u3001\u79c1\u305f\u3061 Swing! \u30c1\u30fc\u30e0\u304c\u305d\u306e\u8aa4\u89e3\u3092\u89e3\u3044\u3066\u3042\u3052\u307e\u3057\u3087
\u3046\uff01\u3000Swing\u306eToolTip\u306f\u3001HTML\u3092\u4f7f\u3063\u3066

\u305d\u3046\u305d\u3046\u3001\u3082\u3061\u308d\u3093\u8907\u6570\u884c\u306b\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u3061\u3083\u3046\u306e\u3067\u3059\u3002\u306d\u3063\u3002 + + +### Tree Demo ### + +TreeDemo.accessible_description=JTree\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f7f\u7528\u4f8b +TreeDemo.tooltip=JTree\u30c7\u30e2 +TreeDemo.name=Tree\u30c7\u30e2 +TreeDemo.music=Music + diff --git a/src/main/resources/language/swingset_zh_CN.properties b/src/main/resources/language/swingset_zh_CN.properties new file mode 100644 index 0000000..ad35ee9 --- /dev/null +++ b/src/main/resources/language/swingset_zh_CN.properties @@ -0,0 +1,726 @@ +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in the SwingSet demo. +# +# 1.13 06/06/06 +# @author Jeff Dinkins + +################################# +### SwingSet Infrastructure ### +################################# + +### About Box ### + +AboutBox.title=\u5173\u4e8e Swing! +AboutBox.ok_button_text=OK +AboutBox.accessible_description=SwingSet2 \u6f14\u793a\u7a0b\u5e8f\uff0c\u7248\u6743\u6240\u6709 (c) 1997-2005 Sun Microsystems, Inc. \u4fdd\u7559\u6240\u6709\u6743\u5229\u3002 + +### Source Code ### +SourceCode.loading=\u6b63\u5728\u88c5\u5165\u548c\u683c\u5f0f\u5316\u6e90\u4ee3\u7801\uff0c\u8bf7\u7a0d\u5019... + +### Status ### + +Status.loading=\u6b63\u5728\u88c5\u8f7d\uff1a +Status.popupMenuAccessible=\u8bf7\u6309 Shift-F10 \u7ec4\u5408\u952e\u6fc0\u6d3b\u5f39\u51fa\u5f0f\u83dc\u5355 + +### Menu Bar ### + +MenuBar.accessible_description=Swing\u6f14\u793a\u83dc\u5355\u6761 + + +### Frame ### + +Frame.title=SwingSet2 + + +### Tabbed Pane ### + +TabbedPane.src_label=\u6e90\u4ee3\u7801 +TabbedPane.src_tooltip=\u67e5\u770b\u672c\u6f14\u793a\u5f97\u6e90\u4ee3\u7801 + + +### Look & Feel Menu ### + +LafMenu.laf_label=\u5916\u89c2\u611f\u89c9 +LafMenu.laf_mnemonic=L +LafMenu.laf_accessible_description=\u4f7f\u5916\u89c2\u611f\u89c9\u53d8\u5316\u7684\u83dc\u5355 + +LafMenu.java_label=Java \u5916\u89c2\u611f\u89c9 +LafMenu.java_mnemonic=J +LafMenu.java_accessible_description=Java\u5916\u89c2\u611f\u89c9 + +LafMenu.mac_label=Macintosh\u5916\u89c2\u611f\u89c9 +LafMenu.mac_mnemonic=M +LafMenu.mac_accessible_description=Macintosh\u5916\u89c2\u611f\u89c9 + +LafMenu.motif_label=Motif\u5916\u89c2\u611f\u89c9 +LafMenu.motif_mnemonic=o +LafMenu.motif_accessible_description=Motif\u5916\u89c2\u611f\u89c9 + +LafMenu.windows_label=Windows\u5916\u89c2\u611f\u89c9 +LafMenu.windows_mnemonic=W +LafMenu.windows_accessible_description=Windows\u5916\u89c2\u611f\u89c9 + +LafMenu.gtk_label=GTK \u98ce\u683c\u7684\u754c\u9762\u5916\u89c2 +LafMenu.gtk_mnemonic=G +LafMenu.gtk_accessible_description=GTK \u98ce\u683c\u7684\u754c\u9762\u5916\u89c2 + + +### Themes Menu ### + +ThemesMenu.themes_label=\u98ce\u683c +ThemesMenu.themes_mnemonic=T +ThemesMenu.themes_accessible_description=\u6539\u53d8\u91d1\u5c5e\u98ce\u683c\u7684\u83dc\u5355 + +ThemesMenu.aqua_label=\u6d77\u84dd\u5b9d\u77f3 +ThemesMenu.aqua_mnemonic=A +ThemesMenu.aqua_accessible_description=\u84dd\u7eff\u8272\u91d1\u5c5e\u98ce\u683c + +ThemesMenu.charcoal_label=\u6728\u70ad +ThemesMenu.charcoal_mnemonic=C +ThemesMenu.charcoal_accessible_description=\u6697\u7070\u8272\u91d1\u5c5e\u98ce\u683c + +ThemesMenu.contrast_label=\u9ad8\u5bf9\u6bd4 +ThemesMenu.contrast_mnemonic=H +ThemesMenu.contrast_accessible_description=\u9ad8\u5bf9\u6bd4\u98ce\u683c + +ThemesMenu.ocean_label=\u6d77\u6d0b(O) +ThemesMenu.ocean_mnemonic=O +ThemesMenu.ocean_accessible_description=\u6d77\u6d0b\u91d1\u5c5e\u4e3b\u9898 + +ThemesMenu.steel_label=\u94a2(S) +ThemesMenu.steel_mnemonic=S +ThemesMenu.steel_accessible_description=\u84dd\u8272/\u7d2b\u8272\u91d1\u5c5e\u4e3b\u9898 + +ThemesMenu.emerald_label=\u7956\u6bcd\u7eff +ThemesMenu.emerald_mnemonic=E +ThemesMenu.emerald_accessible_description=\u7eff\u8272\u91d1\u5c5e\u98ce\u683c + +ThemesMenu.ruby_label=\u7ea2\u5b9d\u77f3 +ThemesMenu.ruby_mnemonic=R +ThemesMenu.ruby_accessible_description=\u7ea2\u8272\u91d1\u5c5e\u98ce\u683c + + +### Font SubMenu (under Themes) +FontMenu.fonts_label=\u5b57\u4f53(F) +FontMenu.fonts_mnemonic=F +FontMenu.fonts_accessible_description=\u7528\u6765\u9009\u62e9 Java \u754c\u9762\u5916\u89c2\u5b57\u4f53\u7684\u83dc\u5355 + +FontMenu.bold_label=\u7c97\u4f53(B) +FontMenu.bold_mnemonic=B +FontMenu.bold_accessible_description=\u4e3a Java \u754c\u9762\u5916\u89c2\u542f\u7528\u7c97\u4f53\u5b57\u4f53 + +FontMenu.plain_label=\u65e0\u683c\u5f0f(P) +FontMenu.plain_mnemonic=P +FontMenu.plain_accessible_description=\u4e3a Java \u754c\u9762\u5916\u89c2\u542f\u7528\u65e0\u683c\u5f0f\u5b57\u4f53 + + +### Audio SubMenu (under Themes) ### + +AudioMenu.audio_label=\u97f3\u9891(A) +AudioMenu.audio_mnemonic=A +AudioMenu.audio_accessible_description=\u7528\u6765\u5207\u6362 Java \u754c\u9762\u5916\u89c2\u4e2d\u53ef\u7528\u7684\u542c\u89c9\u53cd\u9988\u6570\u91cf\u7684\u83dc\u5355 + +AudioMenu.on_label=\u5f00(O) +AudioMenu.on_mnemonic=O +AudioMenu.on_accessible_description=\u4e3a Java \u754c\u9762\u5916\u89c2\u6253\u5f00\u6240\u6709\u542c\u89c9\u53cd\u9988 + +AudioMenu.default_label=\u9ed8\u8ba4\u503c(D) +AudioMenu.default_mnemonic=D +AudioMenu.default_accessible_description=\u4e3a Java \u754c\u9762\u5916\u89c2\u6253\u5f00\u6807\u51c6\u7684\u542c\u89c9\u53cd\u9988\u6570\u91cf + +AudioMenu.off_label=\u5173(F) +AudioMenu.off_mnemonic=F +AudioMenu.off_accessible_description=\u4e3a Java \u754c\u9762\u5916\u89c2\u5173\u95ed\u6240\u6709\u542c\u89c9\u53cd\u9988 + +### Options Menu ### + +OptionsMenu.options_label=\u9009\u9879(P) +OptionsMenu.options_mnemonic=P +OptionsMenu.options_accessible_description=\u5305\u542b\u5176\u4ed6\u9009\u9879\u7684\u83dc\u5355 + +OptionsMenu.tooltip_label=\u542f\u7528\u5de5\u5177\u63d0\u793a(T) +OptionsMenu.tooltip_mnemonic=T +OptionsMenu.tooltip_accessible_description=\u542f\u7528\u6216\u7981\u7528\u5de5\u5177\u63d0\u793a + +OptionsMenu.dragEnabled_label=\u542f\u7528\u62d6\u66f3\u652f\u6301(D) +OptionsMenu.dragEnabled_mnemonic=D +OptionsMenu.dragEnabled_accessible_description=\u542f\u7528\u6216\u7981\u7528\u62d6\u66f3\u652f\u6301 + +### File Menu ### + +FileMenu.file_label=\u6587\u4ef6 +FileMenu.file_mnemonic=F +FileMenu.accessible_description=\u6587\u4ef6\u83dc\u5355 +FileMenu.about_label=\u5173\u4e8e +FileMenu.about_mnemonic=t +FileMenu.about_accessible_description=\u4e86\u89e3 SwingSet2 \u5e94\u7528\u7a0b\u5e8f +FileMenu.open_label=\u6253\u5f00 +FileMenu.open_mnemonic=O +FileMenu.open_accessible_description=\u7528\u4e8e\u6253\u5f00\u6587\u4ef6\u7684\u4f4d\u7f6e\u6807\u5fd7\u83dc\u5355\u9879 +FileMenu.save_label=\u4fdd\u5b58 +FileMenu.save_mnemonic=S +FileMenu.save_accessible_description=\u7528\u4e8e\u4fdd\u5b58\u6587\u4ef6\u7684\u4f4d\u7f6e\u6807\u5fd7\u83dc\u5355\u9879 +FileMenu.save_as_label=\u53e6\u5b58\u4e3a ... +FileMenu.save_as_mnemonic=A +FileMenu.save_as_accessible_description=\u7528\u4e8e\u5c06\u6587\u4ef6\u53e6\u5b58\u4e3a\u4e00\u4e2a\u65b0\u6587\u4ef6\u540d\u7684\u4f4d\u7f6e\u6807\u5fd7\u83dc\u5355\u9879 +FileMenu.exit_label=\u9000\u51fa +FileMenu.exit_mnemonic=x +FileMenu.exit_accessible_description=\u9000\u51fa SwingSet2 \u5e94\u7528\u7a0b\u5e8f + +### Multi-Screen menu ### +MultiMenu.multi_label=\u591a\u5c4f\u5e55(M) +MultiMenu.multi_mnemonic=M +MultiMenu.multi_accessible_description=\u591a\u5c4f\u5e55\u83dc\u5355(A) +MultiMenu.all_label=\u5728\u6240\u6709\u5c4f\u5e55\u4e0a\u521b\u5efa SwingSet2 +MultiMenu.all_mnemonic=A +MultiMenu.all_accessible_description=\u5728\u6bcf\u4e2a\u5c4f\u5e55\u4e0a\u521b\u5efa\u4e00\u4e2a SwingSet2 \u7a97\u53e3 +MultiMenu.single_label=\u5728\u5c4f\u5e55\u4e0a\u521b\u5efa SwingSet2 +MultiMenu.single_accessible_description=\u5728\u5c4f\u5e55\u4e0a\u521b\u5efa SwingSet2 \u7a97\u53e3 + + +################################ +### DEMOS ### +################################ + +### Button Demo ### + +ButtonDemo.accessible_description=ButtonDemo \u663e\u793a\u4e86\u4f7f\u7528 JButton\u3001JRadioButton\u3001JToggleButton \u548c JCheckBox \u7684\u793a\u4f8b +ButtonDemo.tooltip=JButton\u3001JRadioButton\u3001JToggleButton\u3001JCheckbox \u6f14\u793a +ButtonDemo.name=\u6309\u94ae\u6f14\u793a + +ButtonDemo.buttons=\u6309\u94ae +ButtonDemo.checkboxes=\u590d\u9009\u6846 +ButtonDemo.radiobuttons=\u5355\u9009\u6309\u94ae +ButtonDemo.togglebuttons=\u5207\u6362\u6309\u94ae + +ButtonDemo.textbuttons=\u6587\u672c\u6309\u94ae +ButtonDemo.imagebuttons=\u56fe\u50cf\u6309\u94ae +ButtonDemo.textradiobuttons=\u6587\u672c\u5355\u9009\u6309\u94ae +ButtonDemo.imageradiobuttons=\u56fe\u50cf\u5355\u9009\u6309\u94ae +ButtonDemo.texttogglebuttons=\u6587\u672c\u5207\u6362\u6309\u94ae +ButtonDemo.imagetogglebuttons=\u56fe\u50cf\u5207\u6362\u6309\u94ae +ButtonDemo.textcheckboxes=\u6587\u672c\u590d\u9009\u6846 +ButtonDemo.imagecheckboxes=\u56fe\u50cf\u590d\u9009\u6846 + +ButtonDemo.button1=\u4e00 +ButtonDemo.button2=\u4e8c +ButtonDemo.button3=\u4e09\uff01 + +ButtonDemo.radio1=\u5355\u9009\u4e00 +ButtonDemo.radio2=\u5355\u9009\u4e8c +ButtonDemo.radio3=\u5355\u9009\u4e09 +ButtonDemo.radioX=\u4e09\uff08HTML\uff01\uff09 + +ButtonDemo.check1=\u4e00 +ButtonDemo.check2=\u4e8c +ButtonDemo.check3=\u4e09 +ButtonDemo.checkX=\u4e09\uff08HTML\uff01\uff09 + +ButtonDemo.customradio=\u81ea\u5b9a\u4e49\u7684 "chrome" \u5355\u9009\u6309\u94ae\u3002 +ButtonDemo.customcheck=\u81ea\u5b9a\u4e49\u7684 "lightbulb" \u590d\u9009\u6846\u3002 + +ButtonDemo.phone=\u7535\u8bdd +ButtonDemo.write=\u5199 +ButtonDemo.peace=\u5e73\u9759 + +ButtonDemo.controlpanel_label=\u663e\u793a\u9009\u9879: +ButtonDemo.paintborder=\u7ed8\u5236\u8fb9\u6846(B) +ButtonDemo.paintborder_tooltip=\u5355\u51fb\u6b64\u5904\u53ef\u6253\u5f00\u6216\u5173\u95ed\u8fb9\u6846\u7ed8\u5236\u3002 +ButtonDemo.paintborder_mnemonic=B +ButtonDemo.paintfocus=\u7ed8\u5236\u7126\u70b9(F) +ButtonDemo.paintfocus_tooltip=\u5355\u51fb\u6b64\u5904\u53ef\u6253\u5f00\u6216\u5173\u95ed\u7126\u70b9\u7ed8\u5236\u3002 +ButtonDemo.paintfocus_mnemonic=F +ButtonDemo.enabled=\u542f\u7528(E) +ButtonDemo.enabled_tooltip=\u5355\u51fb\u6b64\u5904\u53ef\u542f\u7528\u6216\u7981\u7528\u6309\u94ae\u3002 +ButtonDemo.enabled_mnemonic=E +ButtonDemo.contentfilled=\u586b\u5145\u5185\u5bb9(I) +ButtonDemo.contentfilled_tooltip=\u5355\u51fb\u6b64\u5904\u53ef\u63a7\u5236\u5185\u5bb9\u533a\u57df\u7684\u586b\u5145\u3002 +ButtonDemo.contentfilled_mnemonic=I + +ButtonDemo.padamount_label=\u586b\u5145\u91cf: +ButtonDemo.default=\u9ed8\u8ba4\u503c(D) +ButtonDemo.default_tooltip=\u5728\u8fb9\u6846\u4e0e\u6807\u7b7e\u4e4b\u95f4\u4f7f\u7528\u9ed8\u8ba4\u586b\u5145\u3002 +ButtonDemo.default_mnemonic=D +ButtonDemo.zero=0 +ButtonDemo.zero_mnemonic=0 +ButtonDemo.zero_tooltip=\u5728\u8fb9\u6846\u4e0e\u6807\u7b7e\u4e4b\u95f4\u4e0d\u4f7f\u7528\u586b\u5145\u3002 +ButtonDemo.ten=10 +ButtonDemo.ten_mnemonic=1 +ButtonDemo.ten_tooltip=\u5728\u8fb9\u6846\u4e0e\u6807\u7b7e\u4e4b\u95f4\u4f7f\u7528 10 \u50cf\u7d20\u586b\u5145\u3002 + +LayoutControlPanel.textposition_label=\u6587\u672c\u4f4d\u7f6e: +LayoutControlPanel.contentalignment_label=\u5185\u5bb9\u5bf9\u9f50: + +### ColorChooser Demo ### + +ColorChooserDemo.accessible_description=ColorChooser\u5141\u8bb8\u7528\u6237\u4ece\u8c03\u8272\u677f\u6216\u8005\u6307\u5b9aRGB\u6216HSB\u503c\u6765\u9009\u62e9\u989c\u8272 +ColorChooserDemo.tooltip=JColorChooser \u6f14\u793a +ColorChooserDemo.name=Color Chooser \u6f14\u793a +ColorChooserDemo.chooser_title=\u9009\u62e9\u989c\u8272 +ColorChooserDemo.background=\u80cc\u666f +ColorChooserDemo.grad_a=\u503e\u89d2 1 +ColorChooserDemo.grad_b=\u503e\u89d2 2 +ColorChooserDemo.outer_line=\u5468\u957f +ColorChooserDemo.cup=Java\u5546\u6807\u7684\u5496\u5561\u676f\u56fe\u8c61 + +### ComboBox Demo ### + +ComboBoxDemo.accessible_description=\u6b64\u6f14\u793a\u663e\u793a\u4e86\u4f7f\u7528 JComboBox \u7ec4\u4ef6\u7684\u793a\u4f8b\u3002 +ComboBoxDemo.tooltip=JComboBox \u6f14\u793a +ComboBoxDemo.name=ComboBox \u6f14\u793a + +ComboBoxDemo.hair=\u5934\u53d1 +ComboBoxDemo.eyes=\u773c\u775b +ComboBoxDemo.mouth=\u5634 +ComboBoxDemo.presets=\u9884\u8bbe: + +ComboBoxDemo.preset1=Philip\u3001Howard\u3001Jeff +ComboBoxDemo.preset2=Jeff\u3001Larry\u3001Philip +ComboBoxDemo.preset3=Howard\u3001Scott\u3001Hans +ComboBoxDemo.preset4=Philip\u3001Jeff\u3001Hans +ComboBoxDemo.preset5=Brent\u3001Jon\u3001Scott +ComboBoxDemo.preset6=Lara\u3001Larry\u3001Lisa +ComboBoxDemo.preset7=James\u3001Philip\u3001Michael +ComboBoxDemo.preset8=Philip\u3001Lisa\u3001Brent +ComboBoxDemo.preset9=James\u3001Philip\u3001Jon +ComboBoxDemo.preset10=Lara\u3001Jon\u3001Scott + + +ComboBoxDemo.hair_description=\u5934\u53d1: +ComboBoxDemo.eyes_description=\u773c\u775b\u548c\u9f3b\u5b50: +ComboBoxDemo.mouth_description=\u5634: + +ComboBoxDemo.amy=Amy +ComboBoxDemo.brent=Brent +ComboBoxDemo.georges=Georges +ComboBoxDemo.hans=Hans +ComboBoxDemo.howard=Howard +ComboBoxDemo.james=James +ComboBoxDemo.jeff=Jeff +ComboBoxDemo.jon=Jon +ComboBoxDemo.lara=Lara +ComboBoxDemo.larry=Larry +ComboBoxDemo.lisa=Lisa +ComboBoxDemo.michael=Michael +ComboBoxDemo.philip=Philip +ComboBoxDemo.scott=Scott + +### FileChooser Demo ### + +FileChooserDemo.accessible_description=FileChooser\u5141\u8bb8\u7528\u6237\u9009\u62e9\u6587\u4ef6, \u901a\u5e38\u662f\u6253\u5f00\u6216\u5efa\u7acb/\u4fdd\u5b58. +FileChooserDemo.tooltip=JFileChooser \u6f14\u793a +FileChooserDemo.name=File Chooser \u6f14\u793a + +FileChooserDemo.plainbutton=\u663e\u793a\u65e0\u683c\u5f0f JFileChooser +FileChooserDemo.previewbutton=\u663e\u793a\u9884\u89c8 JFileChooser +FileChooserDemo.custombutton=\u663e\u793a\u81ea\u5b9a\u4e49 JFileChooser + +FileChooserDemo.description=\ +    \u8bf7\u6ce8\u610f\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u610f\u591a\u4e2a\u7ec4\u4ef6\u8f7b\u677e\u521b\u5efa
\ +    \u81ea\u5b9a\u4e49\u7684\u6587\u4ef6\u9009\u62e9\u5668\u3002 \ + + +FileChooserDemo.filterdescription=JPEG \u548c GIF \u56fe\u50cf\u6587\u4ef6 + +FileChooserDemo.nofileselected=\u8bf7\u9996\u5148\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u3002 +FileChooserDemo.thefile=\u6587\u4ef6: +FileChooserDemo.isprobably=\u53ef\u80fd\u662f\u4e00\u4e2a\u56fe\u50cf\u3002 + +FileChooserDemo.helptext=\ +\u67e5\u627e: \u67e5\u627e\u67d0\u4e2a\u6587\u4ef6\u3002
\ +\u5173\u4e8e: \u4e86\u89e3\u6709\u5173\u8be5\u6587\u4ef6\u7684\u66f4\u591a\u4fe1\u606f\u3002
\ +\u786e\u5b9a: \u9009\u62e9\u8be5\u6587\u4ef6\u3002
\ +\u53d6\u6d88: \u9000\u51fa\u6b64\u5bf9\u8bdd\u6846\uff0c\u800c\u4e0d\u8fdb\u884c\u4efb\u4f55\u64cd\u4f5c\u3002\ + + +FileChooserDemo.findquestion=\u67e5\u627e\u6587\u4ef6: +FileChooserDemo.findresponse=
\ +\u662f\u5426\u786e\u5b9e\u8981\u67e5\u627e\u6587\u4ef6\uff1f\uff01\uff1f
\ +\u6211\u4e0d\u77e5\u9053\u5982\u4f55\u6267\u884c\u8be5\u64cd\u4f5c\uff01\u8fd9\u53ea\u662f\u4e00\u4e2a\u6f14\u793a\uff01\ +
+ +FileChooserDemo.dialogtitle=\u81ea\u5b9a\u4e49\u7684\u5e03\u5c40\u6587\u4ef6\u9009\u62e9\u5668 +FileChooserDemo.help=\u5e2e\u52a9 +FileChooserDemo.find=\u67e5\u627e +FileChooserDemo.ok=\u786e\u5b9a +FileChooserDemo.about=\u5173\u4e8e +FileChooserDemo.cancel=\u53d6\u6d88 + +### Html Demo ### + +HtmlDemo.accessible_description=\u672c\u6f14\u793a\u8bf4\u660e\u600e\u6837\u7528JEditorPane\u7ec4\u4ef6\u663e\u793aHTML\u6587\u672c. +HtmlDemo.tooltip=JEditorPane HTML \u6f14\u793a +HtmlDemo.name=JEditorPane HTML \u6f14\u793a +HtmlDemo.filename=swing.html + + +### Internal Frame Demo ### + +InternalFrameDemo.accessible_description=JInternal Frame \u6f14\u793a +InternalFrameDemo.create_frames_label=\u521b\u5efa\u5b9a\u5236\u7684 Internal Frames +InternalFrameDemo.title_text_field_label=Frame \u6807\u9898: +InternalFrameDemo.frame_label=Frame +InternalFrameDemo.palette_label=Internal Frame \u751f\u6210\u5668 +InternalFrameDemo.name=Internal Frames \u6f14\u793a +InternalFrameDemo.tooltip=JInternalFrame \u6f14\u793a +InternalFrameDemo.closable_label=\u53ef\u5173\u95ed\u7684 +InternalFrameDemo.resizable_label=\u53ef\u7f29\u653e\u7684 +InternalFrameDemo.iconifiable_label=\u53ef\u6700\u5c0f\u5316\u7684 +InternalFrameDemo.maximizable_label=\u53ef\u6700\u5927\u5316\u7684 +InternalFrameDemo.fish=Fishie Fish Fish Fish +InternalFrameDemo.moon=\u665a\u5b89\uff0c\u6708\u4eae +InternalFrameDemo.sun=\u592a\u9633\u51fa\u6765\u4e86... +InternalFrameDemo.cab=\u8c01\u9700\u8981\u51fa\u79df\u8f66? + + +### List Demo ### + +ListDemo.accessible_description=JList\u6f14\u793a +ListDemo.name=List\u6f14\u793a +ListDemo.tooltip=JList\u6f14\u793a +ListDemo.prefixes=\u524d\u7f00 +ListDemo.suffixes=\u540e\u7f00 +ListDemo.count_label=\u751f\u6210\u7684\u5217\u8868\u9879\u7684\u4e2a\u6570\uff1a +ListDemo.all=\u5168\u90e8 +ListDemo.none=\u5168\u90e8\u90fd\u6ca1\u6709 +ListDemo.red=\u7ea2\u8272\u516c\u53f8\u6807\u5fd7\u56fe\u50cf +ListDemo.yellow=\u9ec4\u8272\u516c\u53f8\u6807\u5fd7\u56fe\u50cf +ListDemo.blue=\u5170\u8272\u516c\u53f8\u6807\u5fd7\u56fe\u50cf +ListDemo.gray=\u7070\u8272\u516c\u53f8\u6807\u5fd7\u56fe\u50cf +ListDemo.green=\u7eff\u8272\u516c\u53f8\u6807\u5fd7\u56fe\u50cf +ListDemo.magenta=\u7d2b\u7ea2\u8272\u516c\u53f8\u6807\u5fd7\u56fe\u50cf +ListDemo.cyan=\u9752\u8272\u516c\u53f8\u6807\u5fd7\u56fe\u50cf +ListDemo.description=

\u672c\u6f14\u793a\u8bf4\u660e\u5982\u4f55\u7528\u4e24\u79cd\u4e0d\u540c\u7684\u65b9\u6cd5\u6765\u8868\u793a\u6570\u636e\u7684\u5217\u8868\u3002\u5de6\u8fb9\u662f\u4e00\u4e2a JList \u7ec4\u4ef6\uff0c\u5176\u4e2d\u7684\u5217\u8868\u9879\u7531\u53f3\u8fb9\u9009\u4e2d\u7684\u524d\u7f00\u548c\u540e\u7f00\u7ec4\u6210\u3002\u524d\u7f00\u548c\u540e\u7f00\u68c0\u67e5\u6846\u680f\u662f\u5728JScrollPane\u4e2d\u7684\u4e00\u4e2a\u5177\u6709\u6cbfY\u8f74\u7684BoxLayout\u7684JPanel\u4e2d\u521b\u5efa\u7684\u3002

+ + +### OptionPane Demo ### + +OptionPaneDemo.accessible_description=OptionPane \u6f14\u793a\u663e\u793a\u4e86\u4f7f\u7528 JOptionPane \u751f\u6210\u4e0d\u540c\u7684\u5e38\u7528\u9009\u9879\u5bf9\u8bdd\u6846\u7684\u793a\u4f8b +OptionPaneDemo.tooltip=JOptionPane \u6f14\u793a +OptionPaneDemo.name=\u9009\u9879\u7a97\u683c\u6f14\u793a + +OptionPaneDemo.warningbutton=\u663e\u793a\u8b66\u544a\u5bf9\u8bdd\u6846 +OptionPaneDemo.componentbutton=\u663e\u793a\u7ec4\u4ef6\u5bf9\u8bdd\u6846 +OptionPaneDemo.inputbutton=\u663e\u793a\u8f93\u5165\u5bf9\u8bdd\u6846 +OptionPaneDemo.confirmbutton=\u663e\u793a\u786e\u8ba4\u5bf9\u8bdd\u6846 +OptionPaneDemo.messagebutton=\u663e\u793a\u6d88\u606f\u5bf9\u8bdd\u6846 + +OptionPaneDemo.warningtitle=\u8b66\u544a\u5bf9\u8bdd\u6846\u793a\u4f8b +OptionPaneDemo.warningtext=

\u8fd9\u662f\u4e00\u6b21\u7d27\u6025\u5e7f\u64ad\u7cfb\u7edf\u6d4b\u8bd5\u3002\u8fd9\u53ea\u662f
\u4e00\u6b21\u6d4b\u8bd5
\u3002\u81ea\u613f
\u4e0e\u7f8e\u56fd\u8054\u90a6\u653f\u5e9c\u548c\u5dde\u6388\u6743\u673a\u6784\u534f\u4f5c\u7684\u672c\u5730\u5185\u8054\u7f51\u7684\u7f51\u7edc\u7ba1\u7406\u5458
\u5f00\u53d1\u51fa\u4e86\u6b64\u7cfb\u7edf\uff0c\u4ee5\u4fbf\u5728\u53d1\u751f\u7d27\u6025\u4e8b\u4ef6\u65f6\u901a\u77e5
\u60a8\u3002\u5982\u679c\u8fd9\u662f\u4e00\u4e2a\u771f\u5b9e\u7684\u7d27\u6025\u4e8b\u4ef6\uff0c\u5219\u521a\u521a
\u542c\u5230\u7684\u4fe1\u53f7\u4e4b\u540e\u5c06\u4f1a\u8ddf\u6709\u5b98\u65b9\u4fe1\u606f\u3001\u65b0\u95fb
\u6216\u6307\u4ee4\u3002\u8fd9\u5c06\u7ec8\u6b62\u6b64\u6b21\u7d27\u6025
\u5e7f\u64ad\u7cfb\u7edf
\u6d4b\u8bd5\u3002


\u5f00\u53d1\u8005\u8bf7\u6ce8\u610f: \u6b64\u5bf9\u8bdd\u6846\u6f14\u793a\u4f7f\u7528\u4e86 HTML \u4f5c\u4e3a\u6587\u672c\u683c\u5f0f\u3002

+ +OptionPaneDemo.messagetext=\u74f6\u4e2d\u4fe1\uff08\u662f\uff09 + +OptionPaneDemo.confirmquestion=\u4eca\u5929\u5929\u6c14\u6674\u6717\u5417\uff1f +OptionPaneDemo.confirmyes=\u8001\u662f\u5750\u5728\u7535\u8111\u65c1\u8fb9\u6709\u4ec0\u4e48\u610f\u601d\uff1f
\u5230\u6237\u5916\u53bb\u5427\uff01\u5230\u6d77\u8fb9\u65c5\u884c\u53bb\u5427\uff01\u4eab\u53d7\u4e00\u4e0b\u9633\u5149\uff01 +OptionPaneDemo.confirmno=\u5446\u5728\u5ba4\u5185\u53ef\u4ee5\u514d\u53d7\u81ea\u7136\u73af\u5883\u7684\u4fb5\u5bb3\uff0c\u662f\u4ef6\u597d\u4e8b\uff01 + +OptionPaneDemo.inputquestion=\u60a8\u6700\u559c\u6b22\u54ea\u4e00\u90e8\u7535\u5f71\uff1f +OptionPaneDemo.inputresponse=\u90a3\u662f\u4e00\u90e8\u76f8\u5f53\u597d\u770b\u7684\u7535\u5f71\uff01 + +OptionPaneDemo.componenttitle=\u7ec4\u4ef6\u5bf9\u8bdd\u6846\u793a\u4f8b +OptionPaneDemo.componentmessage=JOptionPane \u53ef\u4ee5\u5305\u542b\u4efb\u610f\u591a\u4e2a\u7ec4\u4ef6
\uff0c\u5982\u6587\u672c\u5b57\u6bb5: +OptionPaneDemo.componenttextfield=\u6216\u8005\u7ec4\u5408\u6846: +OptionPaneDemo.component_cb1=\u9879\u76ee 1 +OptionPaneDemo.component_cb2=\u9879\u76ee 2 +OptionPaneDemo.component_cb3=\u9879\u76ee 3 +OptionPaneDemo.componentmessage2=JOptionPane \u8fd8\u53ef\u4ee5\u663e\u793a\u4efb\u610f\u591a\u4e2a
\u9009\u9879: +OptionPaneDemo.component_op1=\u662f +OptionPaneDemo.component_op2=\u5426 +OptionPaneDemo.component_op3=\u6216\u8bb8 +OptionPaneDemo.component_op4=\u53ef\u80fd +OptionPaneDemo.component_op5=\u53d6\u6d88 + +OptionPaneDemo.component_r1=\u4e50\u89c2\u79ef\u6781\uff01\u6211\u559c\u6b22\u8fd9\u6837\uff01\u6b63\u786e\u7684\u9009\u62e9\u3002 +OptionPaneDemo.component_r2=\u4e00\u5b9a\u4e0d\u4f1a\uff0c\u6211\u4e5f\u4e0d\u4f1a\u90a3\u6837\u505a\u3002 +OptionPaneDemo.component_r3= \u55ef\uff0c\u662f\u7684\uff0c\u73b0\u5728\u60c5\u51b5\u8fd8\u4e0d
\u660e\u786e\u3002\u5f53\u60a8\u4e86\u89e3\u5230\u786e\u5207\u60c5\u51b5\u540e\uff0c\u8bf7\u8fdb\u884c\u6838\u5b9e\u3002
+OptionPaneDemo.component_r4=\u8fd9\u624d\u662f\u60a8\u771f\u6b63\u60f3\u505a\u7684\u3002\u6211\u4ee5\u4e3a\u60a8\u672c\u5e94\u8be5
\u575a\u51b3\u5730\u6309\u4e0b\u201c\u662f\u201d\u3002
+ +### ProgressBar Demo ### + +ProgressBarDemo.accessible_description=\u6b64\u6f14\u793a\u663e\u793a\u4e86\u4f7f\u7528 JProgressBar \u7ec4\u4ef6\u7684\u793a\u4f8b\u3002 +ProgressBarDemo.tooltip=JProgressBar \u6f14\u793a +ProgressBarDemo.name=ProgressBar \u6f14\u793a +ProgressBarDemo.start_button=\u5f00\u59cb\u88c5\u5165\u6587\u672c +ProgressBarDemo.stop_button=\u505c\u6b62\u88c5\u5165\u6587\u672c +ProgressBarDemo.accessible_text_loading_progress=\u6587\u672c\u88c5\u5165\u8fdb\u5ea6 +ProgressBarDemo.accessible_text_area_name=\u88c5\u5165\u7684\u6587\u672c\u6b63\u5728\u9010\u6e10\u589e\u591a + +ProgressBarDemo.accessible_text_area_description=\u8fd9\u4e2a JTextArea \u7531\u6765\u81ea\u7f13\u51b2\u533a\u7684\u6587\u672c\u9010\u4e2a\u5b57\u7b26\u5730\u586b\u5145\uff0c\u540c\u65f6\u7a97\u53e3\u5e95\u90e8\u7684\u8fdb\u5ea6\u6307\u793a\u6761\u5c06\u663e\u793a\u88c5\u5165\u7684\u8fdb\u5ea6 + +ProgressBarDemo.text=\ +\u5e38\u8a00\u9053: \u5982\u679c\u65e0\u6570\u53ea\u7334\u5b50\u5728\u65e0\u6570\u53f0\u6253\u5b57\u673a\u4e0a\u6572\u51fb\u952e\u76d8\uff0c\u6700\u7ec8\n\ +\u5c06\u5f62\u6210\u4eba\u7c7b\u5386\u53f2\u4e0a\u6240\u6709\u4f1f\u5927\u7684\u8457\u4f5c\u3002\u73b0\u5728\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5f53\u4eca\u7684\u9ad8\u901f\u8ba1\u7b97\u673a\u6765\u68c0\u9a8c\n\ +\u8fd9\u4e00\u7406\u8bba\u4e86... \n\n\ +\tLzskd jfy 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf.Djfy 92y;ho4, th;qxhz d7yty; \n\ +\tQ0hnlj 23&^ (# ljask djf y92y; fy92y; Sd6y ty;q2h nl jk la gfa harvin garvel\n\ +\tlasdfsd a83sl la8z ks8l 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf.Djfy 92y;ho4,\n\ +\tth;qxhz d7yty; Q0hnlj 23&^ nknod mrs88 jsd79lfm#%$JLaoz6df lso7dj f2 jfls\n\ +\t67d9ol1@2fou99s 1lkj2 @l.k1 2; a89o7aljf 1l3i7ou8 d8l3 lqwerty0092 #1!\n\ +\tja9o do8lkjj139rojsd9**!l6*hd # ljasd78 l2awkjad78 3ol7asljf 3 ldif & l.js\n\ +\tLl ls ewan la8uj 23lll7u 8l 3h hhxx8 8d lsd fixx 891lkjno99sl d8l@@@!!8#8\n\ +\tdfoil jarooda mklaoorj nowai the smisthliylka jkdlfjiw ladajadra lthhheeejfjl\n\ +\tdkddooolda bub mirznod of the koojgaf!!But 2 be or not to be... that is the\n\ +\tquestion.Then when shall we three meet again In thunder, lightning, or in\n\ +\train?When the hurlyburly's done, When the battle's lost and won.That will\n\ +\tbe ere the set of sun.Where the place?Upon the heath.There to meet with\n\ +\tMacbeth.But hath forth not to want..... a banana, or to be.... a banana.\n\ +\tBanana, I knew him banana.Banana banana.Banana banana banana banana.\n\ +\n\ +\n\ +\n\ +\n\ +\u5662\uff0c\u8fd9\u770b\u8d77\u6765\u662f\u4e2a\u597d\u4e3b\u610f... + + +### ScrollPane Demo ### + +ScrollPaneDemo.accessible_description=JScrollPane \u6f14\u793a +ScrollPaneDemo.name=Scroll Pane \u6f14\u793a +ScrollPaneDemo.tooltip=JScrollPane \u6f14\u793a +ScrollPaneDemo.crayons=\u5f88\u591a\u5f69\u7b14 +ScrollPaneDemo.colheader=\u5217\u6807\u9898 +ScrollPaneDemo.rowheader=\u884c\u6807\u9898 +ScrollPaneDemo.upperleft=\u5de6\u4e0a\u89d2 +ScrollPaneDemo.upperright=\u53f3\u4e0a\u5217\u6807\u9898\u89d2 +ScrollPaneDemo.lowerleft=\u5de6\u4e0b\u884c\u6807\u9898\u89d2 + + +### Slider Demo ### + +SliderDemo.accessible_description=\u6b64\u6f14\u793a\u663e\u793a\u4e86\u4f7f\u7528 JSlider \u7ec4\u4ef6\u7684\u793a\u4f8b\u3002 +SliderDemo.tooltip=JSlider \u6f14\u793a +SliderDemo.name=\u6ed1\u5757\u6f14\u793a + +SliderDemo.slidervalue=\u6ed1\u5757\u503c: +SliderDemo.horizontal=\u6c34\u5e73 +SliderDemo.vertical=\u5782\u76f4 +SliderDemo.plain=\u65e0\u683c\u5f0f +SliderDemo.a_plain_slider=\u65e0\u683c\u5f0f\u6ed1\u5757 +SliderDemo.majorticks=\u4e3b\u8bb0\u53f7 +SliderDemo.majorticksdescription=\u6ed1\u5757\u663e\u793a\u4e3b\u8bb0\u53f7 +SliderDemo.ticks=\u6b21\u8bb0\u53f7\u3001\u6293\u53d6\u8bb0\u53f7\u548c\u6807\u7b7e +SliderDemo.minorticks=\u6b21\u8bb0\u53f7 +SliderDemo.minorticksdescription=\u6ed1\u5757\u663e\u793a\u4e3b\u8bb0\u53f7\u548c\u6b21\u8bb0\u53f7\uff0c\u6ed1\u5757\u52a8\u4f5c\u5c06\u6293\u53d6\u8bb0\u53f7\uff0c\u5e76\u660e\u663e\u5730\u6807\u8bb0\u51fa\u67d0\u4e9b\u8bb0\u53f7 +SliderDemo.disabled=\u5df2\u7981\u7528 +SliderDemo.disableddescription=\u6ed1\u5757\u663e\u793a\u672a\u542f\u7528\u7684\u4e3b\u8bb0\u53f7\u548c\u6b21\u8bb0\u53f7\uff08\u65e0\u6cd5\u64cd\u4f5c + +### SplitPane Demo ### + +SplitPaneDemo.accessible_description=JSplitPane \u6f14\u793a +SplitPaneDemo.name=Split Pane \u6f14\u793a +SplitPaneDemo.tooltip=JSplitPane \u6f14\u793a +SplitPaneDemo.earth=\u5730\u7403\u6bcd\u4eb2 +SplitPaneDemo.moon=\u6708\u7403\u4e0a\u7684\u5b87\u822a\u5458 +SplitPaneDemo.vert_split=\u5782\u76f4\u5206\u9694 +SplitPaneDemo.vert_split_mnemonic=V +SplitPaneDemo.horz_split=\u6c34\u5e73\u5206\u9694 +SplitPaneDemo.horz_split_mnemonic=r +SplitPaneDemo.cont_layout=\u8fde\u7eed\u5e03\u5c40 +SplitPaneDemo.cont_layout_mnemonic=C +SplitPaneDemo.one_touch_expandable=\u70b9\u51fb\u53ef\u5c55\u5f00 +SplitPaneDemo.one_touch_expandable_mnemonic=O +SplitPaneDemo.divider_size=\u5206\u9694\u7b26\u5c3a\u5bf8 +SplitPaneDemo.divider_size_mnemonic=z +SplitPaneDemo.invalid_divider_size=\u65e0\u6548\u7684\u5206\u9694\u7b26\u5c3a\u5bf8, +SplitPaneDemo.error=\u9519\u8bef +SplitPaneDemo.first_component_min_size=\u7b2c\u4e00\u4e2a\u7ec4\u4ef6\u7684\u6700\u5c0f\u5c3a\u5bf8 +SplitPaneDemo.first_component_min_size_mnemonic=i +SplitPaneDemo.second_component_min_size=\u7b2c\u4e8c\u7ec4\u4ef6\u7684\u6700\u5c0f\u5c3a\u5bf8 +SplitPaneDemo.second_component_min_size_mnemonic=n +SplitPaneDemo.invalid_min_size=\u65e0\u6548\u7684\u6700\u5c0f\u5c3a\u5bf8 +SplitPaneDemo.must_be_greater_than=\u5fc5\u987b\u5927\u4e8e + + +### TabbedPane Demo ### + +TabbedPaneDemo.accessible_description=\u6b64\u6f14\u793a\u663e\u793a\u4e86\u4f7f\u7528 JComboBox \u7ec4\u4ef6\u7684\u793a\u4f8b\u3002 +TabbedPaneDemo.tooltip=JTabbedPane \u6f14\u793a +TabbedPaneDemo.name=TabbedPane \u6f14\u793a + +TabbedPaneDemo.bounce=
\u5065\u5eb7\u6d3b\u6cfc\u7684\u5a74\u513f\uff01
+TabbedPaneDemo.stephen=Stephen +TabbedPaneDemo.david=David +TabbedPaneDemo.matthew=Matthew +TabbedPaneDemo.ewan=Ewan +TabbedPaneDemo.blake=Blake +TabbedPaneDemo.brooke=Brooke +TabbedPaneDemo.laine=Laine +TabbedPaneDemo.hania=Hania + +TabbedPaneDemo.label=\u5236\u8868\u7b26\u4f4d\u7f6e: +TabbedPaneDemo.top=\u9876\u90e8 +TabbedPaneDemo.bottom=\u5e95\u90e8 +TabbedPaneDemo.left=\u5de6\u4fa7 +TabbedPaneDemo.right=\u53f3\u4fa7 + + +### Table Demo ### + +TableDemo.accessible_description=JTable \u6f14\u793a +TableDemo.name=Table \u6f14\u793a +TableDemo.tooltip=JTable \u6f14\u793a +TableDemo.all_columns=\u6240\u6709\u7684\u5217 +TableDemo.autoresize_mode=\u81ea\u52a8\u6539\u53d8\u5c3a\u65b9\u5f0f +TableDemo.cell_selection=\u5355\u5143\u9009\u62e9 +TableDemo.column_boundaries=\u5217\u8fb9\u754c +TableDemo.column_selection=\u5217\u9009\u62e9 +TableDemo.horz_lines=\u6c34\u5e73\u7ebf +TableDemo.intercell_spacing=\u5355\u5143\u95f4\u8ddd +TableDemo.intercell_spacing_colon=\u5355\u5143\u95f4\u8ddd: +TableDemo.last_column=\u6700\u540e\u5217 +TableDemo.multiple_ranges=\u591a\u4e2a\u533a\u57df +TableDemo.one_range=\u4e00\u4e2a\u533a\u57df +TableDemo.reordering_allowed=\u5bb9\u8bb8\u6392\u5e8f +TableDemo.row_height=\u884c\u9ad8 +TableDemo.row_height_colon=\u884c\u9ad8: +TableDemo.row_selection=\u884c\u9009\u62e9 +TableDemo.selection_mode=\u9009\u62e9\u65b9\u5f0f +TableDemo.subsequent_columns=\u540e\u5e8f\u5217 +TableDemo.vert_lines=\u5782\u76f4\u7ebf +TableDemo.single=\u5355\u4e00 +TableDemo.none=\u4ec0\u4e48\u90fd\u6ca1\u6709 +TableDemo.off=\u5173 +TableDemo.first_name=\u540d +TableDemo.last_name=\u59d3 +TableDemo.favorite_color=\u559c\u7231\u7684\u989c\u8272 +TableDemo.favorite_food=\u559c\u7231\u7684\u98df\u54c1 +TableDemo.favorite_movie=\u559c\u7231\u7684\u7535\u5f71 +TableDemo.favorite_number=\u559c\u7231\u7684\u6570\u5b57 +TableDemo.aqua=\u6db2\u4f53 +TableDemo.beige=Beige +TableDemo.black=\u9ed1\u8272 +TableDemo.blue=\u84dd\u8272 +TableDemo.cybergreen=\u4eba\u5de5\u7eff +TableDemo.darkgreen=\u58a8\u7eff +TableDemo.eblue=\u7535\u5668\u84dd +TableDemo.jfcblue=JFC\u57fa\u672c +TableDemo.jfcblue2=JFC\u8f85\u52a9 +TableDemo.forestgreen=\u68ee\u6797\u7eff +TableDemo.gray=\u7070\u8272 +TableDemo.green=\u7eff\u8272 +TableDemo.orange=\u6a59\u8272 +TableDemo.purple=\u7d2b\u8272 +TableDemo.red=\u7ea2\u8272 +TableDemo.rustred=\u9508\u7ea2 +TableDemo.sunpurple=\u592a\u9633\u7d2b +TableDemo.suspectpink=\u7591\u60d1\u7c89\u7ea2 +TableDemo.turquoise=\u9752\u7eff\u8272 +TableDemo.violet=\u7d2b\u7f57\u5170\u8272 +TableDemo.yellow=\u9ec4\u8272 +TableDemo.2001=2001:\u592a\u7a7a\u5965\u5fb7\u8d5b +TableDemo.buckaroo=Buckaroo Banza\u7a7f\u8d8a\u7b2c8\u7ef4\u7684\u5192\u9669 +TableDemo.firstsight=\u4e4d\u4e00\u770b +TableDemo.airplane=\u98de\u673a(\u5168\u7cfb\u5217) +TableDemo.aliens=\u5f02\u5f62 +TableDemo.bicycle=\u5077\u81ea\u884c\u8f66\u8005 +TableDemo.bladerunner=\u5200\u950b\u5954\u8dd1\u8005(\u526a\u7f09) +TableDemo.bluesbros=\u5e03\u9c81\u65af\u5144\u5f1f +TableDemo.brazil=\u5df4\u897f +TableDemo.bugs=\u866b\u5b50\u7684\u751f\u6d3b +TableDemo.city=\u4e22\u5931\u5b69\u5b50\u7684\u57ce\u5e02 +TableDemo.chusingura=Chusingura (1962) +TableDemo.clock=\u53d1\u6761\u6a59 +TableDemo.curse=\u6076\u9b54\u7684\u8bc5\u5492 +TableDemo.dasboot=Das Boot +TableDemo.dazed=\u6655\u7729\u548c\u8ff7\u60d1 +TableDemo.defending=\u4fdd\u536b\u4f60\u7684\u751f\u6d3b +TableDemo.eraserhead=\u5254\u5200 +TableDemo.fifthelement=\u7b2c\u4e94\u5143\u7d20 +TableDemo.goodfellas=Goodfellas +TableDemo.harold=Harold & Maude +TableDemo.joyluck=\u6b22\u4e50\u5e78\u8fd0\u4ff1\u4e50\u90e8 +TableDemo.jules=Jules et Jim +TableDemo.ladyvanishes=\u5973\u58eb\u6d88\u5931 +TableDemo.mohicans=\u6700\u540e\u7684Mohican +TableDemo.lonestar=\u5b64\u72ec\u7684\u660e\u661f +TableDemo.man=\u4ed6\u77e5\u9053\u5f97\u592a\u591a\u4e86 +TableDemo.musicman=\u97f3\u4e50\u4eba +TableDemo.dog=\u6211\u7684\u4f5c\u4e3a\u72d7\u7684\u751f\u6d3b +TableDemo.oncewest=\u4ece\u524d\u5728\u897f\u90e8 +TableDemo.pulpfiction=\u679c\u8089\u5c0f\u8bf4 +TableDemo.raiders=\u4e22\u5931\u7684\u907f\u96be\u6240\u7684\u4fb5\u5165\u8005 +TableDemo.reservoir=\u6c34\u5e93\u72d7 +TableDemo.repoman=\u7acb\u6ce2\u4eba +TableDemo.spinaltap=\u8fd9\u662f\u5c16\u624b\u67c4 +TableDemo.schindlerslist=\u8f9b\u5fb7\u52d2\u540d\u5355 +TableDemo.starwars=\u661f\u7403\u5927\u6218 +TableDemo.stuntman=\u7279\u6280\u6f14\u5458 +TableDemo.thinman=\u7626\u4eba +TableDemo.withnail=Withnail\u548c\u6211 +TableDemo.labyrinth=Labyrinth +TableDemo.shawshank=The Shawshank Redemption +TableDemo.apple=\u82f9\u679c +TableDemo.asparagus=\u82a6\u7b0b +TableDemo.banana=\u9999\u8549 +TableDemo.broccoli=\u7518\u84dd +TableDemo.carrot=\u80e1\u7f57\u535c +TableDemo.cantaloupe=Cantaloupe +TableDemo.corn=\u7389\u7c73 +TableDemo.grapes=\u8461\u8404 +TableDemo.grapefruit=\u67da\u5b50 +TableDemo.kiwi=\u5947\u5f02\u679c +TableDemo.onion=\u6d0b\u8471 +TableDemo.pear=\u68a8 +TableDemo.peach=\u6843\u5b50 +TableDemo.pepper=\u7ea2\u80e1\u6912 +TableDemo.pickle=\u6ce1\u83dc +TableDemo.pineapple=\u6ce2\u841d +TableDemo.raspberry=\u59d1\u917f\u679c +TableDemo.sparegrass=\u7a7a\u95f2\u8349 +TableDemo.strawberry=\u8349\u8393 +TableDemo.tomato=\u756a\u8304 +TableDemo.watermelon=\u897f\u74dc + +TableDemo.printing=\u6253\u5370 +TableDemo.fitWidth=\u6309\u5bbd\u5ea6\u663e\u793a +TableDemo.print=\u6253\u5370 +TableDemo.header=\u9875\u7709 + +# This string will be formatted by a MessageFormat and +# printed at the top of each page of the printed result. +# You can use {0} to insert a page number. +TableDemo.headerText=JTable \u6253\u5370 + +TableDemo.footer=\u9875\u811a + +# This string will be formatted by a MessageFormat and +# printed at the bottom of each page of the printed result. +# You can use {0} to insert a page number. +TableDemo.footerText=\u9875\u9762 {0} + +TableDemo.printingResult=\u6253\u5370\u7ed3\u679c +TableDemo.printingComplete=\u6253\u5370\u5b8c\u6210 +TableDemo.printingCancelled=\u6253\u5370\u5df2\u53d6\u6d88 + +# This string will be formatted by a MessageFormat and +# and displayed when an exception occurs. +# {0} is used to place details of the exception. +TableDemo.printingFailed=\u6253\u5370\u5931\u8d25: {0} + + +### ToolTip Demo ### + +ToolTipDemo.accessible_description=ToolTips\u6307\u793a\u5bf9\u7ec4\u4ef6\u7684\u7b80\u77ed\u5e2e\u52a9\u63cf\u8ff0 +ToolTipDemo.accessible_cow=\u8fd9\u662f\u5976\u725b. +ToolTipDemo.tooltip=ToolTip \u6f14\u793a +ToolTipDemo.name=ToolTip \u6f14\u793a +ToolTipDemo.bessie=Bessie\u5976\u725b +ToolTipDemo.cow=\u5976\u725b. +ToolTipDemo.got_milk=\u5f97\u5230\u5976\u4e86\u5417? +ToolTipDemo.tail=\u5c3e\u5df4. +ToolTipDemo.moo=\u54de\u3002\u3002\u3002\u3002\u3002\u3002 +ToolTipDemo.tooltip_features=\u5982\u679c\u4f60\u8ba4\u4e3a\u5de5\u5177\u6307\u793a\u4ee4\u4eba\u8ba8\u538c\uff0c

\u4e00\u884c\u63cf\u8ff0, Swing\uff01 \u5c0f\u7ec4

\u975e\u5e38\u9ad8\u5174\u4ee4\u4f60\u8fd9\u79cd\u611f\u89c9\u6d88\u6563\u3002

\u5728Swing\u4e2d\uff0c\u4ed6\u4eec\u53ef\u4ee5\u7528HTML\u53bb

\u54e6, \u8fd8\u53ef\u4ee5\u662f\u591a\u884c\u3002 + + +### Tree Demo ### + +TreeDemo.accessible_description=\u6b64\u6f14\u793a\u663e\u793a\u4e86\u4f7f\u7528 JTree \u7ec4\u4ef6\u7684\u793a\u4f8b\u3002 +TreeDemo.tooltip=JTree \u6f14\u793a +TreeDemo.name=\u6811\u6f14\u793a +TreeDemo.music=\u97f3\u4e50 + +### DIY DEMO ### +TextAreaDemo.accessible_description=TextAreaDemo \u6f14\u793a +TextAreaDemo.name=TextAreaDemo \u6f14\u793a +TextAreaDemo.tooltip=TextAreaDemo \u6f14\u793a + diff --git a/src/main/resources/static/images/.keepgit b/src/main/resources/static/images/.keepgit new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/static/images/About.jpg b/src/main/resources/static/images/About.jpg new file mode 100644 index 0000000..24778d2 Binary files /dev/null and b/src/main/resources/static/images/About.jpg differ diff --git a/src/main/resources/static/images/splash.png b/src/main/resources/static/images/splash.png new file mode 100644 index 0000000..af5d4bd Binary files /dev/null and b/src/main/resources/static/images/splash.png differ diff --git a/src/main/resources/templates/.keepgit b/src/main/resources/templates/.keepgit new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/tree.txt b/src/main/resources/tree.txt new file mode 100644 index 0000000..2c92fca --- /dev/null +++ b/src/main/resources/tree.txt @@ -0,0 +1,628 @@ +################################################################################ +# Note: do not add blank lines, the data parser in TreeDemo.java cannot # +# handle them. # +# # +# Key: # +# Popular / Classical # +# ---------------------------- # +# A = Artist / Composer # +# R = Record / Style # +# S = Song Name / Composition # +# C = Catagory # +# # +################################################################################ +C Classical +A Beethoven +R concertos +S No. 1 - C +S No. 2 - B-Flat Major +S No. 3 - C Minor +S No. 4 - G Major +S No. 5 - E-Flat Major +R Quartets +S Six String Quartets +S Three String Quartets +S Grosse Fugue for String Quartets +R Sonatas +S Sonata in A Minor +S Sonata in F Major +R Symphonies +S No. 1 - C Major +S No. 2 - D Major +S No. 3 - E-Flat Major +S No. 4 - B-Flat Major +S No. 5 - C Minor +S No. 6 - F Major +S No. 7 - A Major +S No. 8 - F Major +S No. 9 - D Minor +A Brahms +R Concertos +S Violin Concerto +S Double Concerto - A Minor +S Piano Concerto No. 1 - D Minor +S Piano Concerto No. 2 - B-Flat Major +R Quartets +S Piano Quartet No. 1 - G Minor +S Piano Quartet No. 2 - A Major +S Piano Quartet No. 3 - C Minor +S String Quartet No. 3 - B-Flat Minor +R Sonatas +S Two Sonatas for Clarinet - F Minor +S Two Sonatas for Clarinet - E-Flat Major +R Symphonies +S No. 1 - C Minor +S No. 2 - D Minor +S No. 3 - F Major +S No. 4 - E Minor +A Mozart +R Concertos +S Piano Concerto No. 12 +S Piano Concerto No. 17 +S Clarinet Concerto +S Violin Concerto No. 5 +S Violin Concerto No. 4 +C Jazz +A Albert Ayler +R My Name is Albert Ayler +S Bye Bye Blackbird +S Billie's Bounce +S Summertime +S On Green Dolphin Street +S C.T. +R Swing Low Sweet Spiritual +S Goin' Home +S Old Man River +S When The Saints Go Marching In +S Deep River +S Down By The Riverside +S Spirits +S Witches and Devils +S Holy, Holy +S Saints +R Prophesy +S Spirits +S Wizard +S Ghosts +S Prophecy +R New Grass +S Free At Last +S Everybody's Movin' +S New Generation +S Heart Love +S Sun Watcher +A Chet Baker +R Sings and Plays +S Let's Get Lost +S This Is Always +S Long Ago and Far Away +S I Wish I Knew +S Daybreak +S Grey December +S I Remember You +R My Funny Valentine +S My Funny Valentine +S Someone To Watch Over Me +S Moonlight Becomes You +S I'm Glad There is You +S This is Always +S Time After Time +S Sweet Lorraine +S It's Always You +S Moon Love +S Like Someone In Love +S I've Never Been In Love Before +S Isn't it Romantic +S I Fall In Love Too Easily +R Grey December +S Grey December +S I Wish I Knew +S Someone To Watch Over Me +S Headline +S Bockhanal +S A Dandy Line +S Pro Defunctus +S Little Old Lady +S Goodbye +R The Route +S Tynan Time +S The Route +S Minor Yours +S Little Girl +S Ol' Croix +S The Great Lie +S Sweet Lorrain +S If I Should Lose You +A John Coltrane +R Blue Train +S Blue Train +S Moment's Notice +S Locomotion +S I'm Old Fashioned +S Lazy Bird +R Giant Steps +S Giant Steps +S Cousin Mary Steps +S Countdown +S Spiral +S Syeeda's Song Flute +S Naima +S Mr. P.C. +R My Favorite Things +S My Favorite Things +S Everytime We Say Goodbye +S Summertime +S But Not For Me +R Crescent +S Crescent +S Wise One +S Bessie's Blues +S Lonnie's Lament +S The Drum Thing +R Interstellar Space +S Mars +S Leo +S Venus +S Jupiter Variation +S Jupiter +S Saturn +A Miles Davis +R Transition +S Autumn Leaves +S Two Bass Hit +S Love, I've Found You +S I Thought About You +S All Blues +S Seven Steps To Heaven +R Quiet Nights +S Once Upon a Summertime +S Aos Pes Da Cruz +S Wait Till You See Her +S Corcovado +S Summer Nights +R My Funny Valentine +S All of You +S Stella By Starlight +S All Blues +S I Thought About You +R Voodoo Down +S Automn Leaves +S Footprints +S Directions +S Bitches Brew +S Hush +C Rock +A The Beatles +R A Hard Day's Night +S A Hard Day's Night +S I Should Have Known Better +S If I Fell +S I'm Happy Just To Dance With You +S And I Love Her +S Tell Me Why +S Can't Buy Me Love +S Any Time At All +S I'll Cry Instead +S Things We Said Today +S When I Get Home +S You Can't Do That +R Beatles For Sale +S No Reply +S I'm a Loser +S Baby's In Black +S Rock And Roll Music +S I'll Follow the Sun +S Mr. Moonlight +S Kansas City/Hey Hey Hey Hey +S Eight Days a Week +S Words Of Love +S Honey Don't +S Every Little Thing +S I Don't Want To Spoil the Party +S What You're Doing +S Everybody's Trying To Be My Baby +R Help! +S Help! +S The Night Before +S You've Got To Hide Your Love Away +S I Need You +S Another Girl +S You're Going To Lose That Girl +S Ticket To Ride +S Act Naturally +S It's Only Love +S You Like Me Too Much +S Tell Me What You See +S I've Just Seen a Face +S Yesterday +S Dizzy Miss Lizzie +R Rubber Soul +S Drive My Car +S Norwegian Wood +S You Won't See Me +S Nowhere Man +S Think For Yourself +S The Word +S Michelle +S What Goes On? +S Girl +S I'm Looking Through You +S In My Life +S Wait +S If I Needed Someone +S Run For Your Life +R Revolver +S Taxman +S Rigby +S I'm Only Sleeping +S For You To +S Here There And Everywhere +S Yellow Submarine +S She Said She Said +S Good Day Sunshine +S And Your Bird Can Sing +S For No One +S Doctor Robert +S I Want To Tell You +S Got To Get You Into My Life +S Tomorrow Never Knows +R Sgt. Pepper's Lonely Hearts Club Band +S Sgt. Pepper's Lonely Hearts Club Band +S With a Little Help From My Friends +S Lucy in the Sky With Diamonds +S Getting Better +S Fixing a Hole +S She's Leaving Home +S Being For the Benefit of Mr. Kite +S Within You Without You +S When I'm Sixty Four +S Lovely Rita +S Good Morning +S Sgt. Pepper's Reprise +S A Day In The Life +R Magical Mystery Tour +S Magical Mystery Tour +S Fool on the Hill +S Flying +S Blue Jay Way +S Your Mother Should Know +S I Am The Walrus +S Hello Goodbye +S Strawberry Fields Forever +S Penny Lane +S Baby You're a Rich Man +S All You Need Is Love +R The White Album +S Back in the USSR +S Dear Prudence +S Glass Onion +S Wild Honey Pie +S Bungalow Bill +S While My Guitar Gently Weeps +S Martha My Dear +S I'm So Tired +S Blackbird +S Piggies +S Rocky Raccoon +S Don't Pass Me By +S Why Don't We Do It In The Road +S I Will +S Julia +S Birthday +S Yer Blues +S Mother Nature's Son +S Sexy Sadie +S Helter Skelter +S Long Long Long +S Revolution 1 +S Honey Pie +S Savoy Truffle +S Cry Baby Cry +S Revolution 9 +S Good Night +R Abbey Road +S Come Together +S Something +S Maxwell's Silver Hammer +S Octopus's Garden +S She's So Heavy +S Here Comes The Sun +S Because +S You Never Give Me Your Money +S Sun King +S Mean Mr. Mustard +S Polythene Pam +S She Came In Through The Bathroom Window +S Golden Slumbers +S Carry That Weight +S The End +S Her Majesty +R Let It Be +S Two of Us +S Dig A Pony +S Across the Universe +S I Me Mine +S Dig It +S Let It Be +S Maggie Mae +S I've Got A Feeling +S One After 909 +S The Long and Winding Road +S For You Blue +S Get Back +A Crowded House +R Crowded House +S Mean To Me +S World Where You Live +S Now We're Getting Somewhere +S Don't Dream It's Over +S Love You Til The Day I Die +S Something So Strong +S Hole In The River +S Can't Carry On +S I Walk Away +S Tombstone +S That's What I Call Live +R Temple of Low Men +S I Feel Possessed +S Kill Eye +S Into Temptation +S Mansion In The Slums +S When You Come +S Never Be The Same +S Love This Life +S Sister Madly +S In The Lowlands +S Better Be Home Soon +R Woodface +S Chocolate Cake +S It's Only Natural +S Fall At Your Feet +S Tall Trees +S Weather With You +S Whispers and Moans +S Four Seasons in One Day +S There Goes God +S Fame Is +S All I Ask +S As Sure As I Am +S Italian Plastic +S She Goes On +S How Will You Go +R Together Alone +S Kare Kare +S In My Command +S Nails In My Feet +S Black & White Boy +S Fingers of Love +S Pineapple Head +S Locked Out +S Private Universe +S Walking on the Spot +S Distant Sun +S Catherine Wheels +S Skin Feeling +S Together Alone +A The Fixx +R Shuttered Room +S Some People +S Stand or Fall +S Cameras In Paris +S Shuttered Room +S The Fool +S Lost Planes +S I Live +S Sinking Island +S Time in a Glass +S Red Skies +R Reach The Beach +S One Thing Leads To Another +S The Sign of Fire +S Running +S Saved By Zero +S Opinions +S Reach The Beach +S Changing +S Liner +S Privilege +S Outside +R Phantoms +S Lose Face +S Less Cities, More Moving People +S Sunshine in the Shade +S Woman on a Train +S Wish +S Lost in Battle Overseas +S Question +S In Suspense +S Facing the Wind +S Are We Ourselves +S I Will +S Phantom Living +R Walkabout +S Secret Separation +S Built for the Future +S Treasure It +S Can't Finish +S Walkabout +S One Look Up +S Read Between The Lines +S Sense The Adventure +S Camphor +S Peace On Earth/Do What You Can +R Calm Animals +S I'm Life +S Driven Out +S Subterranean +S Precious Stone +S Gypsy Feet +S Calm Animals +S Shred of Evidence +S The Flow +S World Weary +S Caused To Be Alarmed +R Ink +S All is Fair +S How much Is Enough +S No One Has To Cry +S Crucified +S Falling In Love +S Shut It Out +S Still Around +S All The Best Things +S Yesterday, Today +S One Jungle +S Climb The Hill +S Make No Plans +R Elemental +S Two Different Views +S Going Without +S Is That It? +S Happy Landings +S Silent House +S Fatal Shore +S Ocean Blue +S You Know Me +S We Once Held Hands +S Life's What's Killing Me +A Harvin Garvel +R Harvin Garvel I +S Body +S What You Said +S All Rights Reserved +S High Purity +S Lies +S Get Real +S Gradma Cries +S First Feel +S Somethings wrong +S Shoes +S Spice Rack +S Dark Feel +S Tug of War +S Ant Song +R Harvin Garvel II +S We Ain't Through +S Trash and Spend +S Kick +S The Garden +S One & Only +S Squid Frenzy +S Soul In Soul +S The Desert +S He Grew Up +S Talk +S Image +S Tomorrow +S R70 +R Full Grown Dog +S I Am +S Say +S Is This Real +S What She Said +S Mirror Lies +S Girls +S Your Will +S Slow Motion Sunday +S Simple Life +S The Road Song +S The Same Way +S Stop Tryin +R Persia +S Exonic +S Drift +S Cruise +S MugWump +S Smear +S Everything +S Keep +S Circle +R Sensative Beak +S Whatcha Gotta Do +S Somewhere In This World +S Awaken +S Just A Dog +S I Can Dance +S Tomorrow +S Love Who? +S Is There Something +S I Like It +S Easy Chair +S As We Are One +S Far Away +S Leaving Science +S What A Life +A Komeda +R Plan 714 Till +S Fuego De La Vida +S Herbamore +S Som I Fjol +S En Spricka I Taket +R Genius Of +S More Is More +S Fire +S Rocket Plane (Music On The Moon) +S Boogie Woogie/Rock 'N' Roll +S Disko +S Top Star +S Light O' My Life +S If +S Frolic +S In Orbit +S Arbogast +S New New No +R What Makes It Go +S Binario +S It's Alright, Baby +S Curious +S Cul de Sac +S Living Things +S Flabbergast +S Campfire +S Happyment +S Our Hospitality +S Focus +S A Simple Formality +A Steve Miller Band +R Circle Of Love +S Heart Like A Wheel +S Get On Home +S Baby Wanna Dance +S Circle Of Love +S Macho City +R Fly Like An Eagle +S Space Intro +S Fly Like An Eagle +S Wild Mountain Honey +S Serenade +S Dance, Dance, Dance +S Mercury Blues +S Take the Money and Run +S Rockin' Me +S You Send Me +S Blue Odyssey +S Sweet Maree +S The Window +R Book Of Dreams +S Threshold +S Jet Airliner +S Winter Time +S Swingtown +S True Fine Love +S Wish Upon A Star +S Jungle Love +S Electrolux Imbroglio +S Sacrifice +S The Stake +S My Own Space +S Babes In The Wood +R Joker +S Sugar, Babe +S Mary Lou +S Shu Ba Da Du Ma +S Your Cash Ain't Nothin' But Trash +S The Joker +S The Lovin' Cup +S Come On In My Kitchen +S Evil +S Something To Believe In diff --git a/src/test/java/com/insigma/.keepgit b/src/test/java/com/insigma/.keepgit new file mode 100644 index 0000000..e69de29