---
title: "Layoutproblem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/181638-layoutproblem"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "erciz"
published: "2009-12-14T17:19:35.000Z"
updated: "2009-12-14T17:41:42.000Z"
replies: 1
views: 426
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/181638-layoutproblem"
---

# Layoutproblem

## #1 — erciz, 2009-12-14T17:19Z

Lite kort: Jag vill ha en bild i sin rätta storlek centrerad i en sida av en JSplitPane, finns inte ytrymme så ska det vara scrollbars. Det verkar vara svårare än vad det låter att få till detta.

```
JPanel image = new JPanel() {
    public void paintComponent(Graphics g) {
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, getWidth(), getHeight());
        g.drawImage(img, 0, 0, (int)f.getWidth(), (int)f.getHeight(), null);
    }
			
    public Dimension getPreferredSize() {
        return new Dimension((int)f.getWidth(), (int)f.getHeight());
    }
			
    public Dimension getMinimumSize() { return getPreferredSize(); }
    public Dimension getMaximumSize() { return getPreferredSize(); }
};

JPanel p = new JPanel(new GridBagLayout());
p.add(image, new GridBagConstraints());

JPanel pFrame = new JPanel();
pFrame.add(new JScrollPane(p));

new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, annanPanel, pFrame);
```

Med koden ovan så blir det bara en yta utan scroll-bars när ytan är för liten, vissa områden syns inte då.

*PS. Går det att få Java-syntax-färger på wF? Isåfall hur?*

Permalänk: https://www.webforum.nu/p/181638

## #2 — erciz, 2009-12-14T17:41Z

```
JPanel image = new JPanel() {
    public void paintComponent(Graphics g) {
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, getWidth(), getHeight());
        g.drawImage(img, 0, 0, (int)f.getWidth(), (int)f.getHeight(), null);
    }
			
    public Dimension getPreferredSize() {
        return new Dimension((int)f.getWidth(), (int)f.getHeight());
    }
			
    public Dimension getMinimumSize() { return getPreferredSize(); }
    public Dimension getMaximumSize() { return getPreferredSize(); }
};

JPanel p = new JPanel(new GridBagLayout());
p.add(image, new GridBagConstraints());

new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, annanPanel, new JScrollPane(p));
```

...gick lite bättre.

Permalänk: https://www.webforum.nu/p/2217374

---

Tråden på webben: https://www.webforum.nu/amne/java/181638-layoutproblem
