您可以使用图片的 URL 将图像添加到 GUI 吗?



我目前正在创建一个数据库,该数据库使用IMDB和烂番茄的信息。在数据的打印输出中(在GUI框架中),我必须列出电影海报图像的URL。

我的问题是:有没有一种方法可以在不将图像存储在本地的情况下使用URL来显示图像,而不是打印图像URL?

以下是我必须显示从mySQL检索到的数据的代码(它有效,我只希望URL显示为图像而不是链接):

public void mouseClicked(MouseEvent e) {
            JFrame frame3 = new JFrame("Query 1: Top Movies");
            frame3.setBackground(Color.BLACK);
            frame3.setSize(new Dimension(1500,1500));
            frame3.setVisible(true);
            frame3.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
            System.out.println("frame created");
            try {
                loadConnection();
                //create query
                System.out.println("Connection loaded...");
                String sql = "SELECT M.TITLE,M.YEAR,M.RTAUDIENCESCORE,M.IMDBPICTUREURL FROM MOVIES AS M ORDER BY RTAUDIENCESCORE DESC,TITLE LIMIT 10";
               //prepares statement for execution
                java.sql.PreparedStatement ps = con.prepareStatement(sql);
                ResultSet rs = ps.executeQuery(); 
                System.out.println("Query Successful!");
                //create labels for output
                JLabel l1, l2, l3, l4;
                JTextField title, year, RTscore, IMDBURL;
                //labels
                l1 = new JLabel("Title");
                l2 = new JLabel("Year");
                l3 = new JLabel("RT Audience Score");
                l4 = new JLabel("IMDB Picture URL");
                l1.setBounds(20, 20, 150, 20);
                l2.setBounds(200, 20, 150, 20);
                l3.setBounds(380, 20, 150, 20);
                l4.setBounds(560, 20, 150, 20);
                frame3.add(l1);
                frame3.add(l2);
                frame3.add(l3);
                frame3.add(l4);

                System.out.println("Frames added...");
                int y = 50;
                while (rs.next()) {
                    //Text fields
                    title = new JTextField();
                    year = new JTextField();
                    RTscore = new JTextField();
                    IMDBURL = new JTextField();
                    title.setText(rs.getString(1));
                    year.setText(rs.getString(2));
                    RTscore.setText(rs.getString(3));
                    IMDBURL.setText(rs.getString(4));
                    title.setBounds(20, y, 150, 20);
                    year.setBounds(200, y, 150, 20);
                    RTscore.setBounds(380, y, 150, 20);
                    IMDBURL.setBounds(560, y, 150, 20);
                    y+=30;
                    frame3.add(title);
                    frame3.add(year);
                    frame3.add(RTscore);
                    frame3.add(IMDBURL);
                }
JLabel jLabelObject = new JLabel();
jLabelObject.setIcon(new ImageIcon(IMDBURL))

在您的情况下,您将编辑while循环并添加代表图像的新标签。

frame3.add(title);
 frame3.add(year);
 frame2.add(RTscore);
 frame3.add(jLabelObject);

相关内容

  • 没有找到相关文章

最新更新