package org.korsakow.ide.ui.dialogs;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.border.BevelBorder;
import org.korsakow.ide.ui.components.layout.VerticalFlowLayout;
public class K3ImportDialog extends JPanel
{
private JLabel fileLabel;
private JLabel lineLabel;
private JTextArea messageLabel;
public K3ImportDialog(String filename, String message)
{
this(filename, null, message);
}
public K3ImportDialog(String filename, Integer line, String message)
{
initUI();
fileLabel.setText(filename);
fileLabel.setVisible(fileLabel.getText().length()>0);
if (line != null)
lineLabel.setText(""+line);
lineLabel.setVisible(lineLabel.getText().length()>0);
messageLabel.setText(message);
messageLabel.setVisible(messageLabel.getText().length()>0);
setPreferredSize(new Dimension(640, 240));
}
private void initUI()
{
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
JPanel panel;
add(Box.createVerticalStrut(5));
add(createPanel(new JLabel("File: "), fileLabel = new JLabel()));
add(Box.createVerticalStrut(2));
add(createPanel(new JLabel("Line: "), lineLabel = new JLabel()));
add(Box.createVerticalStrut(10));
add(panel = createPanel(new JLabel("Message"), null));
add(messageLabel = new JTextArea());
messageLabel.setEditable(false);
messageLabel.setWrapStyleWord(true);
messageLabel.setLineWrap(true);
messageLabel.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
}
private JPanel createPanel(JComponent left, JComponent right)
{
JPanel panel = new JPanel(new BorderLayout(0, 0));
panel.setMaximumSize(new Dimension(Short.MAX_VALUE, 20));
panel.add(left, BorderLayout.WEST);
if (right != null)
panel.add(right, BorderLayout.CENTER);
return panel;
}
}