J/Link Programming:
JavaSwing Example

Junzo SATO

J/Link enables us to handle Java objects within MATHEMATICA. The MATHEMATICA package "JavaSwing.m" was designed as collection of wrapper functions for the Java Swing classes. All basic aspects of these functions are shown in this Notebook.

Copyright © 2000-2002, Junzo SATO. All rights reserved.

Loading the JavaSwing MATHEMATICA package

[Graphics:Images/JavaSwingExample_gr_1.gif]
[Graphics:Images/JavaSwingExample_gr_2.gif]
[Graphics:Images/JavaSwingExample_gr_3.gif]
[Graphics:Images/JavaSwingExample_gr_4.gif]

>>> com.wolfram.jlink.MathJFrame <<<

[Graphics:Images/JavaSwingExample_gr_5.gif]

[Graphics:Images/JavaSwingExample_gr_6.gif]

Create

A MathJFrame is created.

[Graphics:Images/JavaSwingExample_gr_7.gif]
[Graphics:Images/JavaSwingExample_gr_8.gif]

A frame has four panes in its JRootPane. The content pane is one of the most important object among these. Glass pane, layered pane, and menu bar are the rest of these. The menu bar is null by default.

[Graphics:Images/JavaSwingExample_gr_9.gif]
[Graphics:Images/JavaSwingExample_gr_10.gif]
[Graphics:Images/JavaSwingExample_gr_11.gif]
[Graphics:Images/JavaSwingExample_gr_12.gif]

The frame is located to the center of the main screen and is shown.

[Graphics:Images/JavaSwingExample_gr_13.gif]

<<< SimpleMathJFrame >>>

[Graphics:Images/JavaSwingExample_gr_14.gif]

[Graphics:Images/JavaSwingExample_gr_15.gif]

[Graphics:Images/JavaSwingExample_gr_16.gif]

[Graphics:Images/JavaSwingExample_gr_17.gif]
[Graphics:Images/JavaSwingExample_gr_18.gif]

>>> javax.swing.JLayeredPane, JInternalFrame <<<

[Graphics:Images/JavaSwingExample_gr_19.gif]

[Graphics:Images/JavaSwingExample_gr_20.gif]

Create

Some constants for layers are listed.

[Graphics:Images/JavaSwingExample_gr_21.gif]
[Graphics:Images/JavaSwingExample_gr_22.gif]
[Graphics:Images/JavaSwingExample_gr_23.gif]
[Graphics:Images/JavaSwingExample_gr_24.gif]

We also list names of layers.

[Graphics:Images/JavaSwingExample_gr_25.gif]
[Graphics:Images/JavaSwingExample_gr_26.gif]

An ImageIcon which will be shown on a title bar of the internal frame is loaded.

[Graphics:Images/JavaSwingExample_gr_27.gif]
[Graphics:Images/JavaSwingExample_gr_28.gif]

JInternalFrame objects are added to the layer which is actually the layered pane of the frame.
A close box of an internal frame is not handled at now.

[Graphics:Images/JavaSwingExample_gr_29.gif]

Dispose

JInternalFrame objects which is kept in the internalFrames are removed.

[Graphics:Images/JavaSwingExample_gr_30.gif]

>>> javax.swing.JDesktopPane, JInternalFrame <<<

[Graphics:Images/JavaSwingExample_gr_31.gif]

[Graphics:Images/JavaSwingExample_gr_32.gif]

Create

A desktop is created. Internal frames are added to this desktop. The close box of the internal frame is handled correctly.

[Graphics:Images/JavaSwingExample_gr_33.gif]
[Graphics:Images/JavaSwingExample_gr_34.gif]
[Graphics:Images/JavaSwingExample_gr_35.gif]
[Graphics:Images/JavaSwingExample_gr_36.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_37.gif]
[Graphics:Images/JavaSwingExample_gr_38.gif]

>>> javax.swing.JSplitPane <<<

[Graphics:Images/JavaSwingExample_gr_39.gif]

[Graphics:Images/JavaSwingExample_gr_40.gif]

Create

[Graphics:Images/JavaSwingExample_gr_41.gif]
[Graphics:Images/JavaSwingExample_gr_42.gif]
[Graphics:Images/JavaSwingExample_gr_43.gif]
[Graphics:Images/JavaSwingExample_gr_44.gif]
[Graphics:Images/JavaSwingExample_gr_45.gif]
[Graphics:Images/JavaSwingExample_gr_46.gif]
[Graphics:Images/JavaSwingExample_gr_47.gif]
[Graphics:Images/JavaSwingExample_gr_48.gif]
[Graphics:Images/JavaSwingExample_gr_49.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_50.gif]

>>> javax.swing.JTabbedPane <<<

[Graphics:Images/JavaSwingExample_gr_51.gif]

[Graphics:Images/JavaSwingExample_gr_52.gif]

Create

[Graphics:Images/JavaSwingExample_gr_53.gif]
[Graphics:Images/JavaSwingExample_gr_54.gif]
[Graphics:Images/JavaSwingExample_gr_55.gif]
[Graphics:Images/JavaSwingExample_gr_56.gif]
[Graphics:Images/JavaSwingExample_gr_57.gif]
[Graphics:Images/JavaSwingExample_gr_58.gif]
[Graphics:Images/JavaSwingExample_gr_59.gif]
[Graphics:Images/JavaSwingExample_gr_60.gif]
[Graphics:Images/JavaSwingExample_gr_61.gif]
[Graphics:Images/JavaSwingExample_gr_62.gif]
[Graphics:Images/JavaSwingExample_gr_63.gif]
[Graphics:Images/JavaSwingExample_gr_64.gif]
[Graphics:Images/JavaSwingExample_gr_65.gif]
[Graphics:Images/JavaSwingExample_gr_66.gif]
[Graphics:Images/JavaSwingExample_gr_67.gif]
[Graphics:Images/JavaSwingExample_gr_68.gif]
[Graphics:Images/JavaSwingExample_gr_69.gif]
[Graphics:Images/JavaSwingExample_gr_70.gif]
[Graphics:Images/JavaSwingExample_gr_71.gif]
[Graphics:Images/JavaSwingExample_gr_72.gif]
[Graphics:Images/JavaSwingExample_gr_73.gif]
[Graphics:Images/JavaSwingExample_gr_74.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_75.gif]
[Graphics:Images/JavaSwingExample_gr_76.gif]
[Graphics:Images/JavaSwingExample_gr_77.gif]
[Graphics:Images/JavaSwingExample_gr_78.gif]

<<< SimpleJTabbedPane >>>

[Graphics:Images/JavaSwingExample_gr_79.gif]

[Graphics:Images/JavaSwingExample_gr_80.gif]

To respond to the change of the tab, you should install ChangeListener to JTabbedPane.
MathSwingChangeListener for J/Link is defined in JavaSwing.jar. The following is the source code.

MathSwingChangeListener.java

package JLinkProgramming.JavaSwing;
import com.wolfram.jlink.*;
import javax.swing.event.*;

public class MathSwingChangeListener extends MathListener implements ChangeListener {
    public MathSwingChangeListener() {
        super();
    }

    public MathSwingChangeListener(KernelLink ml) {
        super(ml);
    }

    public MathSwingChangeListener(String func) {
        this();
        setHandler("stateChanged", func);
    }

    public void stateChanged(ChangeEvent e) {
        Expr result = callMathHandler("stateChanged", new Object[]{e});
        if (result != null)
            result.dispose();
    }
}

[Graphics:Images/JavaSwingExample_gr_81.gif]

[Graphics:Images/JavaSwingExample_gr_82.gif]
[Graphics:Images/JavaSwingExample_gr_83.gif]
[Graphics:Images/JavaSwingExample_gr_84.gif]
[Graphics:Images/JavaSwingExample_gr_85.gif]
[Graphics:Images/JavaSwingExample_gr_86.gif]
[Graphics:Images/JavaSwingExample_gr_87.gif]
[Graphics:Images/JavaSwingExample_gr_88.gif]
[Graphics:Images/JavaSwingExample_gr_89.gif]
[Graphics:Images/JavaSwingExample_gr_90.gif]

>>> java.awt.FlowLayout <<<

[Graphics:Images/JavaSwingExample_gr_91.gif]

[Graphics:Images/JavaSwingExample_gr_92.gif]

Create

[Graphics:Images/JavaSwingExample_gr_93.gif]
[Graphics:Images/JavaSwingExample_gr_94.gif]
[Graphics:Images/JavaSwingExample_gr_95.gif]
[Graphics:Images/JavaSwingExample_gr_96.gif]
[Graphics:Images/JavaSwingExample_gr_97.gif]
[Graphics:Images/JavaSwingExample_gr_98.gif]
[Graphics:Images/JavaSwingExample_gr_99.gif]
[Graphics:Images/JavaSwingExample_gr_100.gif]
[Graphics:Images/JavaSwingExample_gr_101.gif]
[Graphics:Images/JavaSwingExample_gr_102.gif]
[Graphics:Images/JavaSwingExample_gr_103.gif]
[Graphics:Images/JavaSwingExample_gr_104.gif]
[Graphics:Images/JavaSwingExample_gr_105.gif]
[Graphics:Images/JavaSwingExample_gr_106.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_107.gif]
[Graphics:Images/JavaSwingExample_gr_108.gif]
[Graphics:Images/JavaSwingExample_gr_109.gif]

>>> java.awt.GridLayout <<<

[Graphics:Images/JavaSwingExample_gr_110.gif]

