|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package examples.texteditor;
/** Finder dialog is used to allow the user to search for given string.
*/
public class Finder extends javax.swing.JDialog {
/** Finder constructor.
* It creates modal dialog and displays it.
*/
public Finder(java.awt.Frame parent, javax.swing.JTextArea textEditor) {
super(parent, true);
this.textEditor = textEditor;
initComponents();
pack();
setLocationRelativeTo(parent);
findField.requestFocus();
}
/** 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 FormEditor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
java.awt.GridBagConstraints gridBagConstraints;
findPanel = new javax.swing.JPanel();
findLabel = new javax.swing.JLabel();
findField = new javax.swing.JTextField();
buttonPanel = new javax.swing.JPanel();
findButton = new javax.swing.JButton();
closeButton = new javax.swing.JButton();
getContentPane().setLayout(new java.awt.GridBagLayout());
setTitle("Find");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
closeDialog(evt);
}
});
getAccessibleContext().setAccessibleName("Find Dialog");
getAccessibleContext().setAccessibleDescription("Find dialog.");
findPanel.setLayout(new java.awt.GridBagLayout());
findLabel.setLabelFor(findField);
findLabel.setText("Find text:");
findPanel.add(findLabel, new java.awt.GridBagConstraints());
findLabel.getAccessibleContext().setAccessibleDescription("Find text.");
findField.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
findFieldActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 0);
findPanel.add(findField, gridBagConstraints);
findField.getAccessibleContext().setAccessibleName("Find Field");
findField.getAccessibleContext().setAccessibleDescription("Find field.");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.insets = new java.awt.Insets(11, 12, 0, 11);
getContentPane().add(findPanel, gridBagConstraints);
buttonPanel.setLayout(new java.awt.GridBagLayout());
findButton.setMnemonic('f');
findButton.setText("Find");
findButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
findButtonActionPerformed(evt);
}
});
buttonPanel.add(findButton, new java.awt.GridBagConstraints());
closeButton.setMnemonic('c');
closeButton.setText("Close");
closeButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
closeButtonActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 0);
buttonPanel.add(closeButton, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
gridBagConstraints.insets = new java.awt.Insets(17, 12, 11, 11);
getContentPane().add(buttonPanel, gridBagConstraints);
}//GEN-END:initComponents
/** This method is called when ENTER is pressed in Find text field.
* If the field contains some text, it invokes Find button action, otherwise does nothing.
* @param evt ActionEvent instance passed from actionPerformed event.
*/
private void findFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_findFieldActionPerformed
if (findField.getText().trim().length() > 0)
findButton.doClick();
}//GEN-LAST:event_findFieldActionPerformed
/** This method is called when Find button is pressed.
* If the field contains some text, it sets the caret position to the searched word, otherwise does nothing.
* @param evt ActionEvent instance passed from actionPerformed event.
*/
private void findButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_findButtonActionPerformed
// Add your handling code here:
String text = textEditor.getText();
String textToFind = findField.getText();
if (!"".equals(textToFind)) {
int index = text.indexOf(textToFind);
if (index != -1) {
textEditor.setCaretPosition(index);
closeDialog(null);
} else {
java.awt.Toolkit.getDefaultToolkit().beep();
}
}
}//GEN-LAST:event_findButtonActionPerformed
/** This method is called when Close button is pressed.
* It closes the Finder dialog.
* @param evt ActionEvent instance passed from actionPerformed event.
*/
private void closeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeButtonActionPerformed
closeDialog(null);
}//GEN-LAST:event_closeButtonActionPerformed
/** This method is called when the dialog is closed.
* @param evt WindowEvent instance passed from windowClosing event.
*/
private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
setVisible(false);
dispose();
}//GEN-LAST:event_closeDialog
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel buttonPanel;
private javax.swing.JButton closeButton;
private javax.swing.JButton findButton;
private javax.swing.JTextField findField;
private javax.swing.JLabel findLabel;
private javax.swing.JPanel findPanel;
// End of variables declaration//GEN-END:variables
private javax.swing.JTextArea textEditor;
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.