Skip to content

Commit 1d5902f

Browse files
hansonrhansonr
authored andcommitted
allowing for full self-painting of (J)Label and (J)Button
1 parent 425b9dc commit 1d5902f

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSButtonUI.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import javax.swing.JMenuItem;
4444
import javax.swing.LookAndFeel;
4545
import javax.swing.UIManager;
46-
import javax.swing.border.CompoundBorder;
4746
import javax.swing.plaf.UIResource;
4847

4948
import swingjs.api.js.DOMNode;
@@ -189,7 +188,9 @@ else if (button.getBorder() == BorderFactory.html5Border)
189188
if (!isMenuSep) {
190189
setMnemonic(-1);
191190
setAlignments(button, false);
191+
updateCenteringNode();
192192
}
193+
193194
}
194195

195196
/**
@@ -784,6 +785,8 @@ protected Dimension getHTMLSizePreferred(DOMNode obj, boolean addCSS) {
784785
@Override
785786
public void paint(Graphics g, JComponent c) {
786787
imagePersists = true; // at least for now.
788+
if (jc.秘paintsSelf())
789+
DOMNode.setStyles(centeringNode, "visibility", "visible");
787790
super.paint(g, c);
788791
}
789792

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSComponentUI.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2403,13 +2403,14 @@ protected void addCentering(DOMNode node) {
24032403
}
24042404

24052405
protected void updateCenteringNode() {
2406-
// // old code -- label only -- is this advisable?
2407-
// if (actualHeight > 0)
2408-
// DOMNode.setStyles(centeringNode, "position", "absolute", "height",
2409-
// actualHeight + "px");
2410-
// if (actualWidth > 0)
2411-
// DOMNode.setStyles(centeringNode, "position", "absolute", "width",
2412-
// actualWidth + "px");
2406+
boolean paintsSelf = jc.秘paintsSelf();
2407+
if (paintsSelf) {
2408+
// component will be responsible for border, background, and text
2409+
DOMNode.setStyles(centeringNode, "visibility", "hidden");
2410+
DOMNode.setStyles(domNode, "border", "none");
2411+
DOMNode.setStyles(domNode, "background", "none");
2412+
}
2413+
24132414
}
24142415

24152416
protected void setAlignments(AbstractButton b, boolean justGetPreferred) {

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSLabelUI.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ public Dimension getMaximumSize(JComponent jc) {
7878

7979
@Override
8080
public void paint(Graphics g, JComponent c) {
81+
if (jc.秘paintsSelf())
82+
DOMNode.setStyles(centeringNode, "visibility", "visible");
8183
super.paint(g, c);
8284
// TODO: implement this for buttons?
8385
DOMNode.setStyles(textNode, "overflow", "hidden", "white-space", "nowrap");

0 commit comments

Comments
 (0)