[Graphics:Images/JavaSwingExample_gr_111.gif]

Create

[Graphics:Images/JavaSwingExample_gr_112.gif]
[Graphics:Images/JavaSwingExample_gr_113.gif]
[Graphics:Images/JavaSwingExample_gr_114.gif]
[Graphics:Images/JavaSwingExample_gr_115.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_116.gif]
[Graphics:Images/JavaSwingExample_gr_117.gif]

>>> java.awt.BorderLayout <<<

[Graphics:Images/JavaSwingExample_gr_118.gif]

[Graphics:Images/JavaSwingExample_gr_119.gif]

Create

[Graphics:Images/JavaSwingExample_gr_120.gif]
[Graphics:Images/JavaSwingExample_gr_121.gif]
[Graphics:Images/JavaSwingExample_gr_122.gif]
[Graphics:Images/JavaSwingExample_gr_123.gif]
[Graphics:Images/JavaSwingExample_gr_124.gif]
[Graphics:Images/JavaSwingExample_gr_125.gif]
[Graphics:Images/JavaSwingExample_gr_126.gif]
[Graphics:Images/JavaSwingExample_gr_127.gif]
[Graphics:Images/JavaSwingExample_gr_128.gif]

Because we pass the string object to the add( ) method of the container pane, the java.lang.String object is created temporally.

[Graphics:Images/JavaSwingExample_gr_129.gif]
[Graphics:Images/JavaSwingExample_gr_130.gif]
[Graphics:Images/JavaSwingExample_gr_131.gif]

Change widths of west and east buttons.

[Graphics:Images/JavaSwingExample_gr_132.gif]

Change heights of north and south buttons.

[Graphics:Images/JavaSwingExample_gr_133.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_134.gif]
[Graphics:Images/JavaSwingExample_gr_135.gif]

>>> java.awt.CardLayout <<<

See <<< SimpleCardLayout >>>

<<< SimpleCardLayout >>>

[Graphics:Images/JavaSwingExample_gr_136.gif]

[Graphics:Images/JavaSwingExample_gr_137.gif]

SimpleCardLayout
[Graphics:Images/JavaSwingExample_gr_138.gif]

>>> java.awt.GridBagLayout <<<

[Graphics:Images/JavaSwingExample_gr_139.gif]

[Graphics:Images/JavaSwingExample_gr_140.gif]

Create

[Graphics:Images/JavaSwingExample_gr_141.gif]
[Graphics:Images/JavaSwingExample_gr_142.gif]
[Graphics:Images/JavaSwingExample_gr_143.gif]
[Graphics:Images/JavaSwingExample_gr_144.gif]
[Graphics:Images/JavaSwingExample_gr_145.gif]
[Graphics:Images/JavaSwingExample_gr_146.gif]
[Graphics:Images/JavaSwingExample_gr_147.gif]
[Graphics:Images/JavaSwingExample_gr_148.gif]
[Graphics:Images/JavaSwingExample_gr_149.gif]
[Graphics:Images/JavaSwingExample_gr_150.gif]
[Graphics:Images/JavaSwingExample_gr_151.gif]
[Graphics:Images/JavaSwingExample_gr_152.gif]
[Graphics:Images/JavaSwingExample_gr_153.gif]
[Graphics:Images/JavaSwingExample_gr_154.gif]
[Graphics:Images/JavaSwingExample_gr_155.gif]
[Graphics:Images/JavaSwingExample_gr_156.gif]
[Graphics:Images/JavaSwingExample_gr_157.gif]
[Graphics:Images/JavaSwingExample_gr_158.gif]
[Graphics:Images/JavaSwingExample_gr_159.gif]
[Graphics:Images/JavaSwingExample_gr_160.gif]
[Graphics:Images/JavaSwingExample_gr_161.gif]
[Graphics:Images/JavaSwingExample_gr_162.gif]
[Graphics:Images/JavaSwingExample_gr_163.gif]
[Graphics:Images/JavaSwingExample_gr_164.gif]
[Graphics:Images/JavaSwingExample_gr_165.gif]
[Graphics:Images/JavaSwingExample_gr_166.gif]
[Graphics:Images/JavaSwingExample_gr_167.gif]
[Graphics:Images/JavaSwingExample_gr_168.gif]
[Graphics:Images/JavaSwingExample_gr_169.gif]
[Graphics:Images/JavaSwingExample_gr_170.gif]
[Graphics:Images/JavaSwingExample_gr_171.gif]
[Graphics:Images/JavaSwingExample_gr_172.gif]
[Graphics:Images/JavaSwingExample_gr_173.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_174.gif]
[Graphics:Images/JavaSwingExample_gr_175.gif]
[Graphics:Images/JavaSwingExample_gr_176.gif]
[Graphics:Images/JavaSwingExample_gr_177.gif]

>>> java.awt.BoxLayout <<<

[Graphics:Images/JavaSwingExample_gr_178.gif]

[Graphics:Images/JavaSwingExample_gr_179.gif]

Create

[Graphics:Images/JavaSwingExample_gr_180.gif]
[Graphics:Images/JavaSwingExample_gr_181.gif]
[Graphics:Images/JavaSwingExample_gr_182.gif]
[Graphics:Images/JavaSwingExample_gr_183.gif]
[Graphics:Images/JavaSwingExample_gr_184.gif]
[Graphics:Images/JavaSwingExample_gr_185.gif]
[Graphics:Images/JavaSwingExample_gr_186.gif]
[Graphics:Images/JavaSwingExample_gr_187.gif]
[Graphics:Images/JavaSwingExample_gr_188.gif]
[Graphics:Images/JavaSwingExample_gr_189.gif]
[Graphics:Images/JavaSwingExample_gr_190.gif]

the panel shrinks

[Graphics:Images/JavaSwingExample_gr_191.gif]
[Graphics:Images/JavaSwingExample_gr_192.gif]
[Graphics:Images/JavaSwingExample_gr_193.gif]

the panel is spread horizontally by the glue

[Graphics:Images/JavaSwingExample_gr_194.gif]
[Graphics:Images/JavaSwingExample_gr_195.gif]
[Graphics:Images/JavaSwingExample_gr_196.gif]
[Graphics:Images/JavaSwingExample_gr_197.gif]
[Graphics:Images/JavaSwingExample_gr_198.gif]
[Graphics:Images/JavaSwingExample_gr_199.gif]
[Graphics:Images/JavaSwingExample_gr_200.gif]

the panel shrinks

[Graphics:Images/JavaSwingExample_gr_201.gif]

the panel spreads itself

[Graphics:Images/JavaSwingExample_gr_202.gif]
[Graphics:Images/JavaSwingExample_gr_203.gif]
[Graphics:Images/JavaSwingExample_gr_204.gif]
[Graphics:Images/JavaSwingExample_gr_205.gif]
[Graphics:Images/JavaSwingExample_gr_206.gif]
[Graphics:Images/JavaSwingExample_gr_207.gif]
[Graphics:Images/JavaSwingExample_gr_208.gif]
[Graphics:Images/JavaSwingExample_gr_209.gif]
[Graphics:Images/JavaSwingExample_gr_210.gif]
[Graphics:Images/JavaSwingExample_gr_211.gif]
[Graphics:Images/JavaSwingExample_gr_212.gif]
[Graphics:Images/JavaSwingExample_gr_213.gif]
[Graphics:Images/JavaSwingExample_gr_214.gif]
[Graphics:Images/JavaSwingExample_gr_215.gif]
[Graphics:Images/JavaSwingExample_gr_216.gif]
[Graphics:Images/JavaSwingExample_gr_217.gif]
[Graphics:Images/JavaSwingExample_gr_218.gif]
[Graphics:Images/JavaSwingExample_gr_219.gif]
[Graphics:Images/JavaSwingExample_gr_220.gif]
[Graphics:Images/JavaSwingExample_gr_221.gif]
[Graphics:Images/JavaSwingExample_gr_222.gif]
[Graphics:Images/JavaSwingExample_gr_223.gif]
[Graphics:Images/JavaSwingExample_gr_224.gif]
[Graphics:Images/JavaSwingExample_gr_225.gif]
[Graphics:Images/JavaSwingExample_gr_226.gif]
[Graphics:Images/JavaSwingExample_gr_227.gif]
[Graphics:Images/JavaSwingExample_gr_228.gif]
[Graphics:Images/JavaSwingExample_gr_229.gif]
[Graphics:Images/JavaSwingExample_gr_230.gif]
[Graphics:Images/JavaSwingExample_gr_231.gif]
[Graphics:Images/JavaSwingExample_gr_232.gif]
[Graphics:Images/JavaSwingExample_gr_233.gif]
[Graphics:Images/JavaSwingExample_gr_234.gif]
[Graphics:Images/JavaSwingExample_gr_235.gif]
[Graphics:Images/JavaSwingExample_gr_236.gif]
[Graphics:Images/JavaSwingExample_gr_237.gif]
[Graphics:Images/JavaSwingExample_gr_238.gif]
[Graphics:Images/JavaSwingExample_gr_239.gif]
[Graphics:Images/JavaSwingExample_gr_240.gif]
[Graphics:Images/JavaSwingExample_gr_241.gif]
[Graphics:Images/JavaSwingExample_gr_242.gif]
[Graphics:Images/JavaSwingExample_gr_243.gif]
[Graphics:Images/JavaSwingExample_gr_244.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_245.gif]
[Graphics:Images/JavaSwingExample_gr_246.gif]
[Graphics:Images/JavaSwingExample_gr_247.gif]

