別ウインドウに画像と文字を表示しない
こんにちは。
ボタンをクリックすると、別ウインドウが開いて、画像と文字が表示される
アプレットを作りたいのですが、別ウインドウは開きますが、画像と文字は
表示されません。
何度考えても、全く原因が分かりません。
皆さんのご教示宜しくお願いします。
================================================================================
public class ImageTest extends Applet implements ActionListener
{
Image img1 , img2 ;
JLabel jb1 ;
int lblnum ;
MyPanel1 mp1 ;
Graphics g ;
public void init()
{
img1 = getImage( getDocumentBase() , "star1.jpg" ) ;
this.setBackground( Color.yellow ) ;
this.setLayout( null ) ;
JPanel jp1 = new JPanel() ;
jp1.setSize( 1500 , 850 ) ;
jp1.setLayout( null ) ;
jp1.setBackground( Color.yellow ) ;
JPanel jp2 = new JPanel() ;
jp2.setBackground( Color.magenta ) ;
this.add( jp1 ) ;
this.add( jp2 ) ;
JLabel jl1 = new JLabel( new ImageIcon( "star1.gif" ) ) ;
jl1.setSize( 150 , 150 ) ;
jl1.setLocation( 50 , 50 ) ;
jp1.add( jl1 ) ;
JButton jb1 = new JButton( "star" ) ;
jb1.setMargin(new Insets( 1 , 1 , 1 , 1 ) ) ;
jb1.setBorderPainted( false ) ;
jb1.setForeground( Color.red ) ;
jb1.setBackground( Color.yellow ) ;
jb1.setLocation( 75 , 210 ) ;
jb1.setSize( 100 , 50 ) ;
jb1.setFont( new Font( "SansSerif" , Font.ITALIC , 20 ) ) ;
jb1.addActionListener( this ) ;
jp1.add( jb1 ) ;
}
public void actionPerformed( ActionEvent e )
{
Object source = e.getSource() ;
if( source == jb1 ) lblnum = 1 ;
MyPanel1 mp1 = new MyPanel1( lblnum , img1 ) ;
mp1.setVisible( true );
repaint();
}
class MyPanel1 extends Frame
{
int k ;
String str ;
Image img ;
public MyPanel1( int k , Image img )
{
this.k = k ;
this.img = img ;
setSize( 500 , 500 ) ;
setBackground( Color.magenta ) ;
setLocation( 300 , 300 ) ;
}
public void init( )
{
switch( k )
{
case 1: str = "test" ; break ;
}
setVisible( false ) ;
}
public void paint( Graphics g )
{
g.drawImage( img , 0 , 0 , 30 , 30 , this ) ;
g.drawString( str , 150 , 150 ) ;
}
}
}
================================================================================
お礼
2つに分けて描画することにしました。 ご回答ありがとうございました。