Skip to content

Commit 699d597

Browse files
manage caret visibility when gain and lose focus
1 parent 5859aff commit 699d597

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextArea.xtend

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
package org.utplsql.sqldev.ui.runner
22

33
import java.awt.Graphics
4+
import java.awt.event.FocusEvent
5+
import java.awt.event.FocusListener
46
import javax.swing.JTextArea
57
import javax.swing.UIManager
68

7-
class RunnerTextArea extends JTextArea {
9+
class RunnerTextArea extends JTextArea implements FocusListener{
10+
11+
new() {
12+
super()
13+
this.addFocusListener = this
14+
}
815

916
override paintComponent(Graphics g) {
1017
// default for non-opaque components
@@ -22,4 +29,12 @@ class RunnerTextArea extends JTextArea {
2229
super.paintComponent(g)
2330
setOpaque(true)
2431
}
32+
33+
override void focusGained(FocusEvent e) {
34+
this.caret.visible = true
35+
}
36+
37+
override focusLost(FocusEvent e) {
38+
this.caret.visible = false
39+
}
2540
}

sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerTextField.xtend

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
package org.utplsql.sqldev.ui.runner
22

33
import java.awt.Graphics
4+
import java.awt.event.FocusEvent
5+
import java.awt.event.FocusListener
46
import javax.swing.JTextField
57
import javax.swing.UIManager
68

7-
class RunnerTextField extends JTextField {
9+
class RunnerTextField extends JTextField implements FocusListener {
10+
11+
new() {
12+
super()
13+
this.addFocusListener = this
14+
}
815

916
override paintComponent(Graphics g) {
1017
// default for non-opaque components
@@ -21,4 +28,12 @@ class RunnerTextField extends JTextField {
2128
super.paintComponent(g)
2229
setOpaque(true)
2330
}
31+
32+
override void focusGained(FocusEvent e) {
33+
this.caret.visible = true
34+
}
35+
36+
override focusLost(FocusEvent e) {
37+
this.caret.visible = false
38+
}
2439
}

0 commit comments

Comments
 (0)