>>> javax.swing.UIManager <<<

Create

[Graphics:Images/JavaSwingExample_gr_248.gif]
[Graphics:Images/JavaSwingExample_gr_249.gif]
[Graphics:Images/JavaSwingExample_gr_250.gif]
[Graphics:Images/JavaSwingExample_gr_251.gif]
[Graphics:Images/JavaSwingExample_gr_252.gif]
[Graphics:Images/JavaSwingExample_gr_253.gif]
[Graphics:Images/JavaSwingExample_gr_254.gif]

com.sun.java.swing.plaf.windows.WindowsLookAndFeel

[Graphics:Images/JavaSwingExample_gr_255.gif]

com.apple.mrj.swing.MacLookAndFeel

[Graphics:Images/JavaSwingExample_gr_256.gif]

[Graphics:Images/JavaSwingExample_gr_257.gif]
[Graphics:Images/JavaSwingExample_gr_258.gif]
[Graphics:Images/JavaSwingExample_gr_259.gif]
[Graphics:Images/JavaSwingExample_gr_260.gif]

[Graphics:Images/JavaSwingExample_gr_261.gif]

[Graphics:Images/JavaSwingExample_gr_262.gif]

[Graphics:Images/JavaSwingExample_gr_263.gif]
[Graphics:Images/JavaSwingExample_gr_264.gif]
[Graphics:Images/JavaSwingExample_gr_265.gif]
[Graphics:Images/JavaSwingExample_gr_266.gif]
[Graphics:Images/JavaSwingExample_gr_267.gif]
[Graphics:Images/JavaSwingExample_gr_268.gif]
[Graphics:Images/JavaSwingExample_gr_269.gif]
[Graphics:Images/JavaSwingExample_gr_270.gif]
[Graphics:Images/JavaSwingExample_gr_271.gif]

[Graphics:Images/JavaSwingExample_gr_272.gif]

[Graphics:Images/JavaSwingExample_gr_273.gif]

CDE/Motif

[Graphics:Images/JavaSwingExample_gr_274.gif]

[Graphics:Images/JavaSwingExample_gr_275.gif]

[Graphics:Images/JavaSwingExample_gr_276.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_277.gif]
[Graphics:Images/JavaSwingExample_gr_278.gif]
[Graphics:Images/JavaSwingExample_gr_279.gif]
[Graphics:Images/JavaSwingExample_gr_280.gif]

>>> javax.swing.ImageIcon <<<

[Graphics:Images/JavaSwingExample_gr_281.gif]

[Graphics:Images/JavaSwingExample_gr_282.gif]

Create

[Graphics:Images/JavaSwingExample_gr_283.gif]
[Graphics:Images/JavaSwingExample_gr_284.gif]
[Graphics:Images/JavaSwingExample_gr_285.gif]
[Graphics:Images/JavaSwingExample_gr_286.gif]
[Graphics:Images/JavaSwingExample_gr_287.gif]
[Graphics:Images/JavaSwingExample_gr_288.gif]
[Graphics:Images/JavaSwingExample_gr_289.gif]
[Graphics:Images/JavaSwingExample_gr_290.gif]
[Graphics:Images/JavaSwingExample_gr_291.gif]
[Graphics:Images/JavaSwingExample_gr_292.gif]
[Graphics:Images/JavaSwingExample_gr_293.gif]
[Graphics:Images/JavaSwingExample_gr_294.gif]
[Graphics:Images/JavaSwingExample_gr_295.gif]
[Graphics:Images/JavaSwingExample_gr_296.gif]
[Graphics:Images/JavaSwingExample_gr_297.gif]
[Graphics:Images/JavaSwingExample_gr_298.gif]
[Graphics:Images/JavaSwingExample_gr_299.gif]
[Graphics:Images/JavaSwingExample_gr_300.gif]
[Graphics:Images/JavaSwingExample_gr_301.gif]
[Graphics:Images/JavaSwingExample_gr_302.gif]
[Graphics:Images/JavaSwingExample_gr_303.gif]
[Graphics:Images/JavaSwingExample_gr_304.gif]
[Graphics:Images/JavaSwingExample_gr_305.gif]

Animation GIF is available too.

[Graphics:Images/JavaSwingExample_gr_306.gif]
[Graphics:Images/JavaSwingExample_gr_307.gif]
[Graphics:Images/JavaSwingExample_gr_308.gif]
[Graphics:Images/JavaSwingExample_gr_309.gif]
[Graphics:Images/JavaSwingExample_gr_310.gif]
[Graphics:Images/JavaSwingExample_gr_311.gif]
[Graphics:Images/JavaSwingExample_gr_312.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_313.gif]
[Graphics:Images/JavaSwingExample_gr_314.gif]
[Graphics:Images/JavaSwingExample_gr_315.gif]
[Graphics:Images/JavaSwingExample_gr_316.gif]

>>> javax.swing.SwingConstants <<<

[Graphics:Images/JavaSwingExample_gr_317.gif]
[Graphics:Images/JavaSwingExample_gr_318.gif]
[Graphics:Images/JavaSwingExample_gr_319.gif]
[Graphics:Images/JavaSwingExample_gr_320.gif]
[Graphics:Images/JavaSwingExample_gr_321.gif]
[Graphics:Images/JavaSwingExample_gr_322.gif]
[Graphics:Images/JavaSwingExample_gr_323.gif]
[Graphics:Images/JavaSwingExample_gr_324.gif]
[Graphics:Images/JavaSwingExample_gr_325.gif]
[Graphics:Images/JavaSwingExample_gr_326.gif]
[Graphics:Images/JavaSwingExample_gr_327.gif]
[Graphics:Images/JavaSwingExample_gr_328.gif]
[Graphics:Images/JavaSwingExample_gr_329.gif]
[Graphics:Images/JavaSwingExample_gr_330.gif]
[Graphics:Images/JavaSwingExample_gr_331.gif]
[Graphics:Images/JavaSwingExample_gr_332.gif]

>>> javax.swing.JLabel <<<

[Graphics:Images/JavaSwingExample_gr_333.gif]

[Graphics:Images/JavaSwingExample_gr_334.gif]

Create

[Graphics:Images/JavaSwingExample_gr_335.gif]
[Graphics:Images/JavaSwingExample_gr_336.gif]
[Graphics:Images/JavaSwingExample_gr_337.gif]
[Graphics:Images/JavaSwingExample_gr_338.gif]
[Graphics:Images/JavaSwingExample_gr_339.gif]

Simple label.

[Graphics:Images/JavaSwingExample_gr_340.gif]
[Graphics:Images/JavaSwingExample_gr_341.gif]

A label with icon.

[Graphics:Images/JavaSwingExample_gr_342.gif]
[Graphics:Images/JavaSwingExample_gr_343.gif]
[Graphics:Images/JavaSwingExample_gr_344.gif]
[Graphics:Images/JavaSwingExample_gr_345.gif]
[Graphics:Images/JavaSwingExample_gr_346.gif]

Opacity of the label is set by setOpaque method.

[Graphics:Images/JavaSwingExample_gr_347.gif]
[Graphics:Images/JavaSwingExample_gr_348.gif]
[Graphics:Images/JavaSwingExample_gr_349.gif]
[Graphics:Images/JavaSwingExample_gr_350.gif]
[Graphics:Images/JavaSwingExample_gr_351.gif]
[Graphics:Images/JavaSwingExample_gr_352.gif]
[Graphics:Images/JavaSwingExample_gr_353.gif]
[Graphics:Images/JavaSwingExample_gr_354.gif]
[Graphics:Images/JavaSwingExample_gr_355.gif]
[Graphics:Images/JavaSwingExample_gr_356.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_357.gif]
[Graphics:Images/JavaSwingExample_gr_358.gif]
[Graphics:Images/JavaSwingExample_gr_359.gif]
[Graphics:Images/JavaSwingExample_gr_360.gif]
[Graphics:Images/JavaSwingExample_gr_361.gif]

>>> javax.swing.border <<<

[Graphics:Images/JavaSwingExample_gr_362.gif]

[Graphics:Images/JavaSwingExample_gr_363.gif]

Create

[Graphics:Images/JavaSwingExample_gr_364.gif]
[Graphics:Images/JavaSwingExample_gr_365.gif]
[Graphics:Images/JavaSwingExample_gr_366.gif]
[Graphics:Images/JavaSwingExample_gr_367.gif]
[Graphics:Images/JavaSwingExample_gr_368.gif]
[Graphics:Images/JavaSwingExample_gr_369.gif]
[Graphics:Images/JavaSwingExample_gr_370.gif]
[Graphics:Images/JavaSwingExample_gr_371.gif]
[Graphics:Images/JavaSwingExample_gr_372.gif]
[Graphics:Images/JavaSwingExample_gr_373.gif]
[Graphics:Images/JavaSwingExample_gr_374.gif]
[Graphics:Images/JavaSwingExample_gr_375.gif]
[Graphics:Images/JavaSwingExample_gr_376.gif]
MatteBorder(int, int, int, int, java.awt.Color)
MatteBorder(int, int, int, int, javax.swing.Icon)
MatteBorder(java.awt.Insets, java.awt.Color)
MatteBorder(java.awt.Insets, javax.swing.Icon)
MatteBorder(javax.swing.Icon)
[Graphics:Images/JavaSwingExample_gr_377.gif]
[Graphics:Images/JavaSwingExample_gr_378.gif]
[Graphics:Images/JavaSwingExample_gr_379.gif]
[Graphics:Images/JavaSwingExample_gr_380.gif]
[Graphics:Images/JavaSwingExample_gr_381.gif]
[Graphics:Images/JavaSwingExample_gr_382.gif]
[Graphics:Images/JavaSwingExample_gr_383.gif]
[Graphics:Images/JavaSwingExample_gr_384.gif]
[Graphics:Images/JavaSwingExample_gr_385.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_386.gif]
[Graphics:Images/JavaSwingExample_gr_387.gif]

