现在改变了项目。有点儿。 图像仍然没有改变。
package icnon;
import javax.imageio.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class FrameIconExample extends JFrame implements ActionListener {
JLabel j;
JPanel p, l, k;
JButton picOne, picTwo;
Container cPane;
public FrameIconExample() {
JButton picOne = new JButton("picOne");
JButton picTwo = new JButton("picTwo");
picOne.setName("picOne");
picTwo.setName("picTwo");
picOne.addActionListener(this);
picTwo.addActionListener(this);
p = new JPanel(new GridLayout(2, 1));
l = new JPanel(new FlowLayout());
k = new JPanel(new FlowLayout());
cPane = getContentPane();
j = new JLabel(new ImageIcon(
"../meet/src/images/beautiful-closeup-portrait-photography.jpg"));
l.add(j);
k.add(picOne);
k.add(picTwo);
p.add(l);
p.add(k);
add(p);
}
public static void main(String[] args) {
FrameIconExample frame = new FrameIconExample();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(300, 800));
frame.setTitle("Frame Icon Example");
// Display the form
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
JButton temp = (JButton) e.getSource();
String src = "../meet/src/images/Majken Kruse portrait - john.jpg";
//System.out.println(src + " " + temp.getName());
if (temp.getName().equalsIgnoreCase("picOne")) {
try {
l.hide();
try {
src = "../meet/src/images/beautiful-closeup-portrait-photography.jpg";
System.out.println(src + " " + temp.getName());
Icon img;
j = new JLabel(new ImageIcon(src));
l.add(j);
System.out.println("1");
} catch (Exception q) {
q.printStackTrace();
}
if (temp.getName().equalsIgnoreCase("picTwo")) {
src = "../icontest/images/Majken Kruse portrait - john.jpg";
System.out.println(src + " " + temp.getName());
Icon img;
j = new JLabel(new ImageIcon(src));
l.add(j);
System.out.println("2");
}
} catch (Exception x) {
x.printStackTrace();
}
}
}
}
原谅糟糕的缩进。我很确定方法l.add(j);是图像不变的原因。
任何想法应该是什么?
答案 0 :(得分:6)
答案 1 :(得分:2)
答案 2 :(得分:1)