Java图形界面不能正常显示

代码如下importjava.awt.*;importjavax.swing.*;publicclassGUIExample{publicstaticvoidmain(S... 代码如下
import java.awt.*;
import javax.swing.*;
public class GUIExample{ public static void main(String [] args){ MyFrame myFrame=new MyFrame(); }}class MyFrame extends JFrame{ int width=500,height=400; public MyFrame() { Toolkit kit=Toolkit.getDefaultToolkit(); setLocation((kit.getScreenSize().width-width)/2, (kit.getScreenSize().height-height)/2); setSize(width, height); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container con=this.getContentPane(); MyPanel1 p1=new MyPanel1(); MyPanel2 p2=new MyPanel2(); MyPanel3 p3=new MyPanel3(); p1.setBounds(10, 5, 480, 30); p2.setBounds(10, 35, 240, 360); p3.setBounds(250, 35, 240, 360); con.add(p1,BorderLayout.NORTH); con.add(p2,BorderLayout.WEST); con.add(p3,BorderLayout.EAST); } public class MyPanel1 extends JPanel{ public MyPanel1() { setBackground(Color.black); setVisible(true); } } public class MyPanel2 extends JScrollPane{ public MyPanel2(){ setBackground(Color.yellow); setVisible(true); } } public class MyPanel3 extends JPanel{ public MyPanel3(){ setBackground(Color.green); setVisible(true); } }}
但是运行的时候显示的大部分情况跟图中一样,很少数情况会显示出中间容器和颜色,为什么
展开
 我来答
永恒扬光6s
2013-12-29 · TA获得超过183个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:147万
展开全部

你要的效果是这样的么?

百度网友12ee0fd
2013-12-29 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1954万
展开全部
package examples;

import java.awt.Color;
import java.awt.Container;
import java.awt.Toolkit;

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

public class GUIExample {
    public static void main(String[] args) {
        MyFrame myFrame = new MyFrame();
    }
    static class MyFrame extends JFrame {
        int width = 500, height = 400;

        public MyFrame() {
            Toolkit kit = Toolkit.getDefaultToolkit();
            setLocation((kit.getScreenSize().width - width) / 2,
                    (kit.getScreenSize().height - height) / 2);
            setSize(width, height);

            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Container container = this.getContentPane();
            JPanel p1 = new JPanel();
            p1.setBackground(Color.BLACK);
            JPanel p2 = new JPanel();
            p2.setBackground(Color.YELLOW);
            JPanel p3 = new JPanel();
            p3.setBackground(Color.GREEN);

            p1.setBounds(10, 5, 480, 30);
            p2.setBounds(10, 35, 240, 360);
            p3.setBounds(250, 35, 240, 360);
            container.add(p1);
            container.add(p2);
            container.add(p3);
            setVisible(true);
        }
    }
}
更多追问追答
追问
为什么自己声明JPanel1,JPanel2,JPanel3就不行呢,刚刚点错了,把上面那个弄成满意回答了,希望你别嫌没分了就不帮我了。。。关键是有的时候那个界面显示是正常的,有的时候就什么都没有,正常的几率在几十分之一吧
追答
是你的布局代码有问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式