/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * TextVisualizerJPanel.java * * Created on 22.09.2012, 17:28:38 */ package org.oobd.ui.swing.desk; import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.event.DocumentEvent; import org.oobd.base.*; import org.oobd.base.visualizer.*; import org.oobd.base.support.Onion; /** * * @author steffen */ public class TextEditVisualizerJPanel extends VisualizerJPanel implements IFvisualizer { private String regex; /** Creates new form TextVisualizerJPanel */ public TextEditVisualizerJPanel() { super(); initComponents(); valueTextEdit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { String value = valueTextEdit.getText(); if (regex == null || (value != null && value.matches(regex))) { getVisualizer().inputNewValue(valueTextEdit.getText()); getVisualizer().updateRequest(OOBDConstants.UR_USER); } } }); valueTextEdit.addKeyListener(new KeyListener() { @Override public void keyPressed(KeyEvent keyEvent) { } @Override public void keyReleased(KeyEvent keyEvent) { String value = valueTextEdit.getText(); if (regex == null || (value != null && value.matches(regex))) { valueTextEdit.setForeground(Color.black); }else{ valueTextEdit.setForeground(Color.red); } } @Override public void keyTyped(KeyEvent keyEvent) { } }); } public void initValue(Visualizer viz, Onion onion) { regex = onion.getOnionString("opts/regex"); this.value = viz; } @Override public void paintComponent(Graphics g) { if (value != null) { functionName.setText("<html>" + value.getToolTip() + "</html>"); valueTextEdit.setText(value.toString()); } if (value.getUpdateFlag(4)) { backImageLabel.setIcon(myIcons[OOBDConstants.VE_BACK + 1]); } else { backImageLabel.setIcon(myIcons[0]); } if (value.getUpdateFlag(1)) { updateImageLabel.setIcon(myIcons[OOBDConstants.VE_UPDATE + 1]); } else { updateImageLabel.setIcon(myIcons[0]); } if (value.getUpdateFlag(2)) { timerImageLabel.setIcon(myIcons[OOBDConstants.VE_TIMER + 1]); } else { timerImageLabel.setIcon(myIcons[0]); } if (value.getUpdateFlag(3)) { logImageLabel.setIcon(myIcons[OOBDConstants.VE_LOG + 1]); } else { logImageLabel.setIcon(myIcons[0]); } if (value.getUpdateFlag(0)) { forwardImageLabel.setIcon(myIcons[OOBDConstants.VE_MENU + 1]); } else { forwardImageLabel.setIcon(myIcons[0]); } super.paintComponent(g); } /* public static IFvisualizer getInstance(String pageID, String vizName) { return new TextEditVisualizerJPanel(); } */ /** 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() { valueTextEdit = new javax.swing.JTextField(); jPanel1 = new javax.swing.JPanel(); functionName = new javax.swing.JLabel(); filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); backImageLabel = new javax.swing.JLabel(); updateImageLabel = new javax.swing.JLabel(); timerImageLabel = new javax.swing.JLabel(); logImageLabel = new javax.swing.JLabel(); forwardImageLabel = new javax.swing.JLabel(); filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 32767)); filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767)); setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.PAGE_AXIS)); valueTextEdit.setColumns(1); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(org.oobd.ui.swing.desk.swing.class).getContext().getResourceMap(TextEditVisualizerJPanel.class); valueTextEdit.setFont(resourceMap.getFont("valueTextEdit.font")); // NOI18N valueTextEdit.setText(resourceMap.getString("valueTextEdit.text")); // NOI18N valueTextEdit.setName("valueTextEdit"); // NOI18N add(valueTextEdit); jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); jPanel1.setMinimumSize(new java.awt.Dimension(14, 20)); jPanel1.setName("jPanel1"); // NOI18N jPanel1.setPreferredSize(new java.awt.Dimension(14, 20)); jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.LINE_AXIS)); functionName.setFont(resourceMap.getFont("titleLable.font")); // NOI18N functionName.setForeground(resourceMap.getColor("titleLable.foreground")); // NOI18N functionName.setText(resourceMap.getString("titleLable.text")); // NOI18N functionName.setName("titleLable"); // NOI18N jPanel1.add(functionName); filler1.setName("filler1"); // NOI18N jPanel1.add(filler1); backImageLabel.setIcon(resourceMap.getIcon("backImageLabel.icon")); // NOI18N backImageLabel.setName("backImageLabel"); // NOI18N jPanel1.add(backImageLabel); updateImageLabel.setName("updateImageLabel"); // NOI18N jPanel1.add(updateImageLabel); timerImageLabel.setName("timerImageLabel"); // NOI18N jPanel1.add(timerImageLabel); logImageLabel.setName("logImageLabel"); // NOI18N jPanel1.add(logImageLabel); forwardImageLabel.setName("forwardImageLabel"); // NOI18N jPanel1.add(forwardImageLabel); filler2.setName("filler2"); // NOI18N jPanel1.add(filler2); add(jPanel1); filler3.setName("filler3"); // NOI18N add(filler3); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel backImageLabel; private javax.swing.Box.Filler filler1; private javax.swing.Box.Filler filler2; private javax.swing.Box.Filler filler3; private javax.swing.JLabel forwardImageLabel; private javax.swing.JLabel functionName; private javax.swing.JPanel jPanel1; private javax.swing.JLabel logImageLabel; private javax.swing.JLabel timerImageLabel; private javax.swing.JLabel updateImageLabel; private javax.swing.JTextField valueTextEdit; // End of variables declaration//GEN-END:variables }