>>> javax.swing.JButton <<<

[Graphics:Images/JavaSwingExample_gr_388.gif]

[Graphics:Images/JavaSwingExample_gr_389.gif]

Create

[Graphics:Images/JavaSwingExample_gr_390.gif]
[Graphics:Images/JavaSwingExample_gr_391.gif]
[Graphics:Images/JavaSwingExample_gr_392.gif]
[Graphics:Images/JavaSwingExample_gr_393.gif]
[Graphics:Images/JavaSwingExample_gr_394.gif]
[Graphics:Images/JavaSwingExample_gr_395.gif]
[Graphics:Images/JavaSwingExample_gr_396.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_397.gif]
[Graphics:Images/JavaSwingExample_gr_398.gif]
[Graphics:Images/JavaSwingExample_gr_399.gif]
[Graphics:Images/JavaSwingExample_gr_400.gif]

<<< SimpleBeep >>>

[Graphics:Images/JavaSwingExample_gr_401.gif]

[Graphics:Images/JavaSwingExample_gr_402.gif]

[Graphics:Images/JavaSwingExample_gr_403.gif]

[Graphics:Images/JavaSwingExample_gr_404.gif]
[Graphics:Images/JavaSwingExample_gr_405.gif]
[Graphics:Images/JavaSwingExample_gr_406.gif]
[Graphics:Images/JavaSwingExample_gr_407.gif]
[Graphics:Images/JavaSwingExample_gr_408.gif]
[Graphics:Images/JavaSwingExample_gr_409.gif]
[Graphics:Images/JavaSwingExample_gr_410.gif]

>>> javax.swing.plaf.basic.BasicArrowButton <<<

[Graphics:Images/JavaSwingExample_gr_411.gif]

[Graphics:Images/JavaSwingExample_gr_412.gif]

Create

[Graphics:Images/JavaSwingExample_gr_413.gif]
[Graphics:Images/JavaSwingExample_gr_414.gif]
[Graphics:Images/JavaSwingExample_gr_415.gif]
[Graphics:Images/JavaSwingExample_gr_416.gif]
[Graphics:Images/JavaSwingExample_gr_417.gif]
[Graphics:Images/JavaSwingExample_gr_418.gif]
[Graphics:Images/JavaSwingExample_gr_419.gif]
[Graphics:Images/JavaSwingExample_gr_420.gif]
[Graphics:Images/JavaSwingExample_gr_421.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_422.gif]
[Graphics:Images/JavaSwingExample_gr_423.gif]

>>> javax.swing.JToggleButton <<<

[Graphics:Images/JavaSwingExample_gr_424.gif]

[Graphics:Images/JavaSwingExample_gr_425.gif]

Create

[Graphics:Images/JavaSwingExample_gr_426.gif]
[Graphics:Images/JavaSwingExample_gr_427.gif]
[Graphics:Images/JavaSwingExample_gr_428.gif]
[Graphics:Images/JavaSwingExample_gr_429.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_430.gif]
[Graphics:Images/JavaSwingExample_gr_431.gif]
[Graphics:Images/JavaSwingExample_gr_432.gif]

>>> javax.swing.JCheckBox <<<

[Graphics:Images/JavaSwingExample_gr_433.gif]

[Graphics:Images/JavaSwingExample_gr_434.gif]

Create

[Graphics:Images/JavaSwingExample_gr_435.gif]
[Graphics:Images/JavaSwingExample_gr_436.gif]
[Graphics:Images/JavaSwingExample_gr_437.gif]
[Graphics:Images/JavaSwingExample_gr_438.gif]
[Graphics:Images/JavaSwingExample_gr_439.gif]
[Graphics:Images/JavaSwingExample_gr_440.gif]
[Graphics:Images/JavaSwingExample_gr_441.gif]
[Graphics:Images/JavaSwingExample_gr_442.gif]
[Graphics:Images/JavaSwingExample_gr_443.gif]
[Graphics:Images/JavaSwingExample_gr_444.gif]
[Graphics:Images/JavaSwingExample_gr_445.gif]
[Graphics:Images/JavaSwingExample_gr_446.gif]
[Graphics:Images/JavaSwingExample_gr_447.gif]

Using icons is possible for the substitution of the default check mark.
To replace icons by the user's click, setIcon( ) method is available. An event handler also should be introduced.

[Graphics:Images/JavaSwingExample_gr_448.gif]
[Graphics:Images/JavaSwingExample_gr_449.gif]
[Graphics:Images/JavaSwingExample_gr_450.gif]
[Graphics:Images/JavaSwingExample_gr_451.gif]
[Graphics:Images/JavaSwingExample_gr_452.gif]
[Graphics:Images/JavaSwingExample_gr_453.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_454.gif]
[Graphics:Images/JavaSwingExample_gr_455.gif]
[Graphics:Images/JavaSwingExample_gr_456.gif]
[Graphics:Images/JavaSwingExample_gr_457.gif]
[Graphics:Images/JavaSwingExample_gr_458.gif]
[Graphics:Images/JavaSwingExample_gr_459.gif]

<<< SimpleJCheckBox >>>

[Graphics:Images/JavaSwingExample_gr_460.gif]

[Graphics:Images/JavaSwingExample_gr_461.gif]

[Graphics:Images/JavaSwingExample_gr_462.gif]

[Graphics:Images/JavaSwingExample_gr_463.gif]

>>> javax.swing.JRadioButton <<<

[Graphics:Images/JavaSwingExample_gr_464.gif]

[Graphics:Images/JavaSwingExample_gr_465.gif]

Create

[Graphics:Images/JavaSwingExample_gr_466.gif]
[Graphics:Images/JavaSwingExample_gr_467.gif]
[Graphics:Images/JavaSwingExample_gr_468.gif]
[Graphics:Images/JavaSwingExample_gr_469.gif]
[Graphics:Images/JavaSwingExample_gr_470.gif]
[Graphics:Images/JavaSwingExample_gr_471.gif]
[Graphics:Images/JavaSwingExample_gr_472.gif]
[Graphics:Images/JavaSwingExample_gr_473.gif]
[Graphics:Images/JavaSwingExample_gr_474.gif]
[Graphics:Images/JavaSwingExample_gr_475.gif]
[Graphics:Images/JavaSwingExample_gr_476.gif]
[Graphics:Images/JavaSwingExample_gr_477.gif]
[Graphics:Images/JavaSwingExample_gr_478.gif]
[Graphics:Images/JavaSwingExample_gr_479.gif]
[Graphics:Images/JavaSwingExample_gr_480.gif]
[Graphics:Images/JavaSwingExample_gr_481.gif]
[Graphics:Images/JavaSwingExample_gr_482.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_483.gif]
[Graphics:Images/JavaSwingExample_gr_484.gif]
[Graphics:Images/JavaSwingExample_gr_485.gif]

<<< SimpleJRadioButton >>>

[Graphics:Images/JavaSwingExample_gr_486.gif]

[Graphics:Images/JavaSwingExample_gr_487.gif]

[Graphics:Images/JavaSwingExample_gr_488.gif]

[Graphics:Images/JavaSwingExample_gr_489.gif]

>>> javax.swing.ButtonGroup <<<

[Graphics:Images/JavaSwingExample_gr_490.gif]

[Graphics:Images/JavaSwingExample_gr_491.gif]

Create

a panel is created on the frame

[Graphics:Images/JavaSwingExample_gr_492.gif]
[Graphics:Images/JavaSwingExample_gr_493.gif]
[Graphics:Images/JavaSwingExample_gr_494.gif]

buttons are created on the panel

[Graphics:Images/JavaSwingExample_gr_495.gif]
[Graphics:Images/JavaSwingExample_gr_496.gif]
[Graphics:Images/JavaSwingExample_gr_497.gif]
[Graphics:Images/JavaSwingExample_gr_498.gif]
[Graphics:Images/JavaSwingExample_gr_499.gif]
[Graphics:Images/JavaSwingExample_gr_500.gif]
[Graphics:Images/JavaSwingExample_gr_501.gif]
[Graphics:Images/JavaSwingExample_gr_502.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_503.gif]
[Graphics:Images/JavaSwingExample_gr_504.gif]
[Graphics:Images/JavaSwingExample_gr_505.gif]
[Graphics:Images/JavaSwingExample_gr_506.gif]

>>> javax.swing.JList <<<

[Graphics:Images/JavaSwingExample_gr_507.gif]

[Graphics:Images/JavaSwingExample_gr_508.gif]

Create

[Graphics:Images/JavaSwingExample_gr_509.gif]
[Graphics:Images/JavaSwingExample_gr_510.gif]
[Graphics:Images/JavaSwingExample_gr_511.gif]
[Graphics:Images/JavaSwingExample_gr_512.gif]
[Graphics:Images/JavaSwingExample_gr_513.gif]
[Graphics:Images/JavaSwingExample_gr_514.gif]
[Graphics:Images/JavaSwingExample_gr_515.gif]
[Graphics:Images/JavaSwingExample_gr_516.gif]
[Graphics:Images/JavaSwingExample_gr_517.gif]
[Graphics:Images/JavaSwingExample_gr_518.gif]
[Graphics:Images/JavaSwingExample_gr_519.gif]
[Graphics:Images/JavaSwingExample_gr_520.gif]
[Graphics:Images/JavaSwingExample_gr_521.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_522.gif]
[Graphics:Images/JavaSwingExample_gr_523.gif]
[Graphics:Images/JavaSwingExample_gr_524.gif]

