PROBLEM MED AT OPDATER ET BILLEDE I EN JLabel!!!!!!!!!!!
jeg kan ikke få opdateret et billede i en JLabel?Første gang jeg åbner applikationen smider den fint billedet ind. Men når jeg med en JFileChooser henter et nyt billede, og vil smide det ind på JLabel vil den ikke???
(Jeg kan godt tegne billedet på Pane med
paint(Graphics g), med det er ikke det jeg vil.
Den skal ind på JLabel!!!
det er her jeg forsøger at opdater JLabel:
//******
private void openFile()
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(
JFileChooser.FILES_ONLY );
int result = fileChooser.showOpenDialog( this );
if ( result == JFileChooser.CANCEL_OPTION )
file = null;
else
{
file = fileChooser.getSelectedFile();
gif=file.toString();
opret_genstand_panel.remove(visbillede_label);
visbillede_label = new JLabel(new ImageIcon(gif));
//************************************
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
import java.text.DecimalFormat;
import javax.swing.JLabel.*;
// Class Opret_genstand
public class Opret_genstand extends Frame
{
final int MenuBarHeight = 19;
// Component Declaration
public Button luk_knap;
public Panel opret_genstand_panel;
public FileDialog OpenDlg1;
public Label opret_genstand_label;
public Label varenavn_label;
public Label beskrivelse_label;
public Label mindste_pris_textfield;
public Button indsaet_billede_knap;
public TextField varenavn_textfield;
public TextField dkr_textfield;
public Label dkr_label;
public TextArea beskrivelse_textarea;
public Button ok_knap;
public Label help_label;
public Label billede_help_label;
public MenuBar MenuBar1;
public Menu MenuBar1Filer0;
public Menu MenuBar1V_lg_Menu1;
public Menu MenuBar1Funktioner2;
public Menu MenuBar1Hj_lp3;
//**********************************************************
public JLabel visbillede_label;
private ImageIcon genstandBillede = new ImageIcon(\"Foto.gif\");
// End of Component Declaration
private File file;
public Image FotoImage;
public String gif=\"\";
private int property;
// Constructor
public Opret_genstand()
{
// Frame Initialization
setForeground(Color.black);
setBackground(Color.lightGray);
setFont(new Font(\"Dialog\",Font.BOLD,12));
setTitle(\"OPRET GENSTAND\");
setLayout(null);
// End of Frame Initialization
// Component Initialization
// visbillede_label.setImageIcon(new Image(Toolkit.getDefaultToolkit().createImage(\"tom.jpg\")));
//*******************************
luk_knap = new Button(\"LUK\");
luk_knap.setFont(new Font(\"Dialog\",Font.BOLD,12));
opret_genstand_panel = new Panel();
opret_genstand_panel.setLayout(null);
opret_genstand_panel.setForeground(Color.black);
opret_genstand_panel.setBackground(Color.yellow);
opret_genstand_panel.setFont(new Font(\"Dialog\",Font.BOLD,12));
OpenDlg1 = new FileDialog(this);
OpenDlg1.setTitle(\"Open\");
OpenDlg1.setMode(FileDialog.LOAD);
OpenDlg1.setDirectory(\"\");
OpenDlg1.setFile(\"\");
opret_genstand_label = new Label(\"OPRET GENSTAND\",Label.CENTER);
opret_genstand_label.setFont(new Font(\"Dialog\",Font.BOLD + Font.ITALIC,20));
varenavn_label = new Label(\"VARENAVN\",Label.LEFT);
varenavn_label.setFont(new Font(\"Dialog\",Font.BOLD,12));
beskrivelse_label = new Label(\"BESKRIVELSE\",Label.LEFT);
beskrivelse_label.setFont(new Font(\"Dialog\",Font.BOLD,12));
mindste_pris_textfield = new Label(\"MINDSTE PRIS\",Label.LEFT);
mindste_pris_textfield.setFont(new Font(\"Dialog\",Font.BOLD,12));
indsaet_billede_knap = new Button(\"INDSÆT BILLEDE\");
indsaet_billede_knap.setFont(new Font(\"Dialog\",Font.BOLD,10));
varenavn_textfield = new TextField(\"\");
varenavn_textfield.setForeground(Color.black);
varenavn_textfield.setBackground(Color.white);
varenavn_textfield.setFont(new Font(\"Dialog\",Font.BOLD,12));
dkr_textfield = new TextField(\"\");
dkr_textfield.setForeground(Color.black);
dkr_textfield.setBackground(Color.white);
dkr_textfield.setFont(new Font(\"Dialog\",Font.BOLD,12));
dkr_label = new Label(\"DKR\",Label.LEFT);
dkr_label.setFont(new Font(\"Dialog\",Font.BOLD,12));
beskrivelse_textarea = new TextArea(\"\");
beskrivelse_textarea.setForeground(Color.black);
beskrivelse_textarea.setBackground(Color.white);
beskrivelse_textarea.setFont(new Font(\"Dialog\",Font.BOLD,12));
ok_knap = new Button(\"OPRET\");
ok_knap.setFont(new Font(\"Dialog\",Font.BOLD,12));
help_label = new Label(\"Når alt er indtastet trykkes på OPRET.\",Label.CENTER);
help_label.setFont(new Font(\"Dialog\",Font.BOLD,12));
billede_help_label = new Label(\"(Kun hvis det ønskes)\",Label.CENTER);
billede_help_label.setFont(new Font(\"Dialog\",Font.BOLD,12));
MenuBar1 = new MenuBar();
MenuBar1Filer0 = new Menu(\"Filer\");
MenuBar1.add(MenuBar1Filer0);
MenuBar1V_lg_Menu1 = new Menu(\"Vælg Menu\");
MenuBar1.add(MenuBar1V_lg_Menu1);
MenuBar1Funktioner2 = new Menu(\"Funktioner\");
MenuBar1.add(MenuBar1Funktioner2);
MenuBar1Hj_lp3 = new Menu(\"Hjælp\");
MenuBar1.add(MenuBar1Hj_lp3);
setMenuBar(MenuBar1);
//*********************************************
visbillede_label = new JLabel(genstandBillede);
visbillede_label.setFont(new Font(\"Dialog\",Font.BOLD,12));
// End of Component Initialization
// Add()s
opret_genstand_panel.add(visbillede_label);
opret_genstand_panel.add(billede_help_label);
add(help_label);
add(ok_knap);
opret_genstand_panel.add(beskrivelse_textarea);
opret_genstand_panel.add(dkr_label);
opret_genstand_panel.add(dkr_textfield);
opret_genstand_panel.add(varenavn_textfield);
opret_genstand_panel.add(indsaet_billede_knap);
opret_genstand_panel.add(mindste_pris_textfield);
opret_genstand_panel.add(beskrivelse_label);
opret_genstand_panel.add(varenavn_label);
opret_genstand_panel.add(opret_genstand_label);
add(opret_genstand_panel);
add(luk_knap);
// End of Add()s
InitialPositionSet();
ActionListener knapAktiv = new DirectionListener();
luk_knap.addActionListener(knapAktiv);
}
public void InitialPositionSet()
{
// InitialPositionSet()
reshape(257,99,593,534);
luk_knap.reshape(457,473+MenuBarHeight,114,30);
opret_genstand_panel.reshape(12,26+MenuBarHeight,562,437);
opret_genstand_label.reshape(145,5,256,32);
varenavn_label.reshape(119,65,95,19);
beskrivelse_label.reshape(120,140,118,19);
mindste_pris_textfield.reshape(120,232,129,19);
indsaet_billede_knap.reshape(114,308,121,30);
varenavn_textfield.reshape(266,64,186,27);
dkr_textfield.reshape(267,229,84,27);
dkr_label.reshape(371,234,52,19);
beskrivelse_textarea.reshape(266,104,188,110);
ok_knap.reshape(333,473+MenuBarHeight,114,30);
help_label.reshape(22,479+MenuBarHeight,305,18);
billede_help_label.reshape(86,343,176,19);
visbillede_label.reshape(270,285,186,131);
// End of InitialPositionSet()
}
public boolean handleEvent(Event evt)
{
// handleEvent()
if (evt.id == Event.WINDOW_DESTROY && evt.target == this) Opret_genstand_WindowDestroy(evt.target);
else if (evt.id == Event.ACTION_EVENT && evt.target == indsaet_billede_knap)indsaet_billede_knap_Action(evt.target);
// End of handleEvent()
return super.handleEvent(evt);
}
/**********************************************************************/
/* tegner billeder på guien */
/**********************************************************************/
public void paint(Graphics g)
{
// FotoImage = Toolkit.getDefaultToolkit().getImage(gif);
// g.drawImage(FotoImage, 500,152,143,135, this);
// End of paint()
}
/**********************************************************************/
/* kalder funktionen openfile */
/**********************************************************************/
public void indsaet_billede_knap_Action(Object target)
{
openFile();
}
/**********************************************************************/
/* åbner en fil og ligger den i en variable */
/**********************************************************************/
private void openFile()
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(
JFileChooser.FILES_ONLY );
int result = fileChooser.showOpenDialog( this );
if ( result == JFileChooser.CANCEL_OPTION )
file = null;
else
{
file = fileChooser.getSelectedFile();
gif=file.toString();
opret_genstand_panel.remove(visbillede_label);
visbillede_label = new JLabel(new ImageIcon(gif));
// repaint();
}
}
// main()
public static void main(String args[])
{
Opret_genstand Opret_genstand = new Opret_genstand();
Opret_genstand.show();
} // End of main()
// Event Handling Routines
public void Opret_genstand_WindowDestroy(Object target)
{
System.exit(0);
}
private class DirectionListener implements ActionListener
{ public void actionPerformed(ActionEvent e)
{ Object knap = e.getSource();
if (knap == luk_knap)
{
System.exit(0);
}
}
}
// End of Event Handling Routines
} // End of Class Opret_genstand
