}
}
}
}
}
g.setColor(new Color(255 - now, 255 - now, 255 - now));
g.drawLine(4, row, this.getSize().width - 4, row); if (!mouseOn) { }
g.drawLine(4, row, this.getSize().width - 4, row);
g.setColor(new Color(140 + now, 140 + now, 140 + now)); g.setColor(new Color(150 + now, 150 + now, 150 + now)); } else {
} else {
row++;
} else {
g.setColor(new Color(140, 140, 140));
g.drawLine(3, 2, this.getSize().width - 3, 2);
g.drawLine(3, this.getSize().height - 3, this.getSize().width - 3,
this.getSize().height - 3);
g.drawLine(2, 3, 2, this.getSize().height - 4);
g.drawLine(this.getSize().width - 2, 3, this.getSize().width - 2,
this.getSize().height - 4);
int height = this.getSize().height - 5; int row = 3;
while (row <= height) { }
int now = (row * 100) / height; if (now <= 35) { } row++;
g.setColor(new Color(210 - now, 210 - now, 210 - now)); g.drawLine(4, row, this.getSize().width - 4, row); g.setColor(new Color(110 + now, 110 + now, 110 + now)); g.drawLine(4, row, this.getSize().width - 4, row);
} else {
super.paintComponent(g);
public void paintComponent(Graphics g) { }
public void mouseClicked(MouseEvent e) { }
super.paintComponent(g);
- 6 -
}
public void mouseReleased(MouseEvent e) { }
this.mouseDown = false; this.repaint();
public void mousePressed(MouseEvent e) { }
this.mouseDown = true; this.repaint();
public void mouseExited(MouseEvent e) { }
this.mouseOn = false;
this.setForeground(new Color(0, 70, 150)); this.repaint();
public void mouseEntered(MouseEvent e) { }
this.mouseOn = true;
this.setForeground(new Color(50, 130, 210)); this.repaint();
LPasswordField.java
package eb.cstop.swing;
import javax.swing.JPasswordField; import java.awt.event.FocusListener; import java.awt.event.FocusEvent; import java.awt.event.KeyListener; import java.awt.event.KeyEvent; import java.awt.Color;
import java.awt.event.MouseListener; import javax.swing.JPopupMenu; import javax.swing.JMenuItem; import java.awt.Font;
import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.ActionEvent;
public class LPasswordField extends JPasswordField implements ActionListener,
FocusListener, KeyListener, MouseListener { private JPopupMenu popup = new JPopupMenu();
- 7 -
private JMenuItem paste = new JMenuItem(\粘贴 \); private JMenuItem selectAll = new JMenuItem(\全选 \); private JMenuItem delete = new JMenuItem(\删除 \); private Font font = new Font(\宋体\, 0, 12); /**
* 构造函数
*/
public LPasswordField() { this(\);
} /**
* 构造函数
* column - 占用列长度
*/
public LPasswordField(int column) { this(column, \); } /**
* 构造函数
* column - 占用列长度
* text - 初始本文 */
public LPasswordField(int column, String text) { this(text);
this.setColumns(column); } /**
* 构造函数
* text - 初始本文 */
public LPasswordField(String text) { this.setText(text);
this.addFocusListener(this); this.addKeyListener(this); this.addMouseListener(this); paste.setFont(font); selectAll.setFont(font); delete.setFont(font);
paste.addActionListener(this);
selectAll.addActionListener(this); - 8 -
}
delete.addActionListener(this); popup.add(paste); popup.add(delete); popup.addSeparator(); popup.add(selectAll);
this.setSelectionColor(new Color(0, 80, 140)); this.setSelectedTextColor(Color.white);
public void focusGained(FocusEvent e) { }
public void focusLost(FocusEvent e) { }
public void keyPressed(KeyEvent e) { }
public void keyReleased(KeyEvent e) { }
public void keyTyped(KeyEvent e) { }
public void actionPerformed(ActionEvent e) { }
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
this.requestFocus();
if (this.getPassword().length < 1) {
selectAll.setEnabled(false); delete.setEnabled(false);
Object source = e.getSource(); if (source == paste)
this.paste(); this.selectAll();
this.replaceSelection(\); else if (source == selectAll) else if (source == delete)
if (e.getKeyCode() == KeyEvent.VK_ENTER) { }
this.transferFocus(); this.selectAll();
- 9 -
}
}
}
} else { }
popup.show(this, e.getX(), e.getY());
selectAll.setEnabled(true);
if (this.getSelectedText() != null)
delete.setEnabled(true); delete.setEnabled(false); else
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
LTextField.java
package eb.cstop.swing;
import javax.swing.JTextField; import java.awt.event.FocusListener; import java.awt.event.FocusEvent; import java.awt.event.KeyListener; import java.awt.event.KeyEvent; import java.awt.Color;
import javax.swing.JMenuItem; import javax.swing.JPopupMenu;
import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.event.MouseListener; import java.awt.event.MouseEvent; import java.awt.Font;
public class LTextField extends JTextField implements MouseListener,
FocusListener, KeyListener, ActionListener { private JPopupMenu popup = new JPopupMenu(); private JMenuItem copy = new JMenuItem(\复制 \);
- 10 -