webForumDet fria alternativet

Layoutproblem

Java

1 svar · 412 visningar · startad av erciz

Medlem sedan maj 20011 826 inlägg
Frågan#1

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?

Medlem sedan maj 20011 826 inlägg
#2
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.

257 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)