<<< SimpleJList (ListSelection) >>>

[Graphics:Images/JavaSwingExample_gr_525.gif]

[Graphics:Images/JavaSwingExample_gr_526.gif]

[Graphics:Images/JavaSwingExample_gr_527.gif]

[Graphics:Images/JavaSwingExample_gr_528.gif]
[Graphics:Images/JavaSwingExample_gr_529.gif]
[Graphics:Images/JavaSwingExample_gr_530.gif]
[Graphics:Images/JavaSwingExample_gr_531.gif]
[Graphics:Images/JavaSwingExample_gr_532.gif]
[Graphics:Images/JavaSwingExample_gr_533.gif]
[Graphics:Images/JavaSwingExample_gr_534.gif]
[Graphics:Images/JavaSwingExample_gr_535.gif]
[Graphics:Images/JavaSwingExample_gr_536.gif]

<<< SimpleJList (ListSelection And DoubleClick) >>>

[Graphics:Images/JavaSwingExample_gr_537.gif]

[Graphics:Images/JavaSwingExample_gr_538.gif]

[Graphics:Images/JavaSwingExample_gr_539.gif]

[Graphics:Images/JavaSwingExample_gr_540.gif]
[Graphics:Images/JavaSwingExample_gr_541.gif]
[Graphics:Images/JavaSwingExample_gr_542.gif]
[Graphics:Images/JavaSwingExample_gr_543.gif]
[Graphics:Images/JavaSwingExample_gr_544.gif]
[Graphics:Images/JavaSwingExample_gr_545.gif]
[Graphics:Images/JavaSwingExample_gr_546.gif]
[Graphics:Images/JavaSwingExample_gr_547.gif]
[Graphics:Images/JavaSwingExample_gr_548.gif]
[Graphics:Images/JavaSwingExample_gr_549.gif]
[Graphics:Images/JavaSwingExample_gr_550.gif]
[Graphics:Images/JavaSwingExample_gr_551.gif]
[Graphics:Images/JavaSwingExample_gr_552.gif]
[Graphics:Images/JavaSwingExample_gr_553.gif]
[Graphics:Images/JavaSwingExample_gr_554.gif]

>>> javax.swing.JComboBox <<<

[Graphics:Images/JavaSwingExample_gr_555.gif]

[Graphics:Images/JavaSwingExample_gr_556.gif]

Create

[Graphics:Images/JavaSwingExample_gr_557.gif]
[Graphics:Images/JavaSwingExample_gr_558.gif]
[Graphics:Images/JavaSwingExample_gr_559.gif]
[Graphics:Images/JavaSwingExample_gr_560.gif]
[Graphics:Images/JavaSwingExample_gr_561.gif]
[Graphics:Images/JavaSwingExample_gr_562.gif]
[Graphics:Images/JavaSwingExample_gr_563.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_564.gif]
[Graphics:Images/JavaSwingExample_gr_565.gif]

<<< SimpleJComboBox >>>

[Graphics:Images/JavaSwingExample_gr_566.gif]

[Graphics:Images/JavaSwingExample_gr_567.gif]

[Graphics:Images/JavaSwingExample_gr_568.gif]

[Graphics:Images/JavaSwingExample_gr_569.gif]
[Graphics:Images/JavaSwingExample_gr_570.gif]
[Graphics:Images/JavaSwingExample_gr_571.gif]
[Graphics:Images/JavaSwingExample_gr_572.gif]

>>> javax.swing.JTable <<<

[Graphics:Images/JavaSwingExample_gr_573.gif]

[Graphics:Images/JavaSwingExample_gr_574.gif]

Create

[Graphics:Images/JavaSwingExample_gr_575.gif]
[Graphics:Images/JavaSwingExample_gr_576.gif]
[Graphics:Images/JavaSwingExample_gr_577.gif]
[Graphics:Images/JavaSwingExample_gr_578.gif]
[Graphics:Images/JavaSwingExample_gr_579.gif]
[Graphics:Images/JavaSwingExample_gr_580.gif]
[Graphics:Images/JavaSwingExample_gr_581.gif]
[Graphics:Images/JavaSwingExample_gr_582.gif]
[Graphics:Images/JavaSwingExample_gr_583.gif]
[Graphics:Images/JavaSwingExample_gr_584.gif]
[Graphics:Images/JavaSwingExample_gr_585.gif]
[Graphics:Images/JavaSwingExample_gr_586.gif]
[Graphics:Images/JavaSwingExample_gr_587.gif]
[Graphics:Images/JavaSwingExample_gr_588.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_589.gif]
[Graphics:Images/JavaSwingExample_gr_590.gif]
[Graphics:Images/JavaSwingExample_gr_591.gif]
[Graphics:Images/JavaSwingExample_gr_592.gif]
[Graphics:Images/JavaSwingExample_gr_593.gif]
[Graphics:Images/JavaSwingExample_gr_594.gif]

Although components added to create JTable were removed explicitly in the above expressions, JTableHeader still remains on the pane. So we tries to remove all components on the pane.

[Graphics:Images/JavaSwingExample_gr_595.gif]

<<< SimpleJTable >>>

[Graphics:Images/JavaSwingExample_gr_596.gif]

[Graphics:Images/JavaSwingExample_gr_597.gif]

To respond to the list selection, ListSelectionListener should be implemented. For J/Link, MathSwingListSelectionListener was defined by extending MathListener.

package JLinkProgramming.JavaSwing;

import com.wolfram.jlink.*;
import javax.swing.event.*;

public class MathSwingListSelectionListener extends MathListener implements ListSelectionListener {

    public MathSwingListSelectionListener() {
        super();
    }

    public MathSwingListSelectionListener(KernelLink ml) {
        super(ml);
    }

    public MathSwingListSelectionListener(String func) {
        this();
        setHandler("valueChanged", func);
    }

    public void valueChanged(ListSelectionEvent e) {
        Expr result = callMathHandler("valueChanged", new Object[]{e});
        if (result != null)
            result.dispose();
    }
    
}

[Graphics:Images/JavaSwingExample_gr_598.gif]

[Graphics:Images/JavaSwingExample_gr_599.gif]
[Graphics:Images/JavaSwingExample_gr_600.gif]
[Graphics:Images/JavaSwingExample_gr_601.gif]
[Graphics:Images/JavaSwingExample_gr_602.gif]
[Graphics:Images/JavaSwingExample_gr_603.gif]

>>> javax.swing.JTextField <<<

[Graphics:Images/JavaSwingExample_gr_604.gif]

[Graphics:Images/JavaSwingExample_gr_605.gif]

Create

[Graphics:Images/JavaSwingExample_gr_606.gif]
[Graphics:Images/JavaSwingExample_gr_607.gif]
[Graphics:Images/JavaSwingExample_gr_608.gif]
[Graphics:Images/JavaSwingExample_gr_609.gif]
[Graphics:Images/JavaSwingExample_gr_610.gif]
[Graphics:Images/JavaSwingExample_gr_611.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_612.gif]
[Graphics:Images/JavaSwingExample_gr_613.gif]

>>> javax.swing.JPasswordField <<<

[Graphics:Images/JavaSwingExample_gr_614.gif]

[Graphics:Images/JavaSwingExample_gr_615.gif]

Create

[Graphics:Images/JavaSwingExample_gr_616.gif]
[Graphics:Images/JavaSwingExample_gr_617.gif]
[Graphics:Images/JavaSwingExample_gr_618.gif]
[Graphics:Images/JavaSwingExample_gr_619.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_620.gif]
[Graphics:Images/JavaSwingExample_gr_621.gif]
[Graphics:Images/JavaSwingExample_gr_622.gif]
[Graphics:Images/JavaSwingExample_gr_623.gif]

>>> javax.swing.JTextArea <<<

[Graphics:Images/JavaSwingExample_gr_624.gif]

[Graphics:Images/JavaSwingExample_gr_625.gif]

Create

[Graphics:Images/JavaSwingExample_gr_626.gif]
[Graphics:Images/JavaSwingExample_gr_627.gif]
[Graphics:Images/JavaSwingExample_gr_628.gif]
[Graphics:Images/JavaSwingExample_gr_629.gif]
[Graphics:Images/JavaSwingExample_gr_630.gif]
[Graphics:Images/JavaSwingExample_gr_631.gif]
[Graphics:Images/JavaSwingExample_gr_632.gif]
[Graphics:Images/JavaSwingExample_gr_633.gif]

Cut, Copy, and Paste operations are available by calling JTextArea's methods.
By default, ctrl+x, ctrl+c, and ctrl+v are shortcuts for these commands.

[Graphics:Images/JavaSwingExample_gr_634.gif]
[Graphics:Images/JavaSwingExample_gr_635.gif]
[Graphics:Images/JavaSwingExample_gr_636.gif]
[Graphics:Images/JavaSwingExample_gr_637.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_638.gif]

>>> javax.swing.JEditorPane <<<

[Graphics:Images/JavaSwingExample_gr_639.gif]

[Graphics:Images/JavaSwingExample_gr_640.gif]

Create 1

