java 窗体问题

为什么我添加按钮之后背景图片显示不出来啊``不加按钮的时候添加背景图片然后再添加文字```文字也显示不出来``这是为什么啊!!!!!!谁能帮我修改下``让图片,按钮,和字... 为什么我添加按钮之后背景图片显示不出来啊``不加按钮的时候添加背景图片然后再添加文字```文字也显示不出来``这是为什么啊!!!!!!
谁能帮我修改下``让图片,按钮,和字一起显示```弄好之后再追加100``绝不食言``
package li.JFrame;

import java.awt.*;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import java.io.File;

class MyJframe1 extends JFrame implements TextListener, ActionListener {
//JFrame jf = new JFrame();

JButton jb = new JButton("h");
JPanel jp = new JPanel();
TextField tx = new TextField();
BufferedImage image =null;
MyJframe1() {
// try{ImageIO.read(new File("D:\\图片\\3.jpg")) ;}
// catch(Exception e){};

this.setSize(400, 250);
this.setLayout(null);
//this.setResizable(false);
jb.setBounds(10,20, 40, 20);
tx.setBounds(100,60, 200, 30);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("李鹏制作");
this.add(tx);
jp.add(jb);
//this.add(jp);
jb.addActionListener(this);
tx.addTextListener(this);
this.setVisible(true);
//this.setVisible(true);
//this.repaint();
}
public void paint(Graphics g) {
g.drawImage(image,0,0,this);
g.setFont(new Font("宋体",Font.BOLD,20));
g.drawString("五子棋",40,62);
try{

image = ImageIO.read(new File("D:\\图片\\3.jpg"));
g.drawImage(image,0,0,this);
}
catch(Exception e){};
}
public void actionPerformed(ActionEvent e) {
System.out.print("haha");
};

public void textValueChanged(TextEvent e) {
// System.out.print(tx.getText());
}

}

public class MyJFrame3 {
public static void main(String[] args) {
MyJframe1 my =new MyJframe1();
my.repaint();
}
}
展开
 我来答
tzwtao
2009-12-24 · TA获得超过295个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:147万
展开全部
楼上的那种方案根本不行,楼主要的是图片、文字、按钮一起显示。

楼主只要加一句:this.setLayout(new FlowLayout());

就可以达到效果了!

呵呵,100分我拿了!
Bk_cz
2009-12-21
知道答主
回答量:28
采纳率:0%
帮助的人:0
展开全部
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import java.io.File;
import java.awt.*;//你后面用到public void paint(Graphics g),所以要导入这个包

class MyJframe1 extends JFrame implements TextListener, ActionListener {

JButton jb = new JButton("h");
JPanel jp = new JPanel();
JTextField tx = new JTextField();//此处该为JTextField类的对象
BufferedImage image =null;
MyJframe1() {

this.setSize(400, 250);
this.setLayout(null);

jb.setBounds(10,20, 40, 20);
tx.setBounds(100,60, 200, 30);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("李鹏制作");
this.add(tx);
jp.add(jb);

jb.addActionListener(this);

tx.addActionListener(this);//JTextField类是没有addTextLisetenner这个方法的
this.setVisible(true);

}
public void paint(Graphics g) {
g.drawImage(image,0,0,this);
g.setFont(new Font("宋体",Font.BOLD,20));
g.drawString("五子棋",40,62);
try{

image = ImageIO.read(new File("D:\\图片\\3.jpg"));
g.drawImage(image,0,0,this);
}
catch(Exception e){};
}
public void actionPerformed(ActionEvent e) {
System.out.print("haha");
};

public void textValueChanged(TextEvent e) {

}

}

public class MyJFrame3 {
public static void main(String[] args) {
MyJframe1 my =new MyJframe1();
my.repaint();
}
}
你的注释我全都删了,改的地位我都加了注释,不晓得对你有没有用;
再说下,你这程序当显示那图片的时候,只是短暂的一下就直接执行
下面的显示文字的那了,你注意点看!我调试过了,没有问题.
分分别忘记了哈!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q7853werty
2009-12-25
知道答主
回答量:39
采纳率:0%
帮助的人:21.2万
展开全部
你的问题很简单,其实你自己细想下说不定也能想出来,你是先写出“五子棋”再画出图片,图片有不是透明的出来肯定把字挡住了,所以你只要把顺序换下就好了:public void paint(Graphics g) {
try {
image = ImageIO.read(new File("F:\\图片\\3.jpg"));
g.drawImage(image, 0, 0, this);
} catch (Exception e) {
};
g.drawImage(image, 0, 0, this);
g.setFont(new Font("宋体", Font.BOLD, 20));
g.drawString("五子棋", 40, 62);

}
就这样就OK了,再说你的按钮,我也不知道为什么第一次看不到但只要鼠标在它上扫过他就出来了,若换成Button就没有这个问题了.
问题我帮你解决了一半所以也希望你能给一半分!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式