diff options
author | JJ | 2022-12-29 02:07:29 +0000 |
---|---|---|
committer | JJ | 2022-12-29 02:20:51 +0000 |
commit | 595853ad76bbebf74a9a737870d5a89fb9f21f55 (patch) | |
tree | bb0f0dc491696519c3a5eae9a89087b7b626a004 /src/main/ui/BrowserCanvas.java | |
parent | ddf614b732649875f20b54af3ef622c5c39127ff (diff) |
Rework layout generator
Diffstat (limited to 'src/main/ui/BrowserCanvas.java')
-rw-r--r-- | src/main/ui/BrowserCanvas.java | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/main/ui/BrowserCanvas.java b/src/main/ui/BrowserCanvas.java index ea20e81..cde894f 100644 --- a/src/main/ui/BrowserCanvas.java +++ b/src/main/ui/BrowserCanvas.java @@ -13,33 +13,26 @@ public class BrowserCanvas extends JPanel { public BrowserCanvas(ArrayList<Node> html) { super(); this.currentLayout = Layout.constructTree(html); - printTree(this.currentLayout.children); - } - - private void printTree(ArrayList<Layout> tree) { - for (Layout node : tree) { -// System.out.println(System.identityHashCode(node.location)); - printTree((node).children); - } + this.setBackground(Color.BLACK); } @Override public void paintComponent(Graphics g) { super.paintComponent(g); Point location = new Point(10, 20); // we need a mutable reference + g.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 12)); + g.setColor(Color.WHITE); + g.drawString("X", location.x, location.y); renderHtml(this.currentLayout.children, g, location); } private void renderHtml(ArrayList<Layout> tree, Graphics g, Point location) { for (Layout layout : tree) { -// System.out.println(layout.location); + g.setColor(new Color((int)(Math.random() * 0x1000000))); g.drawRect(layout.location.x, layout.location.y, layout.dimension.width, layout.dimension.height); + g.setColor(Color.WHITE); if (layout.associatedNode instanceof TextNode) { - if (layout.associatedNode.data().length() > 5) { -// System.out.println(location); - g.drawString(layout.associatedNode.data(), layout.location.x, layout.location.y); - g.drawString("X", 10, 20); - } + g.drawString(layout.associatedNode.data(), layout.location.x, layout.location.y + layout.dimension.height - 5); } else { renderHtml(layout.children, g, location); } |