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);
}
}
到底是机器问题(即卡机)还是代码问题 展开
代码: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);
}
}
到底是机器问题(即卡机)还是代码问题 展开
2个回答
展开全部
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);
}
}
试试这段代码,希望对你有帮助,祝学习愉快。
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);
}
}
试试这段代码,希望对你有帮助,祝学习愉快。
更多追问追答
追问
请问您修改了什么地方并解释一下
追答
首先你写的代码用的是java swing,有Button的前提是你得先有个窗口,所以类得继承JFrame
窗口要显示就得用setVisible(true),这样窗口就会显示。
setBounds(x, y, width, height); x y 窗口左上角在屏幕上的坐标,width height窗口大小。
jButton1.setBounds(100, 100, 70, 30); 这个也一样,button在窗口的坐标, button的大小。
this.add(jButton1); 把button加到窗口上。
有什么不清楚,可以追问。
展开全部
需要把jpanel加到JFrame里面,然后jframe的对象要setVisible()。
追问
我想解释一下我的源代码是有JFrame的,只不过我为了简便而省去了,而且源代码中jFrame,JPanel正常,就是这个JButton不正常(另外,这个程序是用myeclipse swing界面做的,可是那个JButton是自己加的,不知这两者会不会有不兼容)
追答
使用源代码把组件写上去和利用GUI拖控件的效果是一样的,不存在兼容问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询