- 867 名前:デフォルトの名無しさん [2008/07/05(土) 22:35:05 ]
- 質問です。
画像ビューワみたいなのを作ってます。 画像を JScrollPane の中央に表示させたいんですけど、 ウィンドウのサイズをいじると左上に移動してしまいます。 これをなくしたいのですが。。。以下ソースコード(1/2) package test; import java.awt.*; import java.awt.image.*; import javax.swing.*; import javax.swing.event.*; public class JSTest extends JFrame implements ChangeListener{ private JScrollPane sp; private MyCanvas mc; public JSTest(){ mc = new MyCanvas(); sp = new JScrollPane(mc); getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS)); getContentPane().add(sp); JSlider js = new JSlider(20, 300, 100); js.addChangeListener(this); getContentPane().add(js); pack(); setVisible(true); } public void stateChanged(ChangeEvent e){ int newScale = ((JSlider)e.getSource()).getValue(); mc.setScale(newScale); // サイズに合わせて位置を調整 sp.getViewport().setViewPosition(new Point(newScale - 100, newScale - 100)); repaint(); } public static void main(String[] args){ new JSTest();}
|

|