package ir.ac.iust.nlp.dependencyparser.hybrid; import ir.ac.iust.nlp.dependencyparser.BasePanel; import ir.ac.iust.nlp.dependencyparser.DependencyParser; import ir.ac.iust.nlp.dependencyparser.utility.ExampleFileFilter; import ir.ac.iust.nlp.dependencyparser.utility.enumeration.Flowchart; import ir.ac.iust.nlp.dependencyparser.utility.enumeration.ParserType; import ir.ac.iust.nlp.dependencyparser.utility.parsing.*; import java.awt.Color; import java.awt.GridLayout; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import javax.swing.SpinnerNumberModel; /** * * @author Mojtaba Khallash */ public class StackingPanel extends BasePanel { MaltSettingsPanel pnlMalt; MSTSettingsPanel pnlMSTL0, pnlMSTL1; /** * Creates new form pnlStacked */ public StackingPanel(String dir) { super(dir); pnlMalt = new MaltSettingsPanel(dir); pnlMSTL0 = new MSTSettingsPanel(Flowchart.Train); pnlMSTL1 = new MSTSettingsPanel(Flowchart.Train); initComponents(); setDrop(); setCurrentDirectory(dir); lblLessL0.setVisible(false); pnlAdvancedParameterL0.setVisible(false); lblLessL1.setVisible(false); pnlAdvancedParameterL1.setVisible(false); SpinnerNumberModel num_model = new SpinnerNumberModel(5, 2, 10000, 1); spAugmentNParts.setModel(num_model); tabSettings.remove(pnlMaltSettings); txtMaxRam.setText(getRam(true)); txtMinRam.setText(getRam(false)); } private void setDrop() { initDrop(txtTrainFileL0, false); initDrop(txtTrainFileL1, false); initDrop(txtTestFileL0, false); initDrop(txtTestFileL1, false); initDrop(txtAugmentedTrain, true); initDrop(txtAugmentedTest, true); initDrop(txtParsePathL1, true); } public final void setCurrentDirectory(String dir) { txtTrainFileL0.setText(dir + File.separator + "Treebank" + File.separator + "Persian" + File.separator + "train.conll"); txtTestFileL0.setText(dir + File.separator + "Treebank" + File.separator + "Persian" + File.separator + "test.conll"); txtAugmentedTrain.setText(dir + File.separator + "Output" + File.separator + "stacking" + File.separator); txtAugmentedTest.setText(dir + File.separator + "Output" + File.separator + "stacking" + File.separator); txtTrainFileL1.setText(dir + File.separator + "Treebank" + File.separator + "Persian" + File.separator + "stacking" + File.separator + "train_pred.conll"); txtTestFileL1.setText(dir + File.separator + "Treebank" + File.separator + "Persian" + File.separator + "stacking" + File.separator + "test_pred.conll"); txtParsePathL1.setText(dir + File.separator + "Output" + File.separator + "stacking" + File.separator); } @Override public boolean canSave() { return true; } @Override public void save() { ExampleFileFilter filter = new ExampleFileFilter("txt", "Text Files"); switch(tpLevels.getSelectedIndex()) { // Level0 case 0: saveText(filter, "stack_level0_log.txt", txtLogL0.getText()); break; // Level 1 case 1: saveText(filter, "stack_level1_log.txt", txtLogL1.getText()); break; } } @Override public void saveAs() { save(); } @Override public void threadFinished() { btnRunL0.setEnabled(true); btnRunL1.setEnabled(true); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { lblTitle = new javax.swing.JLabel(); separator = new javax.swing.JPanel(); tpLevels = new javax.swing.JTabbedPane(); pnlLevel0 = new javax.swing.JPanel(); pnlSettingL0 = new javax.swing.JPanel(); lblTrainFileL0 = new javax.swing.JLabel(); txtTrainFileL0 = new javax.swing.JTextField(); btnTrainFileL0Browse = new javax.swing.JToggleButton(); lblAugmentedTrain = new javax.swing.JLabel(); lblTestFileL0 = new javax.swing.JLabel(); txtTestFileL0 = new javax.swing.JTextField(); btnTestFileL0Browse = new javax.swing.JButton(); lblAugmentedTest = new javax.swing.JLabel(); txtAugmentedTrain = new javax.swing.JTextField(); txtAugmentedTest = new javax.swing.JTextField(); btnAugmentedTrainBrowse = new javax.swing.JButton(); btnAugmentedTestBrowse = new javax.swing.JButton(); pnlMoreL0 = new javax.swing.JPanel(); lblMoreL0 = new javax.swing.JLabel(); lblLessL0 = new javax.swing.JLabel(); btnRunL0 = new javax.swing.JButton(); pnlAdvancedParameterL0 = new javax.swing.JPanel(); lblAugmentNParts = new javax.swing.JLabel(); spAugmentNParts = new javax.swing.JSpinner(); lblParserL0 = new javax.swing.JLabel(); cboParserL0 = new javax.swing.JComboBox(); tabSettings = new javax.swing.JTabbedPane(); pnlMSTSettingsL0 = new javax.swing.JPanel(); lblMSTSettingsL0Place = new javax.swing.JLabel(); pnlMaltSettings = new javax.swing.JPanel(); lblMaltSettingsPlace = new javax.swing.JLabel(); txtMaxRam = new javax.swing.JTextField(); chkMaxRam = new javax.swing.JCheckBox(); chkMinRam = new javax.swing.JCheckBox(); txtMinRam = new javax.swing.JTextField(); jTabbedPane2 = new javax.swing.JTabbedPane(); jPanel3 = new javax.swing.JPanel(); jScrollPane2 = new javax.swing.JScrollPane(); txtLogL0 = new javax.swing.JTextArea(); pnlLevel1 = new javax.swing.JPanel(); pnlSettingL1 = new javax.swing.JPanel(); lblTrainFileL1 = new javax.swing.JLabel(); txtTrainFileL1 = new javax.swing.JTextField(); btnTrainFileL1Browse = new javax.swing.JButton(); lblTestFileL1 = new javax.swing.JLabel(); txtTestFileL1 = new javax.swing.JTextField(); btnTestFileL1Browse = new javax.swing.JButton(); btnRunL1 = new javax.swing.JButton(); lblParsePathL1 = new javax.swing.JLabel(); txtParsePathL1 = new javax.swing.JTextField(); btnParsePathL1Browse = new javax.swing.JButton(); jPanel1 = new javax.swing.JPanel(); chkPredEdge = new javax.swing.JCheckBox(); chkPrevSibl = new javax.swing.JCheckBox(); chkNextSibl = new javax.swing.JCheckBox(); chkGrandparents = new javax.swing.JCheckBox(); chkAllchildren = new javax.swing.JCheckBox(); chkPredHead = new javax.swing.JCheckBox(); pnlMoreL1 = new javax.swing.JPanel(); lblMoreL1 = new javax.swing.JLabel(); lblLessL1 = new javax.swing.JLabel(); pnlAdvancedParameterL1 = new javax.swing.JPanel(); jTabbedPanelL1 = new javax.swing.JTabbedPane(); pnlMSTSettingsL1 = new javax.swing.JPanel(); lblMSTSettingsL1Place = new javax.swing.JLabel(); jTabbedPane1 = new javax.swing.JTabbedPane(); jPanel2 = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); txtLogL1 = new javax.swing.JTextArea(); lblTitle.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N lblTitle.setText("Stacking"); separator.setBorder(javax.swing.BorderFactory.createEtchedBorder()); separator.setPreferredSize(new java.awt.Dimension(380, 2)); javax.swing.GroupLayout separatorLayout = new javax.swing.GroupLayout(separator); separator.setLayout(separatorLayout); separatorLayout.setHorizontalGroup( separatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 0, Short.MAX_VALUE) ); separatorLayout.setVerticalGroup( separatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 0, Short.MAX_VALUE) ); pnlSettingL0.setBorder(javax.swing.BorderFactory.createTitledBorder("Settings")); lblTrainFileL0.setText("Train File:"); txtTrainFileL0.setEditable(false); btnTrainFileL0Browse.setText("..."); btnTrainFileL0Browse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnTrainFileL0BrowseActionPerformed(evt); } }); lblAugmentedTrain.setText("Augmented Train:"); lblTestFileL0.setText("Test File:"); txtTestFileL0.setEditable(false); btnTestFileL0Browse.setText("..."); btnTestFileL0Browse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnTestFileL0BrowseActionPerformed(evt); } }); lblAugmentedTest.setText("Augmented Test:"); txtAugmentedTrain.setEditable(false); txtAugmentedTest.setEditable(false); btnAugmentedTrainBrowse.setText("..."); btnAugmentedTrainBrowse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnAugmentedTrainBrowseActionPerformed(evt); } }); btnAugmentedTestBrowse.setText("..."); btnAugmentedTestBrowse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnAugmentedTestBrowseActionPerformed(evt); } }); pnlMoreL0.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(240, 240, 240))); lblMoreL0.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N lblMoreL0.setForeground(new java.awt.Color(153, 153, 153)); lblMoreL0.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ir/ac/iust/nlp/dependencyparser/evaluation/directional_down.png"))); // NOI18N lblMoreL0.setText(" More "); lblMoreL0.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { lblMoreL0_mouseClick(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { lblMoreL0pnlMore_mouseEnter(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { lblMoreL0pnlMore_mouseExit(evt); } }); lblLessL0.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N lblLessL0.setForeground(new java.awt.Color(153, 153, 153)); lblLessL0.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ir/ac/iust/nlp/dependencyparser/evaluation/directional_up.png"))); // NOI18N lblLessL0.setText(" Less"); lblLessL0.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { lblLessL0_mouseClick(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { lblLessL0pnlMore_mouseEnter(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { lblLessL0pnlMore_mouseExit(evt); } }); javax.swing.GroupLayout pnlMoreL0Layout = new javax.swing.GroupLayout(pnlMoreL0); pnlMoreL0.setLayout(pnlMoreL0Layout); pnlMoreL0Layout.setHorizontalGroup( pnlMoreL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlMoreL0Layout.createSequentialGroup() .addGap(8, 8, 8) .addComponent(lblMoreL0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(lblLessL0) .addContainerGap()) ); pnlMoreL0Layout.setVerticalGroup( pnlMoreL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlMoreL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblLessL0, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblMoreL0, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) ); btnRunL0.setText("Run Level0"); btnRunL0.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnRunL0ActionPerformed(evt); } }); lblAugmentNParts.setText("Number of augment parts:"); lblParserL0.setText("Parser:"); cboParserL0.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "MSTParser", "MaltParser" })); cboParserL0.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent evt) { cboParserL0_stateChanged(evt); } }); lblMSTSettingsL0Place.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lblMSTSettingsL0Place.setText("MSTParser Settings: Appear after running"); javax.swing.GroupLayout pnlMSTSettingsL0Layout = new javax.swing.GroupLayout(pnlMSTSettingsL0); pnlMSTSettingsL0.setLayout(pnlMSTSettingsL0Layout); pnlMSTSettingsL0Layout.setHorizontalGroup( pnlMSTSettingsL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblMSTSettingsL0Place, javax.swing.GroupLayout.DEFAULT_SIZE, 555, Short.MAX_VALUE) ); pnlMSTSettingsL0Layout.setVerticalGroup( pnlMSTSettingsL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblMSTSettingsL0Place, javax.swing.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE) ); tabSettings.addTab("MSTParser Settings", pnlMSTSettingsL0); pnlMSTSettingsL0.removeAll(); pnlMSTSettingsL0.setLayout(new GridLayout()); pnlMSTSettingsL0.add(pnlMSTL0); pnlMSTSettingsL0.revalidate(); lblMaltSettingsPlace.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lblMaltSettingsPlace.setText("MaltParser Settings: Appear after running"); javax.swing.GroupLayout pnlMaltSettingsLayout = new javax.swing.GroupLayout(pnlMaltSettings); pnlMaltSettings.setLayout(pnlMaltSettingsLayout); pnlMaltSettingsLayout.setHorizontalGroup( pnlMaltSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblMaltSettingsPlace, javax.swing.GroupLayout.DEFAULT_SIZE, 555, Short.MAX_VALUE) ); pnlMaltSettingsLayout.setVerticalGroup( pnlMaltSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblMaltSettingsPlace, javax.swing.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE) ); tabSettings.addTab("MaltParser Settings", pnlMaltSettings); pnlMaltSettings.removeAll(); pnlMaltSettings.setLayout(new GridLayout()); pnlMaltSettings.add(pnlMalt); pnlMaltSettings.revalidate(); javax.swing.GroupLayout pnlAdvancedParameterL0Layout = new javax.swing.GroupLayout(pnlAdvancedParameterL0); pnlAdvancedParameterL0.setLayout(pnlAdvancedParameterL0Layout); pnlAdvancedParameterL0Layout.setHorizontalGroup( pnlAdvancedParameterL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlAdvancedParameterL0Layout.createSequentialGroup() .addComponent(lblAugmentNParts) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(spAugmentNParts, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(lblParserL0) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(cboParserL0, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(tabSettings, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) ); pnlAdvancedParameterL0Layout.setVerticalGroup( pnlAdvancedParameterL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlAdvancedParameterL0Layout.createSequentialGroup() .addGroup(pnlAdvancedParameterL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblAugmentNParts) .addComponent(spAugmentNParts, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblParserL0) .addComponent(cboParserL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(tabSettings)) ); txtMaxRam.setEditable(false); chkMaxRam.setText("Max Ram"); chkMaxRam.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkMaxRam_Click(evt); } }); chkMinRam.setText("Min Ram"); chkMinRam.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { chkMinRam_Click(evt); } }); txtMinRam.setEditable(false); javax.swing.GroupLayout pnlSettingL0Layout = new javax.swing.GroupLayout(pnlSettingL0); pnlSettingL0.setLayout(pnlSettingL0Layout); pnlSettingL0Layout.setHorizontalGroup( pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlSettingL0Layout.createSequentialGroup() .addContainerGap() .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(pnlAdvancedParameterL0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(pnlSettingL0Layout.createSequentialGroup() .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlSettingL0Layout.createSequentialGroup() .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblTestFileL0) .addComponent(lblTrainFileL0)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(txtTrainFileL0) .addComponent(txtTestFileL0))) .addGroup(pnlSettingL0Layout.createSequentialGroup() .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblAugmentedTrain) .addComponent(lblAugmentedTest)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtAugmentedTest) .addComponent(txtAugmentedTrain)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(btnTrainFileL0Browse, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnTestFileL0Browse, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) .addComponent(btnAugmentedTrainBrowse, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) .addComponent(btnAugmentedTestBrowse, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))) .addGroup(pnlSettingL0Layout.createSequentialGroup() .addComponent(pnlMoreL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(chkMaxRam) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtMaxRam, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(chkMinRam) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtMinRam, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnRunL0))) .addContainerGap()) ); pnlSettingL0Layout.setVerticalGroup( pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlSettingL0Layout.createSequentialGroup() .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblTrainFileL0) .addComponent(txtTrainFileL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnTrainFileL0Browse)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblTestFileL0) .addComponent(txtTestFileL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnTestFileL0Browse)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblAugmentedTrain) .addComponent(txtAugmentedTrain, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnAugmentedTrainBrowse)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(lblAugmentedTest) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(txtAugmentedTest, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnAugmentedTestBrowse))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(pnlMoreL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnRunL0) .addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(chkMaxRam) .addComponent(txtMaxRam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(chkMinRam) .addComponent(txtMinRam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(pnlAdvancedParameterL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) ); txtLogL0.setColumns(20); txtLogL0.setEditable(false); txtLogL0.setRows(5); jScrollPane2.setViewportView(txtLogL0); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 587, Short.MAX_VALUE) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE) ); jTabbedPane2.addTab("Log", jPanel3); javax.swing.GroupLayout pnlLevel0Layout = new javax.swing.GroupLayout(pnlLevel0); pnlLevel0.setLayout(pnlLevel0Layout); pnlLevel0Layout.setHorizontalGroup( pnlLevel0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlLevel0Layout.createSequentialGroup() .addContainerGap() .addGroup(pnlLevel0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jTabbedPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE) .addComponent(pnlSettingL0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); pnlLevel0Layout.setVerticalGroup( pnlLevel0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlLevel0Layout.createSequentialGroup() .addContainerGap() .addComponent(pnlSettingL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTabbedPane2) .addContainerGap()) ); tpLevels.addTab("Level0", pnlLevel0); pnlSettingL1.setBorder(javax.swing.BorderFactory.createTitledBorder("Settings")); lblTrainFileL1.setText("Train File:"); txtTrainFileL1.setEditable(false); btnTrainFileL1Browse.setText("..."); btnTrainFileL1Browse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnTrainFileL1BrowseActionPerformed(evt); } }); lblTestFileL1.setText("Test File:"); txtTestFileL1.setEditable(false); btnTestFileL1Browse.setText("..."); btnTestFileL1Browse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnTestFileL1BrowseActionPerformed(evt); } }); btnRunL1.setText("Run Level1"); btnRunL1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnRunL1ActionPerformed(evt); } }); lblParsePathL1.setText("Parse Path:"); txtParsePathL1.setEditable(false); btnParsePathL1Browse.setText("..."); btnParsePathL1Browse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnParsePathL1BrowseActionPerformed(evt); } }); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Stack Feature")); chkPredEdge.setSelected(true); chkPredEdge.setText("Predicate Edge"); chkPrevSibl.setSelected(true); chkPrevSibl.setText("Previous Sibling"); chkNextSibl.setSelected(true); chkNextSibl.setText("Next Sibling"); chkGrandparents.setSelected(true); chkGrandparents.setText("Grandparents"); chkAllchildren.setSelected(true); chkAllchildren.setText("All Children"); chkPredHead.setSelected(true); chkPredHead.setText("Predicate Head"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(chkPredEdge) .addComponent(chkGrandparents)) .addGap(49, 49, 49) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(chkPrevSibl) .addGap(44, 44, 44) .addComponent(chkNextSibl)) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(chkAllchildren) .addGap(64, 64, 64) .addComponent(chkPredHead))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(chkPredEdge) .addComponent(chkPrevSibl) .addComponent(chkNextSibl)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(chkGrandparents) .addComponent(chkAllchildren) .addComponent(chkPredHead)) .addContainerGap()) ); pnlMoreL1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(240, 240, 240))); lblMoreL1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N lblMoreL1.setForeground(new java.awt.Color(153, 153, 153)); lblMoreL1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ir/ac/iust/nlp/dependencyparser/evaluation/directional_down.png"))); // NOI18N lblMoreL1.setText(" More "); lblMoreL1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { lblMoreL1_mouseClick(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { lblMoreL1pnlMore_mouseEnter(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { lblMoreL1pnlMore_mouseExit(evt); } }); lblLessL1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N lblLessL1.setForeground(new java.awt.Color(153, 153, 153)); lblLessL1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ir/ac/iust/nlp/dependencyparser/evaluation/directional_up.png"))); // NOI18N lblLessL1.setText(" Less"); lblLessL1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { lblLessL1_mouseClick(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { lblLessL1pnlMore_mouseEnter(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { lblLessL1pnlMore_mouseExit(evt); } }); javax.swing.GroupLayout pnlMoreL1Layout = new javax.swing.GroupLayout(pnlMoreL1); pnlMoreL1.setLayout(pnlMoreL1Layout); pnlMoreL1Layout.setHorizontalGroup( pnlMoreL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlMoreL1Layout.createSequentialGroup() .addGap(8, 8, 8) .addComponent(lblMoreL1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(lblLessL1) .addContainerGap()) ); pnlMoreL1Layout.setVerticalGroup( pnlMoreL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlMoreL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblLessL1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblMoreL1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) ); lblMSTSettingsL1Place.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lblMSTSettingsL1Place.setText("MSTParser Settings: Appear after running"); javax.swing.GroupLayout pnlMSTSettingsL1Layout = new javax.swing.GroupLayout(pnlMSTSettingsL1); pnlMSTSettingsL1.setLayout(pnlMSTSettingsL1Layout); pnlMSTSettingsL1Layout.setHorizontalGroup( pnlMSTSettingsL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblMSTSettingsL1Place, javax.swing.GroupLayout.DEFAULT_SIZE, 555, Short.MAX_VALUE) ); pnlMSTSettingsL1Layout.setVerticalGroup( pnlMSTSettingsL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblMSTSettingsL1Place, javax.swing.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE) ); jTabbedPanelL1.addTab("MSTParser Settings", pnlMSTSettingsL1); pnlMSTSettingsL1.removeAll(); pnlMSTSettingsL1.setLayout(new GridLayout()); pnlMSTSettingsL1.add(pnlMSTL1); pnlMSTSettingsL1.revalidate(); javax.swing.GroupLayout pnlAdvancedParameterL1Layout = new javax.swing.GroupLayout(pnlAdvancedParameterL1); pnlAdvancedParameterL1.setLayout(pnlAdvancedParameterL1Layout); pnlAdvancedParameterL1Layout.setHorizontalGroup( pnlAdvancedParameterL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPanelL1) ); pnlAdvancedParameterL1Layout.setVerticalGroup( pnlAdvancedParameterL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPanelL1) ); javax.swing.GroupLayout pnlSettingL1Layout = new javax.swing.GroupLayout(pnlSettingL1); pnlSettingL1.setLayout(pnlSettingL1Layout); pnlSettingL1Layout.setHorizontalGroup( pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlSettingL1Layout.createSequentialGroup() .addContainerGap() .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(pnlAdvancedParameterL1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(pnlSettingL1Layout.createSequentialGroup() .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnlSettingL1Layout.createSequentialGroup() .addComponent(lblParsePathL1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(txtParsePathL1)) .addGroup(pnlSettingL1Layout.createSequentialGroup() .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lblTrainFileL1) .addComponent(lblTestFileL1)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtTestFileL1) .addComponent(txtTrainFileL1)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(btnTestFileL1Browse, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnTrainFileL1Browse, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) .addComponent(btnParsePathL1Browse, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlSettingL1Layout.createSequentialGroup() .addComponent(pnlMoreL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnRunL1))) .addContainerGap()) ); pnlSettingL1Layout.setVerticalGroup( pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlSettingL1Layout.createSequentialGroup() .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblTrainFileL1) .addComponent(txtTrainFileL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnTrainFileL1Browse)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblTestFileL1) .addComponent(txtTestFileL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnTestFileL1Browse)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblParsePathL1) .addComponent(txtParsePathL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnParsePathL1Browse)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(btnRunL1) .addComponent(pnlMoreL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(pnlAdvancedParameterL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); txtLogL1.setColumns(20); txtLogL1.setEditable(false); txtLogL1.setRows(5); jScrollPane1.setViewportView(txtLogL1); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 587, Short.MAX_VALUE) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE) ); jTabbedPane1.addTab("Log", jPanel2); javax.swing.GroupLayout pnlLevel1Layout = new javax.swing.GroupLayout(pnlLevel1); pnlLevel1.setLayout(pnlLevel1Layout); pnlLevel1Layout.setHorizontalGroup( pnlLevel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlLevel1Layout.createSequentialGroup() .addContainerGap() .addGroup(pnlLevel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE) .addComponent(pnlSettingL1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); pnlLevel1Layout.setVerticalGroup( pnlLevel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlLevel1Layout.createSequentialGroup() .addContainerGap() .addComponent(pnlSettingL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTabbedPane1) .addContainerGap()) ); tpLevels.addTab("Level1", pnlLevel1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(tpLevels, javax.swing.GroupLayout.DEFAULT_SIZE, 617, Short.MAX_VALUE) .addComponent(separator, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 617, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() .addComponent(lblTitle) .addGap(0, 0, Short.MAX_VALUE))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(lblTitle) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(separator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(tpLevels) .addContainerGap()) ); }// </editor-fold>//GEN-END:initComponents private void lblMoreL0_mouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL0_mouseClick lblMoreL0.setVisible(false); lblLessL0.setVisible(true); pnlAdvancedParameterL0.setVisible(true); }//GEN-LAST:event_lblMoreL0_mouseClick private void lblMoreL0pnlMore_mouseEnter(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL0pnlMore_mouseEnter pnlMoreL0.setBackground(new Color(235, 232, 232)); pnlMoreL0.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(102, 102, 102), 1, false)); }//GEN-LAST:event_lblMoreL0pnlMore_mouseEnter private void lblMoreL0pnlMore_mouseExit(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL0pnlMore_mouseExit pnlMoreL0.setBackground(new Color(240, 240, 240)); pnlMoreL0.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(240, 240, 240), 1, false)); }//GEN-LAST:event_lblMoreL0pnlMore_mouseExit private void lblLessL0_mouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL0_mouseClick pnlAdvancedParameterL0.setVisible(false); lblLessL0.setVisible(false); lblMoreL0.setVisible(true); }//GEN-LAST:event_lblLessL0_mouseClick private void lblLessL0pnlMore_mouseEnter(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL0pnlMore_mouseEnter pnlMoreL0.setBackground(new Color(235, 232, 232)); pnlMoreL0.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(102, 102, 102), 1, false)); }//GEN-LAST:event_lblLessL0pnlMore_mouseEnter private void lblLessL0pnlMore_mouseExit(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL0pnlMore_mouseExit pnlMoreL0.setBackground(new Color(240, 240, 240)); pnlMoreL0.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(240, 240, 240), 1, false)); }//GEN-LAST:event_lblLessL0pnlMore_mouseExit private void btnRunL0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRunL0ActionPerformed btnRunL0.setEnabled(false); Settings settings; ParserType type; if (cboParserL0.getSelectedItem().toString().equals("MSTParser")) { type = ParserType.MSTParser; MSTStackSettings st = new MSTStackSettings(); st.Level = 0; // train-file st.Input = txtTrainFileL0.getText(); // train output-file st.AugmentedTrainFile = txtAugmentedTrain.getText() + "train_pred.conll"; // test-file st.Gold = txtTestFileL0.getText(); // test output-file st.Output = txtAugmentedTest.getText() + "test_pred.conll"; // model-name st.Model = workingDir + File.separator + "modelname_level0.model"; st.AugmentNParts = Integer.parseInt(spAugmentNParts.getValue().toString()); // training iters st.Iteration = pnlMSTL0.getTrainingIterations(); // decode-type st.DecodeType = pnlMSTL0.getDecodeType(); // training-k st.TrainingK = pnlMSTL0.getTrainingK(); // loss-type st.LossType = pnlMSTL0.getLossType(); // order st.Order = pnlMSTL0.getOrder(); settings = st; } else { type = ParserType.MaltParser; MaltStackSettings st = new MaltStackSettings(); st.Level = 0; // train-file st.Input = txtTrainFileL0.getText(); // test-file st.Gold = txtTestFileL0.getText(); // train output-file st.AugmentedTrainFile = txtAugmentedTrain.getText() + "train_pred.conll"; // test output-file st.Output = txtAugmentedTest.getText() + "test_pred.conll"; // augment-nparts st.AugmentNParts = Integer.parseInt(spAugmentNParts.getValue().toString()); // options file st.OptionsFile = pnlMalt.getOptionsFile(); // guide features file st.GuidesFile = pnlMalt.getGuidesFile(); // working directory st.WorkingDirectory = "tmp" + File.separator; settings = st; } PrintStream out = new PrintStream(new OutputStream() { private StringBuffer buffer = new StringBuffer(); @Override public void write(int b) throws IOException { this.buffer.append((char) b); txtLogL0.setText(buffer.toString()); txtLogL0.setCaretPosition(txtLogL0.getDocument().getLength() - 1); } }); if (chkMaxRam.isSelected()) { DependencyParser.maxRam = txtMaxRam.getText(); } else { DependencyParser.maxRam = ""; } if (chkMinRam.isSelected()) { DependencyParser.minRam = txtMinRam.getText(); } else { DependencyParser.minRam = ""; } // Run in a new thread Runnable job = new RunnableHybrid(this, out, type, settings); ExecutorService threadPool = Executors.newFixedThreadPool(1); threadPool.execute(job); threadPool.shutdown(); }//GEN-LAST:event_btnRunL0ActionPerformed private void btnTrainFileL0BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTrainFileL0BrowseActionPerformed txtTrainFileL0.setText(showFileDialog(txtTrainFileL0.getText(), false)); }//GEN-LAST:event_btnTrainFileL0BrowseActionPerformed private void btnTestFileL0BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTestFileL0BrowseActionPerformed txtTestFileL0.setText(showFileDialog(txtTestFileL0.getText(), false)); }//GEN-LAST:event_btnTestFileL0BrowseActionPerformed private void btnAugmentedTrainBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAugmentedTrainBrowseActionPerformed txtAugmentedTrain.setText(showFileDialog(txtAugmentedTrain.getText(), true)); }//GEN-LAST:event_btnAugmentedTrainBrowseActionPerformed private void btnAugmentedTestBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAugmentedTestBrowseActionPerformed txtAugmentedTest.setText(showFileDialog(txtAugmentedTest.getText(), true)); }//GEN-LAST:event_btnAugmentedTestBrowseActionPerformed private void btnRunL1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRunL1ActionPerformed btnRunL1.setEnabled(false); MSTStackSettings settings = new MSTStackSettings(); settings.Level = 1; // train-file settings.Input = txtTrainFileL1.getText(); // test-file settings.Gold = txtTestFileL1.getText(); // parse output-file settings.Output = txtParsePathL1.getText() + "parse.conll"; // training iters settings.Iteration = pnlMSTL1.getTrainingIterations(); // decode-type settings.DecodeType = pnlMSTL1.getDecodeType(); // training-k settings.TrainingK = pnlMSTL1.getTrainingK(); // loss-type settings.LossType = pnlMSTL1.getLossType(); // order settings.Order = pnlMSTL1.getOrder(); // model-name settings.Model = workingDir + File.separator + "modelname_level1.model"; // stackedfeat-pred-edge settings.UsePredEdge = chkPredEdge.isSelected(); // stackedfeat-prev-sibl settings.UsePrevSibling = chkPrevSibl.isSelected(); // stackedfeat-next-sibl settings.UseNextSibling = chkNextSibl.isSelected(); // stackedfeat-grandparents settings.UseGrandParents = chkGrandparents.isSelected(); // stackedfeat-allchildren settings.UseAllchildren = chkAllchildren.isSelected(); // stackedfeat-pred-head settings.UsePredHead = chkPredHead.isSelected(); PrintStream out = new PrintStream(new OutputStream() { private StringBuffer buffer = new StringBuffer(); @Override public void write(int b) throws IOException { this.buffer.append((char) b); txtLogL1.setText(buffer.toString()); txtLogL1.setCaretPosition(txtLogL1.getDocument().getLength() - 1); } }); // Run in a new thread Runnable job = new RunnableHybrid(this, out, ParserType.MSTParser, settings); ExecutorService threadPool = Executors.newFixedThreadPool(1); threadPool.execute(job); threadPool.shutdown(); }//GEN-LAST:event_btnRunL1ActionPerformed private void lblMoreL1_mouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL1_mouseClick lblMoreL1.setVisible(false); lblLessL1.setVisible(true); pnlAdvancedParameterL1.setVisible(true); }//GEN-LAST:event_lblMoreL1_mouseClick private void lblMoreL1pnlMore_mouseEnter(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL1pnlMore_mouseEnter pnlMoreL1.setBackground(new Color(235, 232, 232)); pnlMoreL1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(102, 102, 102), 1, false)); }//GEN-LAST:event_lblMoreL1pnlMore_mouseEnter private void lblMoreL1pnlMore_mouseExit(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL1pnlMore_mouseExit pnlMoreL1.setBackground(new Color(240, 240, 240)); pnlMoreL1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(240, 240, 240), 1, false)); }//GEN-LAST:event_lblMoreL1pnlMore_mouseExit private void lblLessL1_mouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL1_mouseClick pnlAdvancedParameterL1.setVisible(false); lblLessL1.setVisible(false); lblMoreL1.setVisible(true); }//GEN-LAST:event_lblLessL1_mouseClick private void lblLessL1pnlMore_mouseEnter(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL1pnlMore_mouseEnter pnlMoreL1.setBackground(new Color(235, 232, 232)); pnlMoreL1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(102, 102, 102), 1, false)); }//GEN-LAST:event_lblLessL1pnlMore_mouseEnter private void lblLessL1pnlMore_mouseExit(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL1pnlMore_mouseExit pnlMoreL1.setBackground(new Color(240, 240, 240)); pnlMoreL1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(240, 240, 240), 1, false)); }//GEN-LAST:event_lblLessL1pnlMore_mouseExit private void btnTrainFileL1BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTrainFileL1BrowseActionPerformed txtTrainFileL1.setText(showFileDialog(txtTrainFileL1.getText(), false)); }//GEN-LAST:event_btnTrainFileL1BrowseActionPerformed private void btnTestFileL1BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTestFileL1BrowseActionPerformed txtTestFileL1.setText(showFileDialog(txtTestFileL1.getText(), false)); }//GEN-LAST:event_btnTestFileL1BrowseActionPerformed private void btnParsePathL1BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnParsePathL1BrowseActionPerformed txtParsePathL1.setText(showFileDialog(txtParsePathL1.getText(), true)); }//GEN-LAST:event_btnParsePathL1BrowseActionPerformed private void cboParserL0_stateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cboParserL0_stateChanged if (cboParserL0.getSelectedItem().toString().equals("MaltParser")) { tabSettings.remove(pnlMSTSettingsL0); tabSettings.add(pnlMaltSettings, "MaltParser Settings"); } else { tabSettings.remove(pnlMaltSettings); tabSettings.add(pnlMSTSettingsL0, "MSTParser Settings"); } }//GEN-LAST:event_cboParserL0_stateChanged private void chkMinRam_Click(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkMinRam_Click txtMinRam.setEditable(chkMinRam.isSelected()); }//GEN-LAST:event_chkMinRam_Click private void chkMaxRam_Click(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkMaxRam_Click txtMaxRam.setEditable(chkMaxRam.isSelected()); }//GEN-LAST:event_chkMaxRam_Click // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnAugmentedTestBrowse; private javax.swing.JButton btnAugmentedTrainBrowse; private javax.swing.JButton btnParsePathL1Browse; private javax.swing.JButton btnRunL0; private javax.swing.JButton btnRunL1; private javax.swing.JButton btnTestFileL0Browse; private javax.swing.JButton btnTestFileL1Browse; private javax.swing.JToggleButton btnTrainFileL0Browse; private javax.swing.JButton btnTrainFileL1Browse; private javax.swing.JComboBox cboParserL0; private javax.swing.JCheckBox chkAllchildren; private javax.swing.JCheckBox chkGrandparents; private javax.swing.JCheckBox chkMaxRam; private javax.swing.JCheckBox chkMinRam; private javax.swing.JCheckBox chkNextSibl; private javax.swing.JCheckBox chkPredEdge; private javax.swing.JCheckBox chkPredHead; private javax.swing.JCheckBox chkPrevSibl; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JTabbedPane jTabbedPane1; private javax.swing.JTabbedPane jTabbedPane2; private javax.swing.JTabbedPane jTabbedPanelL1; private javax.swing.JLabel lblAugmentNParts; private javax.swing.JLabel lblAugmentedTest; private javax.swing.JLabel lblAugmentedTrain; private javax.swing.JLabel lblLessL0; private javax.swing.JLabel lblLessL1; private javax.swing.JLabel lblMSTSettingsL0Place; private javax.swing.JLabel lblMSTSettingsL1Place; private javax.swing.JLabel lblMaltSettingsPlace; private javax.swing.JLabel lblMoreL0; private javax.swing.JLabel lblMoreL1; private javax.swing.JLabel lblParsePathL1; private javax.swing.JLabel lblParserL0; private javax.swing.JLabel lblTestFileL0; private javax.swing.JLabel lblTestFileL1; private javax.swing.JLabel lblTitle; private javax.swing.JLabel lblTrainFileL0; private javax.swing.JLabel lblTrainFileL1; private javax.swing.JPanel pnlAdvancedParameterL0; private javax.swing.JPanel pnlAdvancedParameterL1; private javax.swing.JPanel pnlLevel0; private javax.swing.JPanel pnlLevel1; private javax.swing.JPanel pnlMSTSettingsL0; private javax.swing.JPanel pnlMSTSettingsL1; private javax.swing.JPanel pnlMaltSettings; private javax.swing.JPanel pnlMoreL0; private javax.swing.JPanel pnlMoreL1; private javax.swing.JPanel pnlSettingL0; private javax.swing.JPanel pnlSettingL1; private javax.swing.JPanel separator; private javax.swing.JSpinner spAugmentNParts; private javax.swing.JTabbedPane tabSettings; private javax.swing.JTabbedPane tpLevels; private javax.swing.JTextField txtAugmentedTest; private javax.swing.JTextField txtAugmentedTrain; private javax.swing.JTextArea txtLogL0; private javax.swing.JTextArea txtLogL1; private javax.swing.JTextField txtMaxRam; private javax.swing.JTextField txtMinRam; private javax.swing.JTextField txtParsePathL1; private javax.swing.JTextField txtTestFileL0; private javax.swing.JTextField txtTestFileL1; private javax.swing.JTextField txtTrainFileL0; private javax.swing.JTextField txtTrainFileL1; // End of variables declaration//GEN-END:variables }