Ich erstelle derzeit eine Datenbank, die Informationen aus IMDB und Rotten Tomaten verwendet. Beim Ausdruck der Daten (in einem GUI-Rahmen) muss ich die URL zum Posterbild des Films auflisten.Können Sie ein Bild mit der URL des Bildes zu einer GUI hinzufügen?
Meine Frage ist: Anstatt die Bild-URL zu drucken, gibt es eine Möglichkeit, die URL zu verwenden, um das Bild OHNE das Bild lokal gespeichert zu zeigen?
Hier ist der Code Ich habe die Daten von mySQL abgerufen anzuzeigen (Es funktioniert, ich will nur die URL als ein Bild zu zeigen, statt Link):
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);
}
Sie verwenden ein [JLabel] (https://docs.oracle.com/javase/tutorial/uiswing/components/icon.html) von einer URL um das Bild anzuzeigen – copeg