JAVA图形化

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:46:00
import java.awt.*;
import javax.swing.*;
public class MyPaint{
JFrame mainf;
public void show1(){
mainf=new JFrame();
mainf.setSize(200,200);
mainf.setTitle("文字游戏");
JLabel p1=new JLabel("分数:");
mainf.add(p1,BorderLayout.NORTH);
JFrame mainf2=new JFrame();
mainf.add(mainf2,BorderLayout.CENTER);
mainf2.setLayout(new GridLayout(10,3));
JPanel a[][]=new JPanel[10][3];
for(int i=1;i<=10;i++)
for(int j=1;i<=3;i++){
mainf2.add(a[i][j]);
}
mainf.show();
mainf.setVisible(true);
}
public static void main(String arg[]){
try{
MyPaint a=new MyPaint();
a.show1();
}catch(IllegalArgumentException e){}
}
}
这个程序为什么在ECLIPSE里显示不出来呢?请高手指点...

别的不看了,这一段代码里面居然有很多问题:

1、JFrame里面不要添加JFrame!
2、mainf2.add(a[i][j])的时候,a[i][j]你初始化了吗?没有!这个程序肯定不会运行起来的!
3、mainf.show()和mainf.setVisible(true)效果是一样的,但是mainf.show()方法已经被废弃了。
4、MyPaint的构造方法呢?怎么没有写?对任何程序员来说,不写缺省的构造方法都是致命的!
5、JFrame需要通过设置一个JPanel来实现一个布局,而不是他本身就实现布局。JFrame有一个默认的Panel,用getContentPane可以获取。
6、JDK下有例子的源代码,看看他们是怎么写的,你这样写的问题简直太多了。

//小小的改了一下
//另外,你可以去下载一个叫做designer的画图插件
import java.awt.*;
import javax.swing.*;

public class MyPaint extends JFrame{

public MyPaint(){

JLabel p1=new JLabel("分数:");
getContentPane().add(p1,BorderLayout.NORTH);

JPanel mainf2=new JPanel();
mainf2.setLayout(new GridLayout(10,3));
//JPanel a[][]=new JPanel[10][3];
JLabel a[][]=new JLabel[10][3];
for(int i=0;i<10;i++){
for(int j=0;j<3;j++){
a[i][j]=new JLabel("("+i+","+j+")");//add需要初始化
m