Jpanel添加JButton但jpanel中没有出现任何东西,怎么回事?

我在一个方法中创建了一个final局部变量jButton1,并jPanel1.add(jButton1);但是jButton1并没有出现代码:classTest{JPan... 我在一个方法中创建了一个final 局部变量jButton1,并jPanel1.add(jButton1);但是jButton1并没有出现
代码:class Test{
JPanel jPanel1=new JPanel();
public void main(String []args){
while(true){
test();
}
public void test(){
final JButton jButton1=new JButton();
jPanel1.add(jButton1);
}
}
到底是机器问题(即卡机)还是代码问题
展开
 我来答
zhh3191595
2014-01-29 · 超过22用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:44.4万
展开全部
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

class Test extends JFrame {
private static final long serialVersionUID = -465765931505807251L;
JPanel jPanel1 = new JPanel();

public Test() {
setBounds(100, 100, 400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
final JButton jButton1 = new JButton("Button1");
jButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
System.out.println("Hello world");
}
});
jButton1.setBounds(100, 100, 70, 30);
this.add(jButton1);
}

public static void main(String[] args) {
new Test().setVisible(true);
}
}
试试这段代码,希望对你有帮助,祝学习愉快。
更多追问追答
追问
请问您修改了什么地方并解释一下
追答
  1. 首先你写的代码用的是java swing,有Button的前提是你得先有个窗口,所以类得继承JFrame

  2. 窗口要显示就得用setVisible(true),这样窗口就会显示。

  3. setBounds(x, y, width, height);  x y 窗口左上角在屏幕上的坐标,width height窗口大小。

  4. jButton1.setBounds(100, 100, 70, 30); 这个也一样,button在窗口的坐标, button的大小。

  5. this.add(jButton1); 把button加到窗口上。

有什么不清楚,可以追问。

维特bP
2014-01-29 · TA获得超过406个赞
知道小有建树答主
回答量:659
采纳率:33%
帮助的人:186万
展开全部
需要把jpanel加到JFrame里面,然后jframe的对象要setVisible()。
追问
我想解释一下我的源代码是有JFrame的,只不过我为了简便而省去了,而且源代码中jFrame,JPanel正常,就是这个JButton不正常(另外,这个程序是用myeclipse swing界面做的,可是那个JButton是自己加的,不知这两者会不会有不兼容)
追答
使用源代码把组件写上去和利用GUI拖控件的效果是一样的,不存在兼容问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式