[Graphics:Images/JavaSwingExample_gr_641.gif]
[Graphics:Images/JavaSwingExample_gr_642.gif]
[Graphics:Images/JavaSwingExample_gr_643.gif]
[Graphics:Images/JavaSwingExample_gr_644.gif]
[Graphics:Images/JavaSwingExample_gr_645.gif]
[Graphics:Images/JavaSwingExample_gr_646.gif]
[Graphics:Images/JavaSwingExample_gr_647.gif]

Dispose 1

[Graphics:Images/JavaSwingExample_gr_648.gif]

Create 2

[Graphics:Images/JavaSwingExample_gr_649.gif]
[Graphics:Images/JavaSwingExample_gr_650.gif]
[Graphics:Images/JavaSwingExample_gr_651.gif]
[Graphics:Images/JavaSwingExample_gr_652.gif]
[Graphics:Images/JavaSwingExample_gr_653.gif]

Dispose 2

[Graphics:Images/JavaSwingExample_gr_654.gif]

>>> javax.swing.JTextPane <<<

[Graphics:Images/JavaSwingExample_gr_655.gif]

[Graphics:Images/JavaSwingExample_gr_656.gif]

Create

[Graphics:Images/JavaSwingExample_gr_657.gif]
[Graphics:Images/JavaSwingExample_gr_658.gif]
[Graphics:Images/JavaSwingExample_gr_659.gif]
[Graphics:Images/JavaSwingExample_gr_660.gif]
[Graphics:Images/JavaSwingExample_gr_661.gif]
[Graphics:Images/JavaSwingExample_gr_662.gif]
[Graphics:Images/JavaSwingExample_gr_663.gif]
[Graphics:Images/JavaSwingExample_gr_664.gif]
[Graphics:Images/JavaSwingExample_gr_665.gif]
[Graphics:Images/JavaSwingExample_gr_666.gif]
[Graphics:Images/JavaSwingExample_gr_667.gif]
[Graphics:Images/JavaSwingExample_gr_668.gif]
[Graphics:Images/JavaSwingExample_gr_669.gif]
[Graphics:Images/JavaSwingExample_gr_670.gif]
[Graphics:Images/JavaSwingExample_gr_671.gif]
[Graphics:Images/JavaSwingExample_gr_672.gif]
[Graphics:Images/JavaSwingExample_gr_673.gif]
[Graphics:Images/JavaSwingExample_gr_674.gif]
[Graphics:Images/JavaSwingExample_gr_675.gif]
[Graphics:Images/JavaSwingExample_gr_676.gif]
[Graphics:Images/JavaSwingExample_gr_677.gif]
[Graphics:Images/JavaSwingExample_gr_678.gif]
[Graphics:Images/JavaSwingExample_gr_679.gif]
[Graphics:Images/JavaSwingExample_gr_680.gif]
[Graphics:Images/JavaSwingExample_gr_681.gif]
[Graphics:Images/JavaSwingExample_gr_682.gif]
[Graphics:Images/JavaSwingExample_gr_683.gif]
[Graphics:Images/JavaSwingExample_gr_684.gif]
[Graphics:Images/JavaSwingExample_gr_685.gif]
[Graphics:Images/JavaSwingExample_gr_686.gif]
[Graphics:Images/JavaSwingExample_gr_687.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_688.gif]
[Graphics:Images/JavaSwingExample_gr_689.gif]
[Graphics:Images/JavaSwingExample_gr_690.gif]

>>> javax.swing.JScrollBar <<<

[Graphics:Images/JavaSwingExample_gr_691.gif]

[Graphics:Images/JavaSwingExample_gr_692.gif]

Create

[Graphics:Images/JavaSwingExample_gr_693.gif]
[Graphics:Images/JavaSwingExample_gr_694.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_695.gif]

<<< SimpleJScrollBar >>>

[Graphics:Images/JavaSwingExample_gr_696.gif]

[Graphics:Images/JavaSwingExample_gr_697.gif]

[Graphics:Images/JavaSwingExample_gr_698.gif]

[Graphics:Images/JavaSwingExample_gr_699.gif]

>>> javax.swing.JScrollPane <<<

[Graphics:Images/JavaSwingExample_gr_700.gif]

[Graphics:Images/JavaSwingExample_gr_701.gif]

Create

[Graphics:Images/JavaSwingExample_gr_702.gif]
[Graphics:Images/JavaSwingExample_gr_703.gif]
[Graphics:Images/JavaSwingExample_gr_704.gif]
[Graphics:Images/JavaSwingExample_gr_705.gif]
[Graphics:Images/JavaSwingExample_gr_706.gif]
[Graphics:Images/JavaSwingExample_gr_707.gif]
[Graphics:Images/JavaSwingExample_gr_708.gif]
[Graphics:Images/JavaSwingExample_gr_709.gif]
[Graphics:Images/JavaSwingExample_gr_710.gif] [Graphics:Images/JavaSwingExample_gr_711.gif] [Graphics:Images/JavaSwingExample_gr_712.gif]
[Graphics:Images/JavaSwingExample_gr_713.gif] [Graphics:Images/JavaSwingExample_gr_714.gif] [Graphics:Images/JavaSwingExample_gr_715.gif]
[Graphics:Images/JavaSwingExample_gr_716.gif] [Graphics:Images/JavaSwingExample_gr_717.gif] [Graphics:Images/JavaSwingExample_gr_718.gif]
[Graphics:Images/JavaSwingExample_gr_719.gif] [Graphics:Images/JavaSwingExample_gr_720.gif] [Graphics:Images/JavaSwingExample_gr_721.gif]
[Graphics:Images/JavaSwingExample_gr_722.gif] [Graphics:Images/JavaSwingExample_gr_723.gif] [Graphics:Images/JavaSwingExample_gr_724.gif]
[Graphics:Images/JavaSwingExample_gr_725.gif] [Graphics:Images/JavaSwingExample_gr_726.gif] [Graphics:Images/JavaSwingExample_gr_727.gif]
[Graphics:Images/JavaSwingExample_gr_728.gif] [Graphics:Images/JavaSwingExample_gr_729.gif] [Graphics:Images/JavaSwingExample_gr_730.gif]
[Graphics:Images/JavaSwingExample_gr_731.gif]
[Graphics:Images/JavaSwingExample_gr_732.gif]
[Graphics:Images/JavaSwingExample_gr_733.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_734.gif]

>>> javax.swing.JSlider <<<

[Graphics:Images/JavaSwingExample_gr_735.gif]

[Graphics:Images/JavaSwingExample_gr_736.gif]

Create

[Graphics:Images/JavaSwingExample_gr_737.gif]
[Graphics:Images/JavaSwingExample_gr_738.gif]
[Graphics:Images/JavaSwingExample_gr_739.gif]
[Graphics:Images/JavaSwingExample_gr_740.gif]
[Graphics:Images/JavaSwingExample_gr_741.gif]
[Graphics:Images/JavaSwingExample_gr_742.gif] [Graphics:Images/JavaSwingExample_gr_743.gif] [Graphics:Images/JavaSwingExample_gr_744.gif]
[Graphics:Images/JavaSwingExample_gr_745.gif] [Graphics:Images/JavaSwingExample_gr_746.gif] [Graphics:Images/JavaSwingExample_gr_747.gif]
[Graphics:Images/JavaSwingExample_gr_748.gif] [Graphics:Images/JavaSwingExample_gr_749.gif] [Graphics:Images/JavaSwingExample_gr_750.gif]
[Graphics:Images/JavaSwingExample_gr_751.gif] [Graphics:Images/JavaSwingExample_gr_752.gif] [Graphics:Images/JavaSwingExample_gr_753.gif]
[Graphics:Images/JavaSwingExample_gr_754.gif] [Graphics:Images/JavaSwingExample_gr_755.gif] [Graphics:Images/JavaSwingExample_gr_756.gif]
[Graphics:Images/JavaSwingExample_gr_757.gif] [Graphics:Images/JavaSwingExample_gr_758.gif] [Graphics:Images/JavaSwingExample_gr_759.gif]
[Graphics:Images/JavaSwingExample_gr_760.gif] [Graphics:Images/JavaSwingExample_gr_761.gif] [Graphics:Images/JavaSwingExample_gr_762.gif]
[Graphics:Images/JavaSwingExample_gr_763.gif] [Graphics:Images/JavaSwingExample_gr_764.gif] [Graphics:Images/JavaSwingExample_gr_765.gif]
[Graphics:Images/JavaSwingExample_gr_766.gif] [Graphics:Images/JavaSwingExample_gr_767.gif] [Graphics:Images/JavaSwingExample_gr_768.gif]
[Graphics:Images/JavaSwingExample_gr_769.gif] [Graphics:Images/JavaSwingExample_gr_770.gif] [Graphics:Images/JavaSwingExample_gr_771.gif]
[Graphics:Images/JavaSwingExample_gr_772.gif] [Graphics:Images/JavaSwingExample_gr_773.gif] [Graphics:Images/JavaSwingExample_gr_774.gif]
[Graphics:Images/JavaSwingExample_gr_775.gif] [Graphics:Images/JavaSwingExample_gr_776.gif] [Graphics:Images/JavaSwingExample_gr_777.gif]
[Graphics:Images/JavaSwingExample_gr_778.gif]
[Graphics:Images/JavaSwingExample_gr_779.gif]
[Graphics:Images/JavaSwingExample_gr_780.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_781.gif]
[Graphics:Images/JavaSwingExample_gr_782.gif]

<<< SimpleJSlider >>>

