textfield and combobox antialiasing through look&feel.

cusax-fix
Yana Stamcheva 21 years ago
parent 7fe77dfa12
commit ddf67e80dd

@ -1,6 +1,58 @@
package net.java.sip.communicator.impl.gui.lookandfeel;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;
import javax.swing.border.AbstractBorder;
import javax.swing.border.Border;
import javax.swing.plaf.BorderUIResource;
import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicBorders;
import javax.swing.text.JTextComponent;
public class SIPCommBorders {
private static Border textFieldBorder;
/**
* Returns a border instance for a JTextField.
*/
public static Border getTextFieldBorder() {
if (textFieldBorder == null
|| !(textFieldBorder instanceof SIPCommBorders.TextFieldBorder)) {
textFieldBorder = new SIPCommBorders.TextFieldBorder();
}
return textFieldBorder;
}
public static class TextFieldBorder extends AbstractBorder implements UIResource{
private static final Insets insets = new Insets(2, 2, 2, 2);
public void paintBorder(Component c, Graphics g, int x, int y,
int w, int h) {
g.setColor(Color.GRAY);
if (c.isEnabled()) {
g.drawRoundRect(x, y, w, h, 5, 5);
} else {
g.drawRoundRect(x, y, w, h, 5, 5);
}
}
public Insets getBorderInsets(Component c) {
return insets;
}
public Insets getBorderInsets(Component c, Insets newInsets) {
newInsets.top = insets.top;
newInsets.left = insets.left;
newInsets.bottom = insets.bottom;
newInsets.right = insets.right;
return newInsets;
}
}
}

@ -6,7 +6,17 @@
*/
package net.java.sip.communicator.impl.gui.lookandfeel;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import javax.swing.JComponent;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.metal.MetalComboBoxUI;
import javax.swing.plaf.metal.MetalLookAndFeel;
import net.java.sip.communicator.impl.gui.utils.AntialiasingManager;
/**
* SIPCommComboBoxUI implementation.
@ -14,5 +24,13 @@
* @author Yana Stamcheva
*/
public class SIPCommComboBoxUI extends MetalComboBoxUI {
public static ComponentUI createUI(JComponent c) {
return new SIPCommComboBoxUI();
}
public void paint(Graphics g, JComponent c) {
AntialiasingManager.activateAntialiasing(g);
super.paint(g, c);
}
}

