# HG changeset patch # User VKARNAUK # Date 1347637874 -14400 # Node ID 011727a60840e202a9c556d840636e3907fd0ce1 # Parent 0ba9254a04ad85ef4a09749c7754d9d72571050c 6994562: Swing classes (both JTextArea and JTextField) don't support caret width tuning Reviewed-by: rupashka, art diff -r 0ba9254a04ad -r 011727a60840 jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Fri Sep 14 15:30:46 2012 +0400 +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Fri Sep 14 19:51:14 2012 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -644,6 +644,9 @@ "released SPACE", "released" }), + "Caret.width", + new DesktopProperty("win.caret.width", null), + "CheckBox.font", ControlFont, "CheckBox.interiorBackground", WindowBackgroundColor, "CheckBox.background", ControlBackgroundColor, diff -r 0ba9254a04ad -r 011727a60840 jdk/src/share/classes/javax/swing/text/DefaultCaret.java --- a/jdk/src/share/classes/javax/swing/text/DefaultCaret.java Fri Sep 14 15:30:46 2012 +0400 +++ b/jdk/src/share/classes/javax/swing/text/DefaultCaret.java Fri Sep 14 19:51:14 2012 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1503,9 +1503,14 @@ if (caretWidth > -1) { return caretWidth; + } else { + Object property = UIManager.get("Caret.width"); + if (property instanceof Integer) { + return ((Integer) property).intValue(); + } else { + return 1; + } } - - return 1; } // --- serialization --------------------------------------------- diff -r 0ba9254a04ad -r 011727a60840 jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp --- a/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp Fri Sep 14 15:30:46 2012 +0400 +++ b/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp Fri Sep 14 19:51:14 2012 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -70,6 +70,7 @@ GetNonClientParameters(); GetIconParameters(); GetColorParameters(); + GetCaretParameters(); GetOtherParameters(); GetSoundEvents(); GetSystemProperties(); @@ -636,6 +637,10 @@ SetSoundProperty(TEXT("win.sound.start"), TEXT("SystemStart")); } +void AwtDesktopProperties::GetCaretParameters() { + SetIntegerProperty(TEXT("win.caret.width"), GetIntegerParameter(SPI_GETCARETWIDTH)); +} + BOOL AwtDesktopProperties::GetBooleanParameter(UINT spi) { BOOL flag; SystemParametersInfo(spi, 0, &flag, 0); diff -r 0ba9254a04ad -r 011727a60840 jdk/src/windows/native/sun/windows/awt_DesktopProperties.h --- a/jdk/src/windows/native/sun/windows/awt_DesktopProperties.h Fri Sep 14 15:30:46 2012 +0400 +++ b/jdk/src/windows/native/sun/windows/awt_DesktopProperties.h Fri Sep 14 19:51:14 2012 +0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -64,6 +64,7 @@ void GetColorParameters(); void GetOtherParameters(); void GetSoundEvents(); + void GetCaretParameters(); static BOOL GetBooleanParameter(UINT spi); static UINT GetIntegerParameter(UINT spi);