谁帮我看看这道题

csu7433rj 2003-05-05 08:06:07
设计一个边界版面配置5个按钮元件分别标明"隐藏北","隐藏南","隐藏西","隐藏东","隐藏中间",分别放置在东西南北中,当你按"隐藏北"按钮时,将北方版面隐藏
而将版面释放,其他四方仿此.
我写了一点代码,没有达到效果,该怎么做?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class e1202 extends JFrame implements ActionListener
{
private String name[]={"隐藏北面","隐藏南","隐藏西","隐藏东","隐藏中间"};
private JButton button[] = new JButton[name.length];
public e1202()
{
super("e1202.java");
for(int i = 0;i<name.length;i++)
button[i]=new JButton(name[i]);
Container c = getContentPane();
c.setLayout(new BorderLayout(5,5));
c.add(button[0],BorderLayout.NORTH);
c.add(button[1],BorderLayout.SOUTH);
c.add(button[2],BorderLayout.WEST);
c.add(button[3],BorderLayout.EAST);
c.add(button[4],BorderLayout.CENTER);
setSize(300,150);
show();
for(int i = 0;i<name.length;i++)
button[i].addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String command = e.getActionCommand();
if (command.equals("隐藏北面"))
{
remove(button[0]);
doLayout();
}
else if (command.equals("隐藏南"))
{
remove(button[1]);
doLayout();
}
else if(command.equals("隐藏西"))
{
remove(button[2]);
doLayout();
}
else if(command.equals("隐藏东"))
{
remove(button[3]);
doLayout();
}
else
{
remove(button[4]);
doLayout();
}
}
public static void main(String args[])
{
e1202 app = new e1202();
}
}
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgmboy 2003-05-05
  • 打赏
  • 举报
回复
那你应该用其它的版面配置方法.
alexll 2003-05-05
  • 打赏
  • 举报
回复
remove组件
csu7433rj 2003-05-05
  • 打赏
  • 举报
回复
谢谢!
但是我要的不是哪效果.我要的是比如隐藏北面,那么中间的和两边的就往上占据了原来北面方块的空间.
bugsbunny8 2003-05-05
  • 打赏
  • 举报
回复
你只要在dolayout后再加上一句repaint();重刷一下屏幕就可以了

改动后代码如下:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class e1202 extends JFrame implements ActionListener
{
private String name[]={"隐藏北面","隐藏南","隐藏西","隐藏东","隐藏中间"};
private JButton button[] = new JButton[name.length];
public e1202()
{
super("e1202.java");
for(int i = 0;i<name.length;i++)
button[i]=new JButton(name[i]);
Container c = getContentPane();
c.setLayout(new BorderLayout(5,5));
c.add(button[0],BorderLayout.NORTH);
c.add(button[1],BorderLayout.SOUTH);
c.add(button[2],BorderLayout.WEST);
c.add(button[3],BorderLayout.EAST);
c.add(button[4],BorderLayout.CENTER);
setSize(300,150);
show();
for(int i = 0;i<name.length;i++)
button[i].addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String command = e.getActionCommand();
if (command.equals("隐藏北面"))
{
remove(button[0]);
doLayout();
repaint();////////////add
}
else if (command.equals("隐藏南"))
{
remove(button[1]);
doLayout();
repaint();////////////add
}
else if(command.equals("隐藏西"))
{
remove(button[2]);
doLayout();
repaint();////////////add
}
else if(command.equals("隐藏东"))
{
remove(button[3]);
doLayout();
repaint();////////////add
}
else
{
remove(button[4]);
doLayout();
repaint();////////////add
}
}
public static void main(String args[])
{
e1202 app = new e1202();
}
}

—————————————————————————————————

Just Wish you have a nice day !

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