MathSwingChangeListener was defined. See SimpleJTable section.

[Graphics:Images/JavaSwingExample_gr_783.gif]

[Graphics:Images/JavaSwingExample_gr_784.gif]

[Graphics:Images/JavaSwingExample_gr_785.gif]

[Graphics:Images/JavaSwingExample_gr_786.gif]

>>> javax.swing.JMenuBar,
JMenu,
JMenuItem,
JCheckBoxMenuItem,
JRadioButtonMenuItem <<<

[Graphics:Images/JavaSwingExample_gr_787.gif]

[Graphics:Images/JavaSwingExample_gr_788.gif]

Create

menubar is created and set to the Frame
[Graphics:Images/JavaSwingExample_gr_789.gif]
[Graphics:Images/JavaSwingExample_gr_790.gif]
menu which will be added to the menubar is created
[Graphics:Images/JavaSwingExample_gr_791.gif]
[Graphics:Images/JavaSwingExample_gr_792.gif]
[Graphics:Images/JavaSwingExample_gr_793.gif]
[Graphics:Images/JavaSwingExample_gr_794.gif]

menu is removable

[Graphics:Images/JavaSwingExample_gr_795.gif]

by default, menu is added to the last location in the menubar

[Graphics:Images/JavaSwingExample_gr_796.gif]
[Graphics:Images/JavaSwingExample_gr_797.gif]

adding the same menu object twice to the menubar can change the location of the menu in the menubar

[Graphics:Images/JavaSwingExample_gr_798.gif]
[Graphics:Images/JavaSwingExample_gr_799.gif]
more settings for the menu
[Graphics:Images/JavaSwingExample_gr_800.gif]

menuitem

[Graphics:Images/JavaSwingExample_gr_801.gif]
[Graphics:Images/JavaSwingExample_gr_802.gif]
[Graphics:Images/JavaSwingExample_gr_803.gif]
[Graphics:Images/JavaSwingExample_gr_804.gif]
[Graphics:Images/JavaSwingExample_gr_805.gif]
[Graphics:Images/JavaSwingExample_gr_806.gif]
[Graphics:Images/JavaSwingExample_gr_807.gif]
[Graphics:Images/JavaSwingExample_gr_808.gif]
[Graphics:Images/JavaSwingExample_gr_809.gif]
[Graphics:Images/JavaSwingExample_gr_810.gif]

imageicon

[Graphics:Images/JavaSwingExample_gr_811.gif]
[Graphics:Images/JavaSwingExample_gr_812.gif]
[Graphics:Images/JavaSwingExample_gr_813.gif]
[Graphics:Images/JavaSwingExample_gr_814.gif]
[Graphics:Images/JavaSwingExample_gr_815.gif]
[Graphics:Images/JavaSwingExample_gr_816.gif]
[Graphics:Images/JavaSwingExample_gr_817.gif]

menu@addSeparator[]

menu@add[JavaNew["javax.swing.JSeparator"]]

submenu can be treated just like a menuitem for the menu.
[Graphics:Images/JavaSwingExample_gr_818.gif]
[Graphics:Images/JavaSwingExample_gr_819.gif]
[Graphics:Images/JavaSwingExample_gr_820.gif]
[Graphics:Images/JavaSwingExample_gr_821.gif]
[Graphics:Images/JavaSwingExample_gr_822.gif]
[Graphics:Images/JavaSwingExample_gr_823.gif]
[Graphics:Images/JavaSwingExample_gr_824.gif]
[Graphics:Images/JavaSwingExample_gr_825.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_826.gif]
[Graphics:Images/JavaSwingExample_gr_827.gif]
[Graphics:Images/JavaSwingExample_gr_828.gif]
[Graphics:Images/JavaSwingExample_gr_829.gif]
[Graphics:Images/JavaSwingExample_gr_830.gif]
[Graphics:Images/JavaSwingExample_gr_831.gif]
[Graphics:Images/JavaSwingExample_gr_832.gif]
[Graphics:Images/JavaSwingExample_gr_833.gif]
[Graphics:Images/JavaSwingExample_gr_834.gif]

Although the menubar is released, the frame still contains and draws empty menubar.
We have to erase the menubar by setting Null.

[Graphics:Images/JavaSwingExample_gr_835.gif]

<<< SimpleJMenu >>>

[Graphics:Images/JavaSwingExample_gr_836.gif]

[Graphics:Images/JavaSwingExample_gr_837.gif]

[Graphics:Images/JavaSwingExample_gr_838.gif]

[Graphics:Images/JavaSwingExample_gr_839.gif]
[Graphics:Images/JavaSwingExample_gr_840.gif]
[Graphics:Images/JavaSwingExample_gr_841.gif]
[Graphics:Images/JavaSwingExample_gr_842.gif]
[Graphics:Images/JavaSwingExample_gr_843.gif]
[Graphics:Images/JavaSwingExample_gr_844.gif]
[Graphics:Images/JavaSwingExample_gr_845.gif]
[Graphics:Images/JavaSwingExample_gr_846.gif]
[Graphics:Images/JavaSwingExample_gr_847.gif]
[Graphics:Images/JavaSwingExample_gr_848.gif]
[Graphics:Images/JavaSwingExample_gr_849.gif]
[Graphics:Images/JavaSwingExample_gr_850.gif]
[Graphics:Images/JavaSwingExample_gr_851.gif]
[Graphics:Images/JavaSwingExample_gr_852.gif]
[Graphics:Images/JavaSwingExample_gr_853.gif]
[Graphics:Images/JavaSwingExample_gr_854.gif]
[Graphics:Images/JavaSwingExample_gr_855.gif]

>>> javax.swing.JPopupMenu <<<

[Graphics:Images/JavaSwingExample_gr_856.gif]

[Graphics:Images/JavaSwingExample_gr_857.gif]

[Graphics:Images/JavaSwingExample_gr_858.gif]

Try right button click (Win) or ctrl+click (Mac) on the frame.

[Graphics:Images/JavaSwingExample_gr_859.gif]
[Graphics:Images/JavaSwingExample_gr_860.gif]
[Graphics:Images/JavaSwingExample_gr_861.gif]
[Graphics:Images/JavaSwingExample_gr_862.gif]

>>> javax.swing.JToolBar <<<

[Graphics:Images/JavaSwingExample_gr_863.gif]

[Graphics:Images/JavaSwingExample_gr_864.gif]

Create

[Graphics:Images/JavaSwingExample_gr_865.gif]
[Graphics:Images/JavaSwingExample_gr_866.gif]
[Graphics:Images/JavaSwingExample_gr_867.gif]
[Graphics:Images/JavaSwingExample_gr_868.gif]
[Graphics:Images/JavaSwingExample_gr_869.gif]
[Graphics:Images/JavaSwingExample_gr_870.gif]
[Graphics:Images/JavaSwingExample_gr_871.gif]
[Graphics:Images/JavaSwingExample_gr_872.gif]
[Graphics:Images/JavaSwingExample_gr_873.gif]
[Graphics:Images/JavaSwingExample_gr_874.gif]
[Graphics:Images/JavaSwingExample_gr_875.gif]
[Graphics:Images/JavaSwingExample_gr_876.gif]
[Graphics:Images/JavaSwingExample_gr_877.gif]
[Graphics:Images/JavaSwingExample_gr_878.gif]
[Graphics:Images/JavaSwingExample_gr_879.gif]
[Graphics:Images/JavaSwingExample_gr_880.gif]
[Graphics:Images/JavaSwingExample_gr_881.gif]
[Graphics:Images/JavaSwingExample_gr_882.gif]
[Graphics:Images/JavaSwingExample_gr_883.gif]
[Graphics:Images/JavaSwingExample_gr_884.gif]
[Graphics:Images/JavaSwingExample_gr_885.gif]
[Graphics:Images/JavaSwingExample_gr_886.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_887.gif]
[Graphics:Images/JavaSwingExample_gr_888.gif]
[Graphics:Images/JavaSwingExample_gr_889.gif]

>>> javax.swing.JOptionPane <<<

Message

[Graphics:Images/JavaSwingExample_gr_890.gif]

[Graphics:Images/JavaSwingExample_gr_891.gif]

[Graphics:Images/JavaSwingExample_gr_892.gif]
[Graphics:Images/JavaSwingExample_gr_893.gif]

Yes No

[Graphics:Images/JavaSwingExample_gr_894.gif]

[Graphics:Images/JavaSwingExample_gr_895.gif]

[Graphics:Images/JavaSwingExample_gr_896.gif]
[Graphics:Images/JavaSwingExample_gr_897.gif]
[Graphics:Images/JavaSwingExample_gr_898.gif]

Yes No Cancel

[Graphics:Images/JavaSwingExample_gr_899.gif]

[Graphics:Images/JavaSwingExample_gr_900.gif]

[Graphics:Images/JavaSwingExample_gr_901.gif]
[Graphics:Images/JavaSwingExample_gr_902.gif]
[Graphics:Images/JavaSwingExample_gr_903.gif]

Selections

[Graphics:Images/JavaSwingExample_gr_904.gif]

[Graphics:Images/JavaSwingExample_gr_905.gif]

[Graphics:Images/JavaSwingExample_gr_906.gif]

[Graphics:Images/JavaSwingExample_gr_907.gif]

[Graphics:Images/JavaSwingExample_gr_908.gif]
[Graphics:Images/JavaSwingExample_gr_909.gif]
[Graphics:Images/JavaSwingExample_gr_910.gif]

Text Input

