@@ -99,7 +99,6 @@ public class CqrJdFrame extends JFrame {
9999 JTextArea jTextAreaSource , jTextAreaDestination ;
100100 JScrollPane scrollSource , scrollDestination ;
101101
102- BufferedImage imgKey , imgHash , imgAddAlgo , imgX ;
103102 eu .cqrxs .gui .DropPanel dropPanel ;
104103 eu .cqrxs .gui .CqrJDialog cqrJDialog ;
105104
@@ -689,12 +688,12 @@ public void Init() {
689688 jBar = AddMenus (lSymAction );
690689 setJMenuBar (jBar );
691690
692- imgKey = addImages ( new String [] { "eu/cqrxs/gui/img/key_ring.gif" , "img/key_ring.gif" });
693- imgHash = addImages ( new String [] { "eu/cqrxs/gui/img/a_hash.png" , "img/a_hash.png" });
694- imgAddAlgo = addImages ( new String [] { "eu/cqrxs/gui/img/AddAesArrowHover.gif" , "img/AddAesArrowHover.gif" });
695- imgX = addImages ( new String [] { "eu/cqrxs/gui/img/close_delete .gif" , "img/close_delete.gif" } );
691+ // Source - https://stackoverflow.com/q/2483283
692+ // Posted by Mr CooL, modified by community. See post 'Timeline' for change history
693+ // Retrieved 2026-05-12, License - CC BY-SA 3.0
694+ // setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource( "eu/cqrxs/gui/img/key_ring .gif")) );
696695
697- jLabelImgKey = new JLabel (new ImageIcon ( imgKey ));
696+ jLabelImgKey = new JLabel (getJarImageIcon ( "eu/cqrxs/gui/img/key_ring.png" ));
698697 jLabelImgKey .setBounds (12 ,25 ,30 ,30 );
699698 jLabelImgKey .setText ("[Key]" );
700699 jLabelImgKey .setFont (cryptFont );
@@ -722,7 +721,7 @@ public void Init() {
722721 getContentPane ().add (jComboBox_Hash );
723722 selectItemByString (jComboBox_Hash , menuHash , "Hex" );
724723
725- jLabelImgHash = new JLabel (new ImageIcon ( imgHash ));
724+ jLabelImgHash = new JLabel (getJarImageIcon ( "eu/cqrxs/gui/img/a_hash.png" ));
726725 jLabelImgHash .setBounds (12 , 67 , 40 , 30 );
727726 jLabelImgHash .setText ("[Hash]" );
728727 jLabelImgHash .setFont (cryptFont );
@@ -762,7 +761,7 @@ public void Init() {
762761 jComboBox_Algo .addItemListener (new CipherChangeListener ());
763762 getContentPane ().add (jComboBox_Algo );
764763
765- jLabelImgAddAlgo = new JLabel (new ImageIcon ( imgAddAlgo ));
764+ jLabelImgAddAlgo = new JLabel (getJarImageIcon ( "eu/cqrxs/gui/img/AddAesArrowHover.gif" ));
766765 jLabelImgAddAlgo .setBounds (230 , 111 , 32 , 27 );
767766 jLabelImgAddAlgo .addMouseListener (aSymMouse );
768767 getContentPane ().add (jLabelImgAddAlgo );
@@ -778,7 +777,7 @@ public void Init() {
778777 jTextField_Pipe .setFont (cryptFont );
779778 getContentPane ().add (jTextField_Pipe );
780779
781- jLabelImgX = new JLabel (new ImageIcon ( imgX ));
780+ jLabelImgX = new JLabel (getJarImageIcon ( "eu/cqrxs/gui/img/close_delete.gif" ));
782781 jLabelImgX .setBounds (844 , 112 , 27 , 27 );
783782 jLabelImgX .addMouseListener (aSymMouse );
784783 getContentPane ().add (jLabelImgX );
@@ -1573,17 +1572,49 @@ protected void exit_action(ActionEvent event) {
15731572 }
15741573
15751574
1576- protected Image setJarIncludedImage (String imgstr ) {
1575+ /**
1576+ * getJarImageIcon gets an {@link ImageIcon} from included jar file or relative path location
1577+ * @param jarImgPath{@link String[]} with path to image file inside or outside jar
1578+ * @return {@link ImageIcon}
1579+ */
1580+ protected ImageIcon getJarImageIcon (String jarImgPath ) {
1581+ ImageIcon imgIcon = null ;
1582+ try {
1583+
1584+ imgIcon = new ImageIcon (Toolkit .getDefaultToolkit ().getImage (getClass ().getClassLoader ().getResource (jarImgPath )));
1585+
1586+ } catch (Exception e ) {
1587+ DbgWriter .msgex (e , false );
1588+
1589+ String shortImgPath = jarImgPath ;
1590+ if (jarImgPath .contains ("img" )) {
1591+ int idx = jarImgPath .indexOf ("img" );
1592+ int len = jarImgPath .length ();
1593+ shortImgPath = jarImgPath .substring (idx , len );
1594+ }
1595+
1596+ imgIcon = new ImageIcon (addImages (new String [] { jarImgPath , shortImgPath }));
1597+ }
1598+
1599+ return imgIcon ;
1600+ }
1601+
1602+ /*
1603+ * Old JJ 1996
1604+ */
1605+ protected Image getJarIncludedImage (String imgstr ) {
15771606 Image img = null ;
15781607 try {
15791608 InputStream is = getClass ().getResourceAsStream (imgstr );
15801609 BufferedInputStream bis = new BufferedInputStream (is );
15811610 // a buffer large enough for our image can be byte[] byBuf = = new byte[is.available()];
1582- byte [] byBuf = new byte [10000 ]; // is.read(byBuf); or something like that...
1583- int byteRead = bis .read (byBuf , 0 , 10000 );
1611+ byte [] byBuf = new byte [( 65536 * 4 ) ]; // is.read(byBuf); or something like that...
1612+ int byteRead = bis .read (byBuf , 0 , ( 4 * 65536 ) );
15841613 img = Toolkit .getDefaultToolkit ().createImage (byBuf );
15851614 } catch (Exception e ) {
1586- DbgWriter .msgex (e , true );
1615+ DbgWriter .msg ("getJarIncludedImage(String imgstr = " + imgstr + ")" , true );
1616+ DbgWriter .msgex (e , true );
1617+ e .printStackTrace ();
15871618 }
15881619 return img ;
15891620 }
0 commit comments