我有Java小程序繪製一個數組(只是一個接一個的矩形)。如何更改圖形的大小
當用戶選擇創建大小爲n
的數組時,它將繪製連接在一起的n
矩形。當n
變大,圖形變大,但由於我用JPanel
來繪製數組,而JPanel
不會滾動,我不得不將JPanel
加入JScrollPane
,但它仍然不會滾動。用戶只能看到整個陣列的一部分。
任何人都可以給我一些幫助嗎?
這裏是我的代碼:
public class ArrayPanel extends JPanel {
....
public void paintComponent(Graphics g) {
...draw array here..
// I wish to get the updated size of the graphis here,
// then i can reset the preferredSize()....?
System.out.println("width=" + getWidth() + " height=" + getHeight());
}
}
public class ArrayDemo extends JPanel {
public ArrayDemo() {
super(new BorderLayout());
arrayPanel = new ArrayPanel();
arrayPanel.setPreferredSize(new Dimension(400, 300));
JScrollPane container = new JScrollPane(arrayPanel,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
container.setPreferredSize(arrayPanel.getPreferredSize());
add(container, BorderLayout.CENTER);
...
}
}
@ohana:我已經重新格式化你的問題的更好的可讀性,和您提供的代碼以避免滾動。如果您不同意,請隨時回滾我的更改。 – 2010-02-21 09:52:13