(急)Java问题请帮我运行创建窗口及组件安置的程序,帮我看下那里出错了,谢谢! 100

这个创建窗口的程序,运行结果是是一个空白的窗口,组件都没添加上去,请问问题出在那里,一下是城西代码:importjava.awt.event.*;importjava.a... 这个创建窗口的程序,运行结果是是一个空白的窗口,组件都没添加上去,请问问题出在那里,一下是城西代码:
import java.awt.event.*;import java.awt.*;import javax.swing.*;public class Example2{ public static void main(String args[]){ WindowEventAction win = new WindowEventAction(); win.setBounds(100,100,300,300); win.setTitle("图书馆查询系统"); }}class WindowEventAction extends JFrame{ GridLayout grid; JPanel panel; JButton an1,an2,an3,an4,an5; JTextField text; JTextArea area; JComboBox box; public WindowEventAction(){ Menu(); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void Menu(){ grid = new GridLayout(2,2); panel = new JPanel(); panel.setLayout(grid); an1 = new JButton("查询"); an2 = new JButton("录入");an3 = new JButton("修改"); an4 = new JButton("删除"); an5 = new JButton("退出");area = new JTextArea(10,30); box = new JComboBox(); text = new JTextField(10); box.addItem("请选择查找方式:"); box.addItem("作者"); box.addItem("价格"); JLabel label[][]=new JLabel[2][2]; for(int i=0;i<2;i++){ for(int j=0;j<2;j++){ if(i==0){ if(j==0) label[i][j]=new JLabel("1"); else label[i][j]=new JLabel("2"); } else{ if(j==0) label[i][j]=new JLabel("3"); else label[i][j]=new JLabel("4"); } panel.add(label[i][j]); } } for(int i=0;i<2;i++){ for(int j=0;j<2;j++){ switch(Integer.parseInt(label[i][j].getText())){ case 1:add(an1); add(an2); add(an3); add(an4); break; case 2:add(box); add(text); break;case 3: case 4:add(new JScrollPane(area)); } } }} }
我是理想中的执行效果是
界面分成四部分 第一部分是按钮 第二部门是下拉列表 第三部分空白 第四部分是文本区
我想做成这样的效果 所以请问我具体是哪里写错了 谢谢
展开
 我来答
唯爱多啦梦cQb8a
2013-06-13 · TA获得超过639个赞
知道小有建树答主
回答量:746
采纳率:0%
帮助的人:528万
展开全部
你的frame没布局,加一个就可以了 代码如下。
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;

public class Example2
{
public static void main(String args[]) {
WindowEventAction win = new WindowEventAction();
win.setBounds(100, 100, 300, 300);
win.setTitle("图书馆查询系统");
}
}

class WindowEventAction extends JFrame {
GridLayout grid;
JPanel panel;
JButton an1, an2, an3, an4, an5;
JTextField text;
JTextArea area;
JComboBox box;

public WindowEventAction() {
Menu();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void Menu() {
setLayout(new FlowLayout());
grid = new GridLayout(2, 2);
panel = new JPanel();
panel.setLayout(grid);
an1 = new JButton("查询");
an2 = new JButton("录入");
an3 = new JButton("修改");
an4 = new JButton("删除");
an5 = new JButton("退出");
area = new JTextArea(10, 30);
box = new JComboBox();
text = new JTextField(10);
box.addItem("请选择查找方式:");
box.addItem("作者");
box.addItem("价格");
JLabel label[][] = new JLabel[2][2];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (i == 0) {
if (j == 0)
label[i][j] = new JLabel("1");
else
label[i][j] = new JLabel("2");
} else {
if (j == 0)
label[i][j] = new JLabel("3");
else
label[i][j] = new JLabel("4");
}
panel.add(label[i][j]);
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
switch (Integer.parseInt(label[i][j].getText())) {
case 1:
add(an1);
add(an2);
add(an3);
add(an4);
break;
case 2:
add(box);
add(text);
break;
case 3:
case 4:
add(new JScrollPane(area));
}
}
}
}
}
追问

不好意思 我按照你的意思修改了,但是为什么执行的结果没有按照GridLayout的(2,2)布局呢?

我是理想中的执行效果是

界面分成四部分 第一部分是按钮 第二部门是下拉列表 第三部分空白  第四部分是文本区

     我想做成这样的效果 所以请问我具体是哪里写错了 谢谢

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haodemumu168
2013-06-13 · TA获得超过299个赞
知道小有建树答主
回答量:479
采纳率:100%
帮助的人:280万
展开全部
排一下版 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式