0

次のコードを使用して、画像の上に jbutton を表示しました。しかし、ボタンの位置にカーソルを置くまで、ボタンは表示されません。コードの修正は何ですか?

ファイルProject31.java

package project31;

import javax.swing.JFrame;
import java.awt.*;

public class Project31 {


    public static void main(String[] args) {

        studentinfo studentinfo=new studentinfo();
        studentinfo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        studentinfo.setSize(1368,768);
        studentinfo.setVisible(true);
    }
}

ファイルstudentinfo.java

package project31;


import java.io.*;
import javax.sound.sampled.*;
import sun.audio.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class studentinfo extends JFrame{

    private JButton plainJButton;
    Image stuinfo=Toolkit.getDefaultToolkit().getImage("stuinfo.png");

    public studentinfo(){
            setLayout(new FlowLayout());
            plainJButton=new JButton("Search");
            add (plainJButton);
            ButtonHandler handler=new ButtonHandler();
            plainJButton.addActionListener(handler);
    }

    private class ButtonHandler implements ActionListener{

        public void actionPerformed(ActionEvent event){

        }
    }

    public void paint(Graphics g){
        g.drawImage(stuinfo,16,10,this);
    }

}
4

2 に答える 2

1

ボタンも再描画する必要があります。しかし、JPanel を使用してその上に画像を描画することをお勧めします。次に、JButton を描画します。

class ImagePanel extends JPanel{
   private Image stuinfo;
   public ImagePanel() {
      stuinfo = Toolkit.getDefaultToolkit().getImage("stuinfo.png");
   }
   public void paintComponent(Graphics g){ 
      super.paintComponent(g);
      g.drawImage(stuinfo,16,10,this);
   }
}

それで:

1. Create your JFrame
2. Add an object of ImagePanel to the JFrame with `setContentPane()`
3. Add your button. 

これで、画像の上にボタンができました。

于 2012-10-31T11:32:23.440 に答える
1

ここここIconに示すように、ボタンのイメージを作成することもできます。

于 2012-10-31T12:59:57.663 に答える