/* * */ package captor.windowsystem.formcomponent.ncp; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.WindowEvent; import java.util.Vector; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JEditorPane; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import captor.lib.intl.MyIntl; import captor.modelsystem.Model; import captor.windowsystem.CaptorFrame; import captor.windowsystem.formcomponent.Parameter; public class ShowParametersFrame extends CaptorFrame { public static final long serialVersionUID = 149; Model model; private JPanel mainPanel = null; private JPanel headerPanel = null; private JPanel footerPanel = null; private JPanel centerPanel = null; private JEditorPane textArea; private JScrollPane scroll; private JButton okButton = null; Vector parametersVector; public ShowParametersFrame(Model model, CaptorFrame parentWindow, Vector parametersVector) { super(model, parentWindow); this.parametersVector = parametersVector; try { init(); } catch (Exception e) {} } //------------------------------------------------------------------------- protected void init() throws Exception { setTitle(MyIntl.NCP_LABEL_PAR_DESC); setCenterSize(453,382); add(getMainPanel()); setDescription(); } //------------------------------------------------------------------------- private JPanel getMainPanel() { if (mainPanel == null) { mainPanel = new JPanel(); mainPanel.setLayout(new BorderLayout()); mainPanel.add(getHeaderPanel(), java.awt.BorderLayout.NORTH); mainPanel.add(getCenterPanel(), java.awt.BorderLayout.CENTER); mainPanel.add(getFooterPanel(), java.awt.BorderLayout.SOUTH); } return mainPanel; } //------------------------------------------------------------------------- private JPanel getFooterPanel() { if (footerPanel == null) { footerPanel = new JPanel(); footerPanel.setLayout(new BoxLayout(getFooterPanel(), BoxLayout.X_AXIS)); footerPanel.add(new JLabel(" ")); footerPanel.add(Box.createHorizontalGlue()); footerPanel.add(getOkButton()); footerPanel.add(new JLabel(" ")); footerPanel.setPreferredSize(new Dimension(453, 35)); } return footerPanel; } //------------------------------------------------------------------------- private JPanel getCenterPanel() { if (centerPanel == null) { centerPanel = new JPanel(); centerPanel.setLayout(new BorderLayout()); textArea = new JEditorPane(); textArea.setContentType("text/html"); textArea.setText("<b></b>"); textArea.setEditable(true); scroll = new JScrollPane(textArea); scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); centerPanel.add(scroll); } return centerPanel; } //------------------------------------------------------------------------- private JButton getOkButton() { if (okButton == null) { okButton = new JButton("Ok"); okButton.addActionListener(this); } return okButton; } //------------------------------------------------------------------------- public void windowClosing2(WindowEvent e) { close(); } //------------------------------------------------------------------------- private JPanel getHeaderPanel() { if (headerPanel == null) { headerPanel = new JPanel(); headerPanel.setLayout(new BoxLayout(headerPanel, BoxLayout.X_AXIS)); headerPanel.add(new JLabel(MyIntl.NCP_LABEL_PL1)); headerPanel.add(Box.createHorizontalGlue()); headerPanel.add(new JLabel(" ")); headerPanel.setPreferredSize(new Dimension(453, 35)); } return headerPanel; } //------------------------------------------------------------------------- public void actionPerformed (ActionEvent e) { if ( e.getActionCommand().equals("Ok") ) { setVisible(false); } } //------------------------------------------------------------------------- private void setDescription() { if ( parametersVector == null ) { return; } StringBuffer sb = new StringBuffer(); sb.append(MyIntl.NCP_LABEL_SHOW_PAR1); for ( int j = 0; j < parametersVector.size(); j++ ) { Parameter par = (Parameter) parametersVector.get(j); sb.append(MyIntl.NCP_LABEL_SHOW_PAR2 + par.getName() + "<br>"); sb.append(MyIntl.NCP_LABEL_SHOW_PAR3 + par.getType() + "<br>"); if ( !par.getDefaultValue().equals("") ) { sb.append(MyIntl.NCP_LABEL_SHOW_PAR4 + par.getDefaultValue() + "<br>"); } if ( !par.getRegexp().equals("") ) { sb.append(MyIntl.NCP_LABEL_SHOW_PAR5 + par.getRegexp() + "<br>"); } String req = ""; if ( par.isRequired() ) req = "<b><font color=\"red\">true</font></b>"; else req = "true"; sb.append(MyIntl.NCP_LABEL_SHOW_PAR6 + req + "<br>"); if ( !par.getDescription().equals("") ) { sb.append(MyIntl.NCP_LABEL_SHOW_PAR7 + par.getDescription() + "<br>"); } sb.append("<br><hr><br>"); } textArea.setText(sb.toString()); textArea.setCaretPosition(1); } //------------------------------------------------------------------------- }