package org.korsakow.ide.ui.resources;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.korsakow.ide.Application;
import org.korsakow.ide.lang.LanguageBundle;
public class MediaResourceView extends ResourceView
{
protected JPanel mediaPanel;
protected JLabel filenameLabel;
protected JTextField filenameField;
protected JButton filenameButton;
public MediaResourceView()
{
}
@Override
protected void initUI()
{
super.initUI();
mediaPanel = new JPanel();
mediaPanel.setLayout(new BoxLayout(mediaPanel, BoxLayout.Y_AXIS));
mainPanel.add(mediaPanel);
// Box box = Box.createHorizontalBox();
JPanel filenamePanel = new JPanel(new BorderLayout());
mediaPanel.add(filenamePanel);
filenamePanel.add(filenameLabel = new JLabel(LanguageBundle.getString("mediaresourceview.filename.label")), BorderLayout.WEST);
filenamePanel.add(filenameField = new JTextField());
filenamePanel.add(filenameButton = new JButton("..."), BorderLayout.EAST);
filenamePanel.setMaximumSize(new Dimension(Integer.MAX_VALUE, filenameField.getPreferredSize().height)); // why is this necesasry?
}
@Override
protected void initListeners()
{
super.initListeners();
filenameButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
File defaultFile = new File(filenameButton.getText());
File file = Application.getInstance().showFileOpenDialog(MediaResourceView.this, defaultFile);
if (file != null)
filenameField.setText(file.getAbsolutePath());
}
});
}
public void setFilenameVisible(boolean visible)
{
filenameLabel.setVisible(visible);
filenameField.setVisible(visible);
}
public void setFilename(String filename)
{
filenameField.setText(filename);
}
public String getFilename()
{
return filenameField.getText();
}
@Override
public void dispose()
{
super.dispose();
}
}