• ベストアンサー

他のGUIでGUIを操作する

java の GUI について質問です。 あるGUIのボタンで 他のGUIの画像を変更する事はできるのでしょうか? JFrame を1つ表示させて 一方の操作で他方の画像が変化するようなプログラムです。 ご存知の方いらっしゃいましたらご回答願います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

メイン import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class Main extends JFrame{ public static Gui gui; public static void main(String[] args){ Main main = new Main(); main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); main.setSize(360, 350); main.setLocationRelativeTo(null); main.setVisible(true); gui = new AirGui(); gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); gui.setSize(360, 350); gui.setLocationRelativeTo(null); gui.setVisible(true); } Main(){ JButton button = new JButton("ボタン"); button.addActionListener(new BUTTON()); JPanel p = new JPanel(); p.add(button); getContentPane().add(p); } class BUTTON implements ActionListener{ public void actionPerformed(ActionEvent e) { gui.actionPerformed(); } } } 画像のあるクラス import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class AirGui extends JFrame{ JPanel p = new JPanel(); ImageIcon icon; JLabel show; JLabel power = new JLabel(); JSlider slider = new JSlider(); int i = 1; boolean judge = false; public AirGui(){ icon = new ImageIcon("D:/SOTURON/Air.jpeg"); show = new JLabel(icon); p.add(show); getContentPane().add(p, BorderLayout.CENTER); } public void actionPerformed() { if(i == 0){ icon = new ImageIcon("~画像1~"); i++; } else if(i == 1){ icon = new ImageIcon("~画像2~"); i++; } else if(i == 2){ icon = new ImageIcon("~画像3~"); i = 0; } show.setIcon(icon); } }