JScrollPaneを使って画像を表示する
戻る
::::::::::::::
MyPanel.java
::::::::::::::
import java.awt.*;
import java.awt.event.*;
import java.awt.dnd.*;
import java.awt.geom.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.swing.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
/**
* $Id: JScrollPane.html,v 1.1 2009/06/22 16:11:48 kishi Exp kishi $
* @author KISHI Yasuhiro
*/
public class MyPanel extends JPanel {
private final String imagePath = "./bLayer.jpg";
private BufferedImage image = null;
public MyPanel() {
super();
try {
image = ImageIO.read( new File( imagePath ) );
} catch ( IOException ex ) {
ex.printStackTrace();
}
System.out.println( image.getWidth() );
System.out.println( image.getHeight() );
if ( image != null ) {
setPreferredSize( new Dimension( image.getWidth(), image.getHeight() ) );
}
}
public void paintComponent( Graphics g ) {
if ( image != null ) {
g.drawImage( image, 0, 0, this );
}
}
}
::::::::::::::
Proto2.java
::::::::::::::
import java.awt.*;
import java.awt.event.*;
import java.awt.dnd.*;
import java.awt.geom.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.swing.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
/**
* $Id: JScrollPane.html,v 1.1 2009/06/22 16:11:48 kishi Exp kishi $
* @author KISHI Yasuhiro
*/
public class Proto2 extends JFrame {
public Proto2() {
super( "スクロール可能なペインに背景画像を配置する" );
setBounds( 0, 0, 480, 320 );
setLayout( new FlowLayout() );
try {
// 外観を設定します
UIManager.setLookAndFeel( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" );
// 外観を変更します
SwingUtilities.updateComponentTreeUI( this );
} catch ( Exception e ) {
e.printStackTrace();
System.exit( -1 );
}
setBackground( Color.white );
MyPanel panel = new MyPanel();
JScrollPane sPane = new JScrollPane();
sPane.getViewport().setView( panel );
sPane.setPreferredSize( new Dimension( 384, 256 ) );
Container container = getContentPane();
container.add( sPane );
setVisible( true );
//pack();
addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent event ) {
dispose();
System.exit( 0 );
}
}
);
}
public static void main( String[] args ) {
new Proto2();
}
}
戻る