- Java choice: Store images in JAR or as Base64 sequence?
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JComboBox;
- import javax.swing.ImageIcon;
- public class ImagesFromJAR
- {
- private JFrame mainframe;
- public ImagesFromJAR ()
- {
- ImageIcon[] cardslist = new ImageIcon[52];
- for (int i = 0; i < 52; ++i)
- {
- cardslist[i] = new ImageIcon (getClass (). getResource ((this.getImagePath (i))));
- }
- JComboBox cardsbox = new JComboBox (cardslist);
- cardsbox.setSelectedIndex (0);
- cardsbox.setEditable (false);
- this.mainframe = new JFrame ();
- this.mainframe.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);
- this.mainframe.setSize (150, 150);
- this.mainframe.setLayout (null);
- cardsbox.setBounds (20, 20, 55, 45);
- this.mainframe.add (cardsbox);
- this.mainframe.setVisible (true);
- }
- private String getImagePath (int index)
- {
- switch (index)
- {
- case 0: return "images/2c.gif";
- case 1: return "images/3c.gif";
- case 2: return "images/4c.gif";
- case 3: return "images/5c.gif";
- case 4: return "images/6c.gif";
- case 5: return "images/7c.gif";
- case 6: return "images/8c.gif";
- case 7: return "images/9c.gif";
- case 8: return "images/Tc.gif";
- case 9: return "images/Jc.gif";
- case 10: return "images/Qc.gif";
- case 11: return "images/Kc.gif";
- case 12: return "images/Ac.gif";
- case 13: return "images/2d.gif";
- case 14: return "images/3d.gif";
- case 15: return "images/4d.gif";
- ......................................
- default: return null;
- }
- }
- public static void main (String[] args)
- {
- javax.swing.SwingUtilities.invokeLater (new Runnable ()
- {
- public void run ()
- {
- ImagesFromJAR t = new ImagesFromJAR ();
- }
- });
- }
- }
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JComboBox;
- import javax.swing.ImageIcon;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.FileInputStream;
- import java.io.IOException;
- public class CodeFromFile
- {
- private JFrame mainframe;
- public CodeFromFile ()
- {
- ImageIcon[] cardslist = new ImageIcon[52];
- InputStreamReader in = null;
- BufferedReader buff;
- int index = -1;
- try
- {
- in = new InputStreamReader (new FileInputStream ("card.encodings.txt"));
- buff = new BufferedReader (in);
- String line;
- byte[] ba;
- while ((line = buff.readLine ()) != null)
- {
- if (line.length () < 10)
- {
- continue;
- }
- index++;
- ba = Base64.decode (line);
- cardslist[index] = new ImageIcon (ba);
- }
- }
- catch (IOException e)
- {
- e.printStackTrace ();
- }
- finally
- {
- if (in != null)
- {
- try
- {
- in.close ();
- }
- catch (IOException e2) {}
- }
- }
- JComboBox cardsbox = new JComboBox (cardslist);
- cardsbox.setSelectedIndex (0);
- cardsbox.setEditable (false);
- this.mainframe = new JFrame ();
- this.mainframe.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);
- this.mainframe.setSize (150, 150);
- this.mainframe.setLayout (null);
- cardsbox.setBounds (20, 20, 55, 45);
- this.mainframe.add (cardsbox);
- this.mainframe.setVisible (true);
- }
- public static void main (String[] args)
- {
- javax.swing.SwingUtilities.invokeLater (new Runnable ()
- {
- public void run ()
- {
- CodeFromFile t = new CodeFromFile ();
- }
- });
- }
- }
- 2c:
- R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXKIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaMQN9DEhgN5MBBA5OtzIHtgEGAJ9qpwLEvjsDAImtsTcIkMo3Ag4DmUAMztSbaajQMAmfCdig4aInDt3pfuyvQTXwMyt19ikiIQA7
- 3c:
- R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXMIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaMowMA5k7B2kEDg22OJ+DT62xNwtbYDsDC5C9OAYkD6Wgw7JFSMKnzp9qqg/aq8gAidc3BQB3j3/jNgINJA3e26+tNfIzK3X4KSIhADs=
- 4c:
- R0lGODlhHgAmALMAAAAAAP///+7u7szMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///yH5BAEAAA8ALAAAAAAeACYAAATC8D1Aq734yhm6/2AIApxonh6FrqLKvp2LGg7ADKtsGpYjoDrR4nIAAlY1i8K4ahCZogSgobhUHYbWMYTIYAqhYCfprSTCWxC5MrycR+nP4YIwtCsEtGk+NQgWAXwMYHosVUU5cSIIdwqIJmIeXV6EhTAskZeWmieZnCmKJwkMmKEiBTalLAINDaSJLAkHDK9QJwWAtKonAgw/urAnCnkBwLYhBm/FtZ2mHQwZCMcoxs0w1ZDOIdhan0Al3iMbZeQZEhEAOw==
- 5c:
- R0lGODlhHgAmALMAAAAAAP///+7u7szMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///yH5BAEAAA8ALAAAAAAeACYAAATA8D1Aq734yhm6/2AIApxonh6FrqLKvp2LGg7ADKtsGpYjoDrR4nIAAlY1i8K4ahCZogSgobhUHYbWMYTIYAqhYCfprSTCWxC5MrycR+nP4YIwtCsEtGk+NQgWAXwMYHosVUU5cSIIdwqIJmIeXV6EhTAskZeWmieZnCmKJgwVS52hIQQWWaaGj4krAwAOCD+vKFIUDpWQpyEHQz5QL12umywMpbyaCAjCLzfOizgBjrYnbQu7yp+dJdwjG2XiGRIRADs=
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JComboBox;
- import javax.swing.ImageIcon;
- public class CodeFromSource
- {
- private JFrame mainframe;
- public CodeFromSource ()
- {
- ImageIcon[] cardslist = new ImageIcon[52];
- byte[] ba;
- for (int i = 0; i < 52; ++i)
- {
- ba = Base64.decode (this.getImageCode (i));
- cardslist[i] = new ImageIcon (ba);
- }
- JComboBox cardsbox = new JComboBox (cardslist);
- cardsbox.setSelectedIndex (0);
- cardsbox.setEditable (false);
- this.mainframe = new JFrame ();
- this.mainframe.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);
- this.mainframe.setSize (150, 150);
- this.mainframe.setLayout (null);
- cardsbox.setBounds (20, 20, 55, 45);
- this.mainframe.add (cardsbox);
- this.mainframe.setVisible (true);
- }
- private String getImageCode (int index)
- {
- switch (index)
- {
- case 0: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXKIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaMQN9DEhgN5MBBA5OtzIHtgEGAJ9qpwLEvjsDAImtsTcIkMo3Ag4DmUAMztSbaajQMAmfCdig4aInDt3pfuyvQTXwMyt19ikiIQA7";
- case 1: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXMIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaMowMA5k7B2kEDg22OJ+DT62xNwtbYDsDC5C9OAYkD6Wgw7JFSMKnzp9qqg/aq8gAidc3BQB3j3/jNgINJA3e26+tNfIzK3X4KSIhADs=";
- case 2: return "R0lGODlhHgAmALMAAAAAAP///+7u7szMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///yH5BAEAAA8ALAAAAAAeACYAAATC8D1Aq734yhm6/2AIApxonh6FrqLKvp2LGg7ADKtsGpYjoDrR4nIAAlY1i8K4ahCZogSgobhUHYbWMYTIYAqhYCfprSTCWxC5MrycR+nP4YIwtCsEtGk+NQgWAXwMYHosVUU5cSIIdwqIJmIeXV6EhTAskZeWmieZnCmKJwkMmKEiBTalLAINDaSJLAkHDK9QJwWAtKonAgw/urAnCnkBwLYhBm/FtZ2mHQwZCMcoxs0w1ZDOIdhan0Al3iMbZeQZEhEAOw==";
- case 3: return "R0lGODlhHgAmALMAAAAAAP///+7u7szMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///yH5BAEAAA8ALAAAAAAeACYAAATA8D1Aq734yhm6/2AIApxonh6FrqLKvp2LGg7ADKtsGpYjoDrR4nIAAlY1i8K4ahCZogSgobhUHYbWMYTIYAqhYCfprSTCWxC5MrycR+nP4YIwtCsEtGk+NQgWAXwMYHosVUU5cSIIdwqIJmIeXV6EhTAskZeWmieZnCmKJgwVS52hIQQWWaaGj4krAwAOCD+vKFIUDpWQpyEHQz5QL12umywMpbyaCAjCLzfOizgBjrYnbQu7yp+dJdwjG2XiGRIRADs=";
- case 4: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXZIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaNwNiAE+gsTJMDKW3PExpqLgvAw+fmTsLD6MMtr04DwxITA1gNgQAn2KJztbYLky8gDgD3i0GANtqOw0O3w/VNgUAdwQOwNw3Bl5ox6+tNf5mrKhDMIWIEAA7";
- case 5: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXGIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaMUwniaCxMIckD2A2j08tCX+2OAO/LQ61w0AFDpmnCgnOQA5IvDsGDai3YZ+t2zEPA9o/hj+uLwtp46+tNewzK3XyKSIhADs=";
- case 6: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXYIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaMowPn6CxMG1wBLRgNw4NLguQrbcvDE4tDAm9S0YDCMPEPIxbmTwGC161ajsGDskA24BdfwHHzDECAOUID+gxCw9wAg3l3DtiJOLjr601/TNW1BmYQkQIADs=";
- case 7: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXZIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaMghFk5k7CA4DAWJIrbF6aS0OkL44BQClbbqgvy4GyC6DvWrGAH+RANOrMg3QBAwPYDePJLhbxUAGD8vMQAQOn+07A23B4jICJArs969xNf5mrKhDMIWIEAA7";
- case 8: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAX4IAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaLgIJDp8BBA1GSKsvDkWfAw9VCA8DvC8FAJ8LDS4NW4A3BMouwi7Exy7TmMlpLUyJL67bLQYApealQbHa1AHpLvDi7C3kAd0u4NE29gHWLdj2yejHzBm0eTeSAbNGzJhAGGVINKuXi8Guh6/i1Mg4Y0WdjylEhAAAOw==";
- case 9: return "R0lGODlhHgAmALMAAAAAAP///+7u7szMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///yH5BAEAAA8ALAAAAAAeACYAAAS38D1Aq734yhm6/2AIApxonh6FrqLKvp2LGg7ADKtsGpYjoDrR4nIAAlY1i8K4ahCZogSgobhUHYbWMYTIYAqhYCfprSTCWxC5MrycR+nP4YIwtCsEtGk+NQgWAXwMYHosVUU5cSIIdwqIJmIeXV6EhTAskZeWmieZnCmKIQM9iS9deaUsczipK6uYoSKvrSizUK4ArLe1ubAvtp2xIQcOL54BVQQIb7TDFEvGwp8xJdMjG2XZGRIRADs=";
- case 10: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXvIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemNgRlJAtIN6ktg38Cl7KaL0wJMGWlgDcOTjAEY6C6LQVGMl6Jq4IAWzENAMA5yZHSMtXXQdkGzDHOajdFAzADx+WLAH8uYmnsNmXTtwC9yDsHXiQN8vp4MPoUkAeBKQwAQttBIIEXbwFoZFMVZEWdiylEhAAAOw==";
- case 11: return "R0lGODlhHgAmAMQAAAAAAP///+7u7t3d3czMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAeACYAAAXgIAQBZGme6CmOQeu+cAwDrGzfLonvss7/LR/u8AA0CDuh7WB6CHBKGeOEgAJ2RdPCunNQuTIFwLE4lR+H3jWWSKEMsWgr6y4p4msYvTQ93Wd5LwgnCQd9JQV4NoNjBwIMAYwNcIo8ZVVJgTIJhwuYNnIubW6UlUA8oaemqjeprDmaLmUlcA0lDaCxLgMAkC4Nk626LQIAWy0IvsI3xccKCajDAc2PadHMRmRArsUMU8pgMs0BUw0DmdjHgw5IyzbjLUwA7Wo3vOBl4IA2syRwoyQe1HvVqgbBGSvqKEwhIgQAOw==";
- case 12: return "R0lGODlhHgAmALMAAAAAAP///+7u7szMzLu7u6qqqpmZmYiIiHd3d2ZmZlVVVURERDMzMyIiIhEREf///yH5BAEAAA8ALAAAAAAeACYAAATR8D1Aq734yhm6/2AIApxonh6FrqLKvp2LGg7ADKtsGpYjoDrR4nIAAlY1i8K4ahCZogSgobhUHYbWMYTIYAqhYCfprSTCWxC5MrycR+nP4YIwtCsEtGk+NQgWAXwMYHosVUU5cSIIdwqIJmIeXV6EhTAskZeWmieZnCmKJgMAeYkvVW9QKAIODD6mKwcIc4+QoSENA6wMsCcFgAFVOJ23H4MdBQAIqiKjFw3MIQm1XZWbIKw/HqNLticL3cYAtR+ZSQ4fZLzXnyMl7e4SZfMZEhEAOw==";
- case 13: return "R0lGODlhHgAmAMQAAAAAAP////8AAP8REf8iIv8zM/9ERP9VVf9mZv93d/+IiP+Zmf+qqv+7u//MzP/d3f/u7v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAAeACYAAAW/YBQBZGme6CmOQeu+cAwDrGzfLonvss4HiJ9vtxAkeMMbhCAQNHZJm6EpIEBw0ZiC2gzesq8Gl7r4ApTMcfPZO9sOairBBm4t40662yZWK8w7W1wGWHs3U01WhTx3eYs8DAJejzwJV1CGP5iamnWcM5kxD4gGDps4BQwBDgQDl3o4C6YtkX+AmhACtrCaD468PwqElDtLD6c8BmzENwllSKExCbsJx8A2CWNzt9hqk22f0OFQNeMxNCIp6uskIiEAOw==";
- .........
- default: return null;
- }
- }
- public static void main (String[] args)
- {
- javax.swing.SwingUtilities.invokeLater (new Runnable ()
- {
- public void run ()
- {
- CodeFromSource t = new CodeFromSource ();
- }
- });
- }
- }