0

こんにちは、ご列席の皆様、私はまたしても、おそらくあなたにとって簡単なことを理解できませんでした. space.jpeg、treefrog.jpeg、および yosemite.jpeg (対応する画像が表示されるラジオ ボタンをクリックすると) の 3 つの画像を読み込もうとしています。誰かが私を正しい方向に向けたいと思っているなら、私はそれを大いに感謝します.

package guiprogramming;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;

public class ChooseImage extends JPanel {
   private JPanel panel1;
   private SimplePanel drawingPanel;
   JRadioButton button1, button2, button3;

public ChooseImage() {
   setLayout(new BorderLayout());
   panel1 = new JPanel();
   drawingPanel = new SimplePanel();
   button1 = new JRadioButton("Scenery");
   panel1.add(button1);
   button2 = new JRadioButton("Space");
   panel1.add(button2);
   button3 = new JRadioButton("Tree Frog");
   panel1.add(button3);

   ButtonGroup group = new ButtonGroup();
    group.add(button1);
    group.add(button2);
    group.add(button2);

  this.add(panel1, BorderLayout.NORTH);
  this.add(drawingPanel, BorderLayout.CENTER);


  button1.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
     //This is where I am trying to get the images to load
     }});

  button2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
     //This is where I am trying to get the images to load
     }});

  button3.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
    //This is where I am trying to get the images to load
    }});








  }

  public static void main(String[] args) {
  JFrame window = new JFrame("Choose Image");
  ChooseImage panel = new ChooseImage();
  window.setContentPane(panel);
  window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  window.setSize(500, 500);
  window.setVisible(true);
  }
  }
4

1 に答える 1

2
  1. ActionListener が呼び出されるたびに画像をロードしないでください。
  2. プログラムの起動時に一度画像をロードします。
  3. ImageIO.read(...)画像の読み取りに使用します。ImageIO API はここにあります。
  4. 画像を ImageIcons に入れます。
  5. setIcon(...)ActionListeners で、メソッドを介して JLabel のアイコンを交換します。
  6. 複雑な機能を実装する場合は、段階的に個別に実装してください。つまり、最初に画像を表示する小さなプログラムを作成し、それが成功した場合にのみ、ボタンを押して切り替えるプログラムの作成に取り掛かります。
  7. 今後、機能を実装する試みを教えてください。そうすることで、あなたの誤解や問題が何であるかをよりよく理解することができます。
于 2013-04-29T23:46:39.717 に答える