@ -14,8 +14,11 @@
import javax.swing.UIDefaults;
import javax.swing.plaf.ColorUIResource;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.UIResource;
import javax.swing.plaf.metal.DefaultMetalTheme;
import sun.swing.SwingLazyValue;
import net.java.sip.communicator.impl.gui.utils.Constants;
import net.java.sip.communicator.impl.gui.utils.ImageLoader;
@ -66,6 +69,8 @@ public void addCustomEntriesToTable(UIDefaults table) {
new Float(.3f), new Float(.2f),
DARK_BLUE, getWhite(), new ColorUIResource(LIGHT_BLUE_GRAY) });
Object textFieldBorder = SIPCommBorders.getTextFieldBorder();
Object[] defaults = new Object[] {
"Button.rollover", Boolean.TRUE,
@ -97,7 +102,7 @@ public void addCustomEntriesToTable(UIDefaults table) {
"ScrollBar.width", new Integer(12),
"ScrollBar.horizontalThumbIcon",
ImageLoader.getImage(ImageLoader.SCROLLBAR_THUMB_HORIZONTAL),
"ScrollBar.verticalThumbIcon",
"ScrollBar.verticalThumbIcon",
ImageLoader.getImage(ImageLoader.SCROLLBAR_THUMB_VERTICAL),
"ScrollBar.horizontalThumbHandleIcon",
ImageLoader.getImage(ImageLoader.SCROLLBAR_THUMB_HANDLE_HORIZONTAL),
@ -113,6 +118,8 @@ public void addCustomEntriesToTable(UIDefaults table) {
"TabbedPane.tabAreaInsets", new Insets(2, 2, 0, 6),
"TabbedPane.unselectedBackground", LIGHT_GRAY,
"TextField.border", textFieldBorder,
"Table.gridColor", LIGHT_BLUE_GRAY,
"ToggleButton.gradient", buttonGradient,

@ -7,6 +7,7 @@
package net.java.sip.communicator.impl.gui.lookandfeel;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.plaf.metal.MetalLookAndFeel;
/**
@ -45,7 +46,9 @@ protected void initClassDefaults(UIDefaults table) {
Object[] uiDefaults = {
"ButtonUI", lfPackageName + "SIPCommButtonUI",
"SplitPaneUI", lfPackageName + "SIPCommSplitPaneUI",
"ScrollBarUI", lfPackageName + "SIPCommScrollBarUI"
"ScrollBarUI", lfPackageName + "SIPCommScrollBarUI",
"ComboBoxUI", lfPackageName + "SIPCommComboBoxUI",
"TextFieldUI", lfPackageName + "SIPCommTextFieldUI"
};
table.putDefaults(uiDefaults);
}

@ -0,0 +1,36 @@
/*
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.impl.gui.lookandfeel;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import javax.swing.JComponent;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.metal.MetalTextFieldUI;
import net.java.sip.communicator.impl.gui.utils.AntialiasingManager;
/**
* SIPCommTextFieldUI implementation.
*
* @author Yana Stamcheva
*/
public class SIPCommTextFieldUI extends MetalTextFieldUI {
public static ComponentUI createUI(JComponent c) {
return new SIPCommTextFieldUI();
}
protected void paintSafely(Graphics g) {
AntialiasingManager.activateAntialiasing(g);
super.paintSafely(g);
}
}

@ -1,46 +0,0 @@
/*
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.impl.gui.main.customcontrols;
import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPasswordField;
import net.java.sip.communicator.impl.gui.utils.AntialiasingManager;
import net.java.sip.communicator.impl.gui.utils.Constants;
public class SIPCommPasswordField extends JPasswordField {
public SIPCommPasswordField(){
super();
}
public SIPCommPasswordField(int columns){
super(columns);
}
protected void paintBorder(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.setColor(Constants.TOOLBAR_SEPARATOR_COLOR);
g2.setStroke(new BasicStroke(3.0f));
g2.drawRoundRect(0, 0, this.getWidth() - 1, this.getHeight() - 1, 7, 7);
}
protected void paintComponent(Graphics g){
AntialiasingManager.activateAntialiasing(g);
super.paintComponent(g);
}
}

@ -1,48 +0,0 @@
/*
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.impl.gui.main.customcontrols;
import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JTextField;
import net.java.sip.communicator.impl.gui.utils.AntialiasingManager;
import net.java.sip.communicator.impl.gui.utils.Constants;
public class SIPCommTextField extends JTextField {
public SIPCommTextField(){
super();
}
public SIPCommTextField(int columns){
super(columns);
}
protected void paintBorder(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.setColor(Constants.TOOLBAR_SEPARATOR_COLOR);
g2.setStroke(new BasicStroke(3.0f));
g2.drawRoundRect(0, 0, this.getWidth() - 1, this.getHeight() - 1, 7, 7);
}
protected void paintComponent(Graphics g){
AntialiasingManager.activateAntialiasing(g);
super.paintComponent(g);
}
}

@ -27,11 +27,12 @@
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import net.java.sip.communicator.impl.gui.main.MainFrame;
import net.java.sip.communicator.impl.gui.main.customcontrols.RolloverButton;
import net.java.sip.communicator.impl.gui.main.customcontrols.SIPCommPasswordField;
import net.java.sip.communicator.impl.gui.main.i18n.Messages;
import net.java.sip.communicator.impl.gui.utils.AntialiasingManager;
import net.java.sip.communicator.impl.gui.utils.ImageLoader;
@ -46,7 +47,7 @@ public class LoginWindow extends JDialog
private JComboBox uinComboBox;
private SIPCommPasswordField passwdField = new SIPCommPasswordField(15);
private JPasswordField passwdField = new JPasswordField(15);
private JButton loginButton = new JButton(Messages.getString("login"));
@ -101,7 +102,6 @@ private void init() {
this.uinComboBox = new JComboBox();
this.passwdField.setEchoChar('*');
this.uinComboBox.setEditable(true);
this.labelsPanel.add(uinLabel);
@ -172,7 +172,7 @@ public void actionPerformed(ActionEvent e) {
this.loginManager.login(accountManager,
uinComboBox.getSelectedItem().toString(),
new String(passwdField.getPassword()));
/*new String(passwdField.getPassword())*/"");
}
else{
this.dispose();

Loading…
Cancel
Save