[Graphics:Images/JavaSwingExample_gr_911.gif]

[Graphics:Images/JavaSwingExample_gr_912.gif]

[Graphics:Images/JavaSwingExample_gr_913.gif]
[Graphics:Images/JavaSwingExample_gr_914.gif]
[Graphics:Images/JavaSwingExample_gr_915.gif]

>>> javax.swing.JFileChooser <<< from J/Link Examples Part1

[Graphics:Images/JavaSwingExample_gr_916.gif]

[Graphics:Images/JavaSwingExample_gr_917.gif]

[Graphics:Images/JavaSwingExample_gr_918.gif]
[Graphics:Images/JavaSwingExample_gr_919.gif]
[Graphics:Images/JavaSwingExample_gr_920.gif]
[Graphics:Images/JavaSwingExample_gr_921.gif]

[Graphics:Images/JavaSwingExample_gr_922.gif]

[Graphics:Images/JavaSwingExample_gr_923.gif]

[Graphics:Images/JavaSwingExample_gr_924.gif]
[Graphics:Images/JavaSwingExample_gr_925.gif]
[Graphics:Images/JavaSwingExample_gr_926.gif]
[Graphics:Images/JavaSwingExample_gr_927.gif]

>>> javax.swing.JColorChooser <<<

Color Chooser

[Graphics:Images/JavaSwingExample_gr_928.gif]

[Graphics:Images/JavaSwingExample_gr_929.gif]

Color Chooser With Default Color

Create

JColorChooser is a handy tool to select a color. This component is easily added to the pane on the frame.

[Graphics:Images/JavaSwingExample_gr_930.gif]
[Graphics:Images/JavaSwingExample_gr_931.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_932.gif]

Create

[Graphics:Images/JavaSwingExample_gr_933.gif]

[Graphics:Images/JavaSwingExample_gr_934.gif]

Defaut color is assigned at the initialization of the chooser.

[Graphics:Images/JavaSwingExample_gr_935.gif]
[Graphics:Images/JavaSwingExample_gr_936.gif]

Dispose

To get a resulting color chosen by the user, getColor[] etc are prepared.

[Graphics:Images/JavaSwingExample_gr_937.gif]
[Graphics:Images/JavaSwingExample_gr_938.gif]
[Graphics:Images/JavaSwingExample_gr_939.gif]
[Graphics:Images/JavaSwingExample_gr_940.gif]
[Graphics:Images/JavaSwingExample_gr_941.gif]
[Graphics:Images/JavaSwingExample_gr_942.gif]
[Graphics:Images/JavaSwingExample_gr_943.gif]
[Graphics:Images/JavaSwingExample_gr_944.gif]

ShowColorChooser

[Graphics:Images/JavaSwingExample_gr_945.gif]

[Graphics:Images/JavaSwingExample_gr_946.gif]

[Graphics:Images/JavaSwingExample_gr_947.gif]
[Graphics:Images/JavaSwingExample_gr_948.gif]
[Graphics:Images/JavaSwingExample_gr_949.gif]

[Graphics:Images/JavaSwingExample_gr_950.gif]

>>> javax.swing.JTree <<<

[Graphics:Images/JavaSwingExample_gr_951.gif]

[Graphics:Images/JavaSwingExample_gr_952.gif]

[Graphics:Images/JavaSwingExample_gr_953.gif]

[Graphics:Images/JavaSwingExample_gr_954.gif]

Create

[Graphics:Images/JavaSwingExample_gr_955.gif]
[Graphics:Images/JavaSwingExample_gr_956.gif]
[Graphics:Images/JavaSwingExample_gr_957.gif]
[Graphics:Images/JavaSwingExample_gr_958.gif]
[Graphics:Images/JavaSwingExample_gr_959.gif]
[Graphics:Images/JavaSwingExample_gr_960.gif]
[Graphics:Images/JavaSwingExample_gr_961.gif]
[Graphics:Images/JavaSwingExample_gr_962.gif]
[Graphics:Images/JavaSwingExample_gr_963.gif]
[Graphics:Images/JavaSwingExample_gr_964.gif]
[Graphics:Images/JavaSwingExample_gr_965.gif]
[Graphics:Images/JavaSwingExample_gr_966.gif]
[Graphics:Images/JavaSwingExample_gr_967.gif]
[Graphics:Images/JavaSwingExample_gr_968.gif]
[Graphics:Images/JavaSwingExample_gr_969.gif]
[Graphics:Images/JavaSwingExample_gr_970.gif]
[Graphics:Images/JavaSwingExample_gr_971.gif]
[Graphics:Images/JavaSwingExample_gr_972.gif]
[Graphics:Images/JavaSwingExample_gr_973.gif]
[Graphics:Images/JavaSwingExample_gr_974.gif]
[Graphics:Images/JavaSwingExample_gr_975.gif]
[Graphics:Images/JavaSwingExample_gr_976.gif]
[Graphics:Images/JavaSwingExample_gr_977.gif]
[Graphics:Images/JavaSwingExample_gr_978.gif]
[Graphics:Images/JavaSwingExample_gr_979.gif]
[Graphics:Images/JavaSwingExample_gr_980.gif]
[Graphics:Images/JavaSwingExample_gr_981.gif]
[Graphics:Images/JavaSwingExample_gr_982.gif]

Selected Path

[Graphics:Images/JavaSwingExample_gr_983.gif]

[Graphics:Images/JavaSwingExample_gr_984.gif]

If there exists a selected node, names of its parents and path is constructed as follows.

[Graphics:Images/JavaSwingExample_gr_985.gif]
[Graphics:Images/JavaSwingExample_gr_986.gif]
[Graphics:Images/JavaSwingExample_gr_987.gif]
[Graphics:Images/JavaSwingExample_gr_988.gif]
[Graphics:Images/JavaSwingExample_gr_989.gif]

Dispose

[Graphics:Images/JavaSwingExample_gr_990.gif]
[Graphics:Images/JavaSwingExample_gr_991.gif]
[Graphics:Images/JavaSwingExample_gr_992.gif]
[Graphics:Images/JavaSwingExample_gr_993.gif]
[Graphics:Images/JavaSwingExample_gr_994.gif]

<<< SimpleJTree >>>

[Graphics:Images/JavaSwingExample_gr_995.gif]

[Graphics:Images/JavaSwingExample_gr_996.gif]

To respond to the tree selection, MathSwingTreeSelectionListener was defined.

package JLinkProgramming.JavaSwing;

import com.wolfram.jlink.*;
import javax.swing.event.*;

public class MathSwingTreeSelectionListener extends MathListener implements TreeSelectionListener {

    public MathSwingTreeSelectionListener() {
        super();
    }

    public MathSwingTreeSelectionListener(KernelLink ml) {
        super(ml);
    }

    public MathSwingTreeSelectionListener(String func) {
        this();
        setHandler("valueChanged", func);
    }

    public void valueChanged(TreeSelectionEvent e) {
        Expr result = callMathHandler("valueChanged", new Object[]{e});
        if (result != null)
            result.dispose();
    }
}

[Graphics:Images/JavaSwingExample_gr_997.gif]

[Graphics:Images/JavaSwingExample_gr_998.gif]
[Graphics:Images/JavaSwingExample_gr_999.gif]
[Graphics:Images/JavaSwingExample_gr_1000.gif]
[Graphics:Images/JavaSwingExample_gr_1001.gif]
[Graphics:Images/JavaSwingExample_gr_1002.gif]
[Graphics:Images/JavaSwingExample_gr_1003.gif]
[Graphics:Images/JavaSwingExample_gr_1004.gif]
[Graphics:Images/JavaSwingExample_gr_1005.gif]
[Graphics:Images/JavaSwingExample_gr_1006.gif]

>>> javax.swing.JProgressBar <<< from J/Link Examples

[Graphics:Images/JavaSwingExample_gr_1007.gif]

[Graphics:Images/JavaSwingExample_gr_1008.gif]

[Graphics:Images/JavaSwingExample_gr_1009.gif]

[Graphics:Images/JavaSwingExample_gr_1010.gif]

>>> javax.swing.ProgressMonitor <<<

[Graphics:Images/JavaSwingExample_gr_1011.gif]

[Graphics:Images/JavaSwingExample_gr_1012.gif]

[Graphics:Images/JavaSwingExample_gr_1013.gif]

[Graphics:Images/JavaSwingExample_gr_1014.gif]
[Graphics:Images/JavaSwingExample_gr_1015.gif]

>>> javax.swing.ProgressMonitorInputStream <<<

[Graphics:Images/JavaSwingExample_gr_1016.gif]

[Graphics:Images/JavaSwingExample_gr_1017.gif]

[Graphics:Images/JavaSwingExample_gr_1018.gif]

[Graphics:Images/JavaSwingExample_gr_1019.gif]
[Graphics:Images/JavaSwingExample_gr_1020.gif]
[Graphics:Images/JavaSwingExample_gr_1021.gif]
[Graphics:Images/JavaSwingExample_gr_1022.gif]

>>> com.wolfram.jlink.MathJFrame <<<

Dispose

[Graphics:Images/JavaSwingExample_gr_1023.gif]
[Graphics:Images/JavaSwingExample_gr_1024.gif]
[Graphics:Images/JavaSwingExample_gr_1025.gif]

>>> Quit <<<

[Graphics:Images/JavaSwingExample_gr_1026.gif]

Reference:

[1] Satyaraj Pantham, "Pure JFC Swing", Sams Publishing, 1999


Converted by Mathematica      September 11, 2002