2 import java.awt.BorderLayout;
3 import java.awt.ComponentOrientation;
4 import java.awt.Container;
5 import java.awt.Dimension;
7 import java.awt.GridLayout;
8 import java.awt.MediaTracker;
10 import java.text.DecimalFormat;
11 import java.util.HashMap;
12 import java.util.Locale;
15 import javax.swing.ImageIcon;
16 import javax.swing.JButton;
17 import javax.swing.JCheckBox;
18 import javax.swing.JCheckBoxMenuItem;
19 import javax.swing.JFrame;
20 import javax.swing.JLabel;
21 import javax.swing.JMenu;
22 import javax.swing.JMenuBar;
23 import javax.swing.JPanel;
24 import javax.swing.JRadioButton;
25 import javax.swing.JRadioButtonMenuItem;
26 import javax.swing.SwingConstants;
27 import javax.swing.WindowConstants;
28 import javax.swing.border.TitledBorder;
31 * A class with a main method entry point for ad hoc tests of JalviewJS
32 * behaviour. The J2S transpiler should generate an html entry point for this
33 * class, allowing comparison between Java and Javascript execution.
35 public class JalviewJSTest extends JPanel
37 public static void main(String[] args)
39 new JalviewJSTest().doTest4();
44 Float fl = new Float(0f);
45 System.out.println(fl.isInfinite());
46 System.out.println(fl.isNaN());
48 System.out.println(Float.isInfinite(0f));
49 System.out.println(Float.isFinite(0f));
50 System.out.println(Float.isNaN(0f));
55 System.out.println("Mungo".toLowerCase(Locale.getDefault()));
56 System.out.println("Mungo".toLowerCase(Locale.ENGLISH));
57 System.out.println("Mungo".toLowerCase(Locale.ROOT));
61 Map<File, String> map = new HashMap<>();
62 File f1 = new File("/var/folders/y/xyz");
63 File f2 = new File("/var/folders/y/xyz");
64 map.put(f1, "hello world");
65 System.out.println("f1.equals(f2) = " + f1.equals(f2));
66 System.out.println("f1 hashCode = " + f1.hashCode());
67 System.out.println("f2 hashCode = " + f2.hashCode());
68 System.out.println(map.get(f2));
71 * Put some content in a JFrame and show it
75 System.out.println("ab;c;".split(";"));
76 new DecimalFormat("###,###").format((Integer) 1);
77 JFrame main = new JFrame();
78 main.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
79 JMenu menu = new JMenu("testing");
80 menu.setHorizontalAlignment(SwingConstants.RIGHT);
81 main.setContentPane(getVisualPaneContent(menu));
82 main.setJMenuBar(new JMenuBar());
83 main.getJMenuBar().add(menu);
85 main.setVisible(true);
89 * Builds a cut-down 'Preferences Visual tab' for a minimal test of layout
93 Container getVisualPaneContent(JMenu menu)
95 JPanel panel = new JPanel();
96 panel.setPreferredSize(new Dimension(400, 500));
97 panel.setOpaque(true);
98 panel.setLayout(new BorderLayout());
100 JPanel firstColumn = new JPanel();
101 firstColumn.setLayout(new GridLayout(10, 1));
102 firstColumn.setBorder(new TitledBorder("column 1"));
106 * - checkbox label and text extend outside the enclosing panel in JS
108 Font font = new Font("Verdana", Font.PLAIN, 11);
110 JLabel l1 = new JLabel(getImage("test2.png"));
111 l1.setText("trailing right");
112 l1.setHorizontalTextPosition(SwingConstants.TRAILING);
113 l1.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
114 l1.setHorizontalAlignment(SwingConstants.RIGHT);
116 JLabel l2 = new JLabel(getImage("test2.png"));
117 l2.setText("leading left");
119 l2.setHorizontalTextPosition(SwingConstants.LEADING);
120 l2.setHorizontalAlignment(SwingConstants.LEFT);
122 JButton b1 = new JButton("right left");
123 b1.setIcon(getImage("test2.png"));
125 b1.setHorizontalTextPosition(SwingConstants.RIGHT);
126 b1.setHorizontalAlignment(SwingConstants.LEFT);
133 JCheckBox cb3 = new JCheckBox("leading,left-to-right,rt");
135 cb3.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
136 cb3.setHorizontalTextPosition(SwingConstants.LEADING);
137 cb3.setHorizontalAlignment(SwingConstants.TRAILING);
139 JCheckBox cb4 = new JCheckBox("leading,right-to-left");
141 cb4.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
142 cb4.setHorizontalTextPosition(SwingConstants.LEADING);
144 JCheckBox cb5 = new JCheckBox("trailing,left-to-right");
146 cb5.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
147 cb5.setHorizontalTextPosition(SwingConstants.TRAILING);
149 JRadioButton rb1 = new JRadioButton("trailing,right-to-left");
151 rb1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
152 rb1.setHorizontalTextPosition(SwingConstants.TRAILING);
154 JRadioButton rb2 = new JRadioButton("right,left-to-right");
156 rb2.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
157 rb2.setHorizontalTextPosition(SwingConstants.RIGHT);
159 JRadioButton rb3 = new JRadioButton("right,right-to-left");
161 rb3.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
162 rb3.setHorizontalTextPosition(SwingConstants.RIGHT);
166 firstColumn.add(cb3);
167 firstColumn.add(cb4);
168 firstColumn.add(cb5);
169 firstColumn.add(rb1);
170 firstColumn.add(rb2);
171 firstColumn.add(rb3);
172 firstColumn.setBounds(200, 20, 200, 500);
174 JCheckBoxMenuItem cb3m = new JCheckBoxMenuItem("leading,left-to-right");
176 cb3m.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
177 cb3m.setHorizontalTextPosition(SwingConstants.LEADING);
179 JCheckBoxMenuItem cb4m = new JCheckBoxMenuItem("leading,right-to-left");
181 cb4m.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
182 cb4m.setHorizontalTextPosition(SwingConstants.LEADING);
184 JCheckBoxMenuItem cb5m = new JCheckBoxMenuItem("trailing,left-to-right");
186 cb5m.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
187 cb5m.setHorizontalTextPosition(SwingConstants.TRAILING);
189 JCheckBoxMenuItem cb6m = new JCheckBoxMenuItem("trailing,right-to-left");
191 cb6m.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
192 cb6m.setHorizontalTextPosition(SwingConstants.TRAILING);
194 JRadioButtonMenuItem rb1m = new JRadioButtonMenuItem("trailing,right-to-left");
196 rb1m.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
197 rb1m.setHorizontalTextPosition(SwingConstants.TRAILING);
199 JRadioButtonMenuItem rb2m = new JRadioButtonMenuItem("right,left-to-right");
201 rb2m.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
202 rb2m.setHorizontalTextPosition(SwingConstants.RIGHT);
204 JRadioButtonMenuItem rb3m = new JRadioButtonMenuItem("right,right-to-left");
206 rb3m.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
207 rb3m.setHorizontalTextPosition(SwingConstants.RIGHT);
209 JMenu m1 = new JMenu("left");
210 JMenu m2 = new JMenu("right");
221 JPanel theTab = new JPanel();
223 theTab.setLayout(null);
224 theTab.add(firstColumn);
230 private ImageIcon getImage(String name) {
231 ImageIcon icon = new ImageIcon(getClass().getResource(name));
233 while(icon.getImageLoadStatus() == MediaTracker.LOADING)
236 } catch (InterruptedException e) {