
java代码中我想要显示着两张图片为什么不行啊,这种怎么写监听阿
packageqqcode;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclass...
package qqcode;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class listen extends JFrame implements ActionListener {
Mypanel_1 mp=null;
JButton jb1=null;
JButton jb2=null;
public String s1=null;
public static void main(String []args){
listen ls=new listen();
}
public listen(){
mp=new Mypanel_1(s1);
jb1=new JButton("张一鸣");
jb2=new JButton("张诗颖");
jb2.addActionListener(this);
jb2.setActionCommand("aa");
jb1.addActionListener(this);
jb1.setActionCommand("bb");
this.add(jb2,BorderLayout.NORTH);
this.add(mp);
this.add(jb1,BorderLayout.SOUTH);
this.setSize(300,500);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("aa")){
mp=new Mypanel_1("aa");
}
else if(e.getActionCommand().equals("bb")){
mp=new Mypanel_1("bb");
}
else{
System.out.print("woaini ");
}
}
}
class Mypanel_1 extends JPanel{
public String st=null;
public Mypanel_1(String s){
st=s;
}
public void paint(Graphics g){
super.paint(g);
this.iMageShow(g,st);
}
public void iMageShow(Graphics g, String a){
if(a=="aa" ){
Image image1=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/2013-11-22 141500.jpg"));
g.drawImage(image1, 0, 0, 300,400, this);
}
else if(a=="bb"){
Image image1=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/2013-11-07 170451.jpg"));
g.drawImage(image1, 0, 0, 300,400, this);
}
else{
System.out.print("ilove you");
}
}
} 展开
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class listen extends JFrame implements ActionListener {
Mypanel_1 mp=null;
JButton jb1=null;
JButton jb2=null;
public String s1=null;
public static void main(String []args){
listen ls=new listen();
}
public listen(){
mp=new Mypanel_1(s1);
jb1=new JButton("张一鸣");
jb2=new JButton("张诗颖");
jb2.addActionListener(this);
jb2.setActionCommand("aa");
jb1.addActionListener(this);
jb1.setActionCommand("bb");
this.add(jb2,BorderLayout.NORTH);
this.add(mp);
this.add(jb1,BorderLayout.SOUTH);
this.setSize(300,500);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("aa")){
mp=new Mypanel_1("aa");
}
else if(e.getActionCommand().equals("bb")){
mp=new Mypanel_1("bb");
}
else{
System.out.print("woaini ");
}
}
}
class Mypanel_1 extends JPanel{
public String st=null;
public Mypanel_1(String s){
st=s;
}
public void paint(Graphics g){
super.paint(g);
this.iMageShow(g,st);
}
public void iMageShow(Graphics g, String a){
if(a=="aa" ){
Image image1=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/2013-11-22 141500.jpg"));
g.drawImage(image1, 0, 0, 300,400, this);
}
else if(a=="bb"){
Image image1=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/2013-11-07 170451.jpg"));
g.drawImage(image1, 0, 0, 300,400, this);
}
else{
System.out.print("ilove you");
}
}
} 展开
展开全部
你的程序我帮你改完了,你看看吧,改动的地方见注释.
完整的程序如下:
package qqcode;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class listen extends JFrame implements ActionListener {
Mypanel_1 mp=null;
JButton jb1=null;
JButton jb2=null;
public String s1="";//这里把public String s1=null:改成public String s1="";
public static void main(String []args){
listen ls=new listen();
}
public listen(){
mp=new Mypanel_1(s1);
jb1=new JButton("张一鸣");
jb2=new JButton("张诗颖");
jb2.addActionListener(this);
jb2.setActionCommand("aa");
jb1.addActionListener(this);
jb1.setActionCommand("bb");
this.add(jb2,BorderLayout.NORTH);
this.add(mp,BorderLayout.CENTER);//这里把this.add(mp);改成this.add(mp,BorderLayout.CENTER);
this.add(jb1,BorderLayout.SOUTH);
this.setSize(300,500);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("aa")){
this.remove(mp);//这里加一句去掉原来的面板
mp=new Mypanel_1("aa");
this.add(mp,BorderLayout.CENTER);//这里加一句把新面板放到JFrame中间
this.validate();//这里加一句验证此容器及其所有子组件
}
else if(e.getActionCommand().equals("bb")){
this.remove(mp);//这里加一句去掉原来的面板
mp=new Mypanel_1("bb");
this.add(mp,BorderLayout.CENTER);//这里加一句把新面板放到JFrame中间
this.validate();//这里加一句验证此容器及其所有子组件
}
else{
System.out.print("woaini ");
}
}
}
class Mypanel_1 extends JPanel{
public String st=null;
public Mypanel_1(String s){
st=s;
}
public void paint(Graphics g){
super.paint(g);
this.iMageShow(g,st);
}
public void iMageShow(Graphics g, String a){
if(a.equals("aa")){//这里把if(a=="aa")改成if(a.equals("aa"))
Image image1=Toolkit.getDefaultToolkit().getImage("/2013-11-22 141500.jpg");//这里去掉Panel.class.getResource
g.drawImage(image1, 0, 0, 300,400, this);
}
else if(a.equals("bb")){//这里把if(a=="bb")改成if(a.equals("bb"))
Image image1=Toolkit.getDefaultToolkit().getImage("/2013-11-07 170451.jpg");//这里去掉Panel.class.getResource
g.drawImage(image1, 0, 0, 300,400, this);
}
else{
System.out.print("ilove you");
}
}
}
注意:你的图片路径给的是程序所在盘的根目录,所以你的图片应放在程序所在盘的根目录下.
完整的程序如下:
package qqcode;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class listen extends JFrame implements ActionListener {
Mypanel_1 mp=null;
JButton jb1=null;
JButton jb2=null;
public String s1="";//这里把public String s1=null:改成public String s1="";
public static void main(String []args){
listen ls=new listen();
}
public listen(){
mp=new Mypanel_1(s1);
jb1=new JButton("张一鸣");
jb2=new JButton("张诗颖");
jb2.addActionListener(this);
jb2.setActionCommand("aa");
jb1.addActionListener(this);
jb1.setActionCommand("bb");
this.add(jb2,BorderLayout.NORTH);
this.add(mp,BorderLayout.CENTER);//这里把this.add(mp);改成this.add(mp,BorderLayout.CENTER);
this.add(jb1,BorderLayout.SOUTH);
this.setSize(300,500);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("aa")){
this.remove(mp);//这里加一句去掉原来的面板
mp=new Mypanel_1("aa");
this.add(mp,BorderLayout.CENTER);//这里加一句把新面板放到JFrame中间
this.validate();//这里加一句验证此容器及其所有子组件
}
else if(e.getActionCommand().equals("bb")){
this.remove(mp);//这里加一句去掉原来的面板
mp=new Mypanel_1("bb");
this.add(mp,BorderLayout.CENTER);//这里加一句把新面板放到JFrame中间
this.validate();//这里加一句验证此容器及其所有子组件
}
else{
System.out.print("woaini ");
}
}
}
class Mypanel_1 extends JPanel{
public String st=null;
public Mypanel_1(String s){
st=s;
}
public void paint(Graphics g){
super.paint(g);
this.iMageShow(g,st);
}
public void iMageShow(Graphics g, String a){
if(a.equals("aa")){//这里把if(a=="aa")改成if(a.equals("aa"))
Image image1=Toolkit.getDefaultToolkit().getImage("/2013-11-22 141500.jpg");//这里去掉Panel.class.getResource
g.drawImage(image1, 0, 0, 300,400, this);
}
else if(a.equals("bb")){//这里把if(a=="bb")改成if(a.equals("bb"))
Image image1=Toolkit.getDefaultToolkit().getImage("/2013-11-07 170451.jpg");//这里去掉Panel.class.getResource
g.drawImage(image1, 0, 0, 300,400, this);
}
else{
System.out.print("ilove you");
}
}
}
注意:你的图片路径给的是程序所在盘的根目录,所以你的图片应放在程序所在盘的根目录下.
展开全部
Mypanel_1 代码显示图片方法有问题,
还没有调用使用显示图片方法
能显示才怪了。
还没有调用使用显示图片方法
能显示才怪了。
追问
我知道,但我想通过监听来交替两张图片,大神,我就是不知道两张图片通过按钮来交替的写法,能不能帮忙写下阿,最好能留qq
追答
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import javax.swing.*;
public class listen extends JFrame implements ActionListener {
JLabel mp=null;
JButton jb1=null;
JButton jb2=null;
/**
* 图片1
*/
private static MyIcon image1 = new MyIcon(new ImageIcon("TEMPIMAGE/xiaomi-7.JPG"));
/**
* 图片2
*/
private static MyIcon image2 = new MyIcon(new ImageIcon("TEMPIMAGE/xiaomi-8.JPG"));
public listen(){
mp=new JLabel(""); //定义JLabel显示图片
jb1=new JButton("张一鸣");
jb2=new JButton("张诗颖");
jb2.addActionListener(this);
jb2.setActionCommand("aa");
jb1.addActionListener(this);
jb1.setActionCommand("bb");
this.add(jb2,BorderLayout.NORTH);
this.add(mp);
this.add(jb1,BorderLayout.SOUTH);
this.setSize(300,500);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String []args){
new listen();
}
public void actionPerformed(ActionEvent e) {
this.iMageShow(e.getActionCommand());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询