string-java 为什么点击首页按钮在旁边的面板上面不显示东西

问题描述

java 为什么点击首页按钮在旁边的面板上面不显示东西

import java.awt.*;
import javax.swing.*;
import static java.awt.BorderLayout.*;
import javax.swing.ImageIcon.*;
import java.awt.Color;
import static java.awt.BorderLayout.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SwingDemo6
{
public void empty()
{
JFrame jf=new JFrame();
JButton jb=new JButton("首页");
JButton jb1=new JButton("搜索");
JButton jb2=new JButton("提问");
JButton jb3=new JButton("我的");
JButton jb4=new JButton("圈子");
jb.setPreferredSize(new Dimension(95,30));
jb.setBackground(Color.white);
jb.setFont(new Font("楷体",1,15));
jb1.setPreferredSize(new Dimension(95,30));
jb1.setBackground(Color.white);
jb1.setFont(new Font("楷体",1,15));
jb2.setPreferredSize(new Dimension(95,30));
jb2.setBackground(Color.white);
jb2.setFont(new Font("楷体",1,15));
jb3.setPreferredSize(new Dimension(95,30));
jb3.setBackground(Color.white);
jb3.setFont(new Font("楷体",1,15));
jb4.setPreferredSize(new Dimension(95,30));
jb4.setBackground(Color.white);
jb4.setFont(new Font("楷体",1,15));
final JPanel jp=new JPanel();
final JPanel jp1=new JPanel();
final JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
final JButton jb5=new JButton("测试");
jp.add(jb);
jp.add(jb1);
jp.add(jb2);
jp.add(jb3);
jp.add(jb4);
jp.setPreferredSize(new Dimension(100, 500));
jp1.setPreferredSize(new Dimension(400, 500));
jp2.setPreferredSize(new Dimension(400, 500));
jf.setLayout(new BorderLayout());
jf.add(jp,WEST);
jf.add(jp1,CENTER);
jf.add(jp2,EAST);
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{

            jp1.setBackground(Color.white);
            jp1.add(jb5);
        }
    });
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.pack();
    jf.setVisible(true);
}
public static void main(String[] args)
{
    new SwingDemo6().empty();
}

}

解决方案

试下让frame validate()

解决方案二:

打个断点看看,,哪里的问题,,

解决方案三:

import java.awt.*;
import javax.swing.*;
import static java.awt.BorderLayout.*;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class SwingDemo6 {
public void empty() {
JFrame jf = new JFrame();
JButton jb = new JButton("首页");
JButton jb1 = new JButton("搜索");
JButton jb2 = new JButton("提问");
JButton jb3 = new JButton("我的");
JButton jb4 = new JButton("圈子");
jb.setPreferredSize(new Dimension(95, 30));
jb.setBackground(Color.white);
jb.setFont(new Font("楷体", 1, 15));
jb1.setPreferredSize(new Dimension(95, 30));
jb1.setBackground(Color.white);
jb1.setFont(new Font("楷体", 1, 15));
jb2.setPreferredSize(new Dimension(95, 30));
jb2.setBackground(Color.white);
jb2.setFont(new Font("楷体", 1, 15));
jb3.setPreferredSize(new Dimension(95, 30));
jb3.setBackground(Color.white);
jb3.setFont(new Font("楷体", 1, 15));
jb4.setPreferredSize(new Dimension(95, 30));
jb4.setBackground(Color.white);
jb4.setFont(new Font("楷体", 1, 15));
final JPanel jp = new JPanel();
final JPanel jp1 = new JPanel();
final JPanel jp2 = new JPanel();
JPanel jp3 = new JPanel();
final JButton jb5 = new JButton("测试");
jp.add(jb);
jp.add(jb1);
jp.add(jb2);
jp.add(jb3);
jp.add(jb4);
jp.setPreferredSize(new Dimension(100, 500));
jp1.setPreferredSize(new Dimension(400, 500));
jp2.setPreferredSize(new Dimension(400, 500));
jf.setLayout(new BorderLayout());
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jp1.setBackground(Color.white);
jb5.setVisible(true);
}
});
jb5.setVisible(false);
jp1.add(jb5);
jf.add(jp, WEST);
jf.add(jp1, CENTER);
jf.add(jp2, EAST);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.pack();
jf.setVisible(true);
}

public static void main(String[] args) {
    new SwingDemo6().empty();
}

}

你理解的原理有问题,JButton点击事件只会执行对应的actionPerformed方法里面的代码,不会再执行下面的添加方法了,也就是JFrame不会再改变了,也就是在第一次执行代码的时候你要把所有需要显示的组件都添加进去,但你不希望它显示的也可以先设置隐藏,之后通过点击事件可以设置显示,可以修改样式,可以获取到值,但不能修改结构(修改结构需要通过重启方法,设置是否显示实现)。

时间: 2024-10-26 05:52:35

string-java 为什么点击首页按钮在旁边的面板上面不显示东西的相关文章

c#-C# acess数据库 输如账号后 点击确定按钮后下个界面的textbox显示对应账号的所有信息

问题描述 C# acess数据库 输如账号后 点击确定按钮后下个界面的textbox显示对应账号的所有信息 C# acess数据库 输如账号后 点击确定按钮后下个界面的textbox显示对应账号的所有信息 求代码 解决方案 先把所有我回答你的帖子都采纳了,把你的程序上传到网盘,我可以帮你. 几句话说不清楚. 解决方案二: 两个问题,操作access,窗体间传值,老生常谈的问题,你去论坛里或搜索里搜吧,一堆一堆的

mfc-怎么样在一个对话框中点击一个按钮,在另一个对话框中显示一张已知路径的图片

问题描述 怎么样在一个对话框中点击一个按钮,在另一个对话框中显示一张已知路径的图片 我在做一个员工管理的MFC程序.现在想实现一个功能,就是在一个对话框中的list control控件中选择一条员工信息,然后点击一下"显示全部信息"按钮,弹出来一个对话框,这个对话框中picture控件中会有相应的员工的照片显示出来.现在对话框能显示了,但是不知道怎么在对话框中的picture控件中显示相应的图片.求问这个功能怎么实现啊? 解决方案 在一个对话框中显示另一个对话框 解决方案二: http

代码-java .选择下拉框中选择的属性,点击查询按钮,在表中显示

问题描述 java .选择下拉框中选择的属性,点击查询按钮,在表中显示 例如下面的下拉框: <td class="std_1"> 抵押类型 </td> <td class="std_2"> <select style="width:150px" name="isDy" id="s1"> <tion value="0">--请选择

android-如何修改下面的java程序,我希望当点击登陆按钮时候,能够跳转到聊天界面。我已经链接了数据库了

问题描述 如何修改下面的java程序,我希望当点击登陆按钮时候,能够跳转到聊天界面.我已经链接了数据库了 我的要求如下,在文本框输入账号和密码,连接数据库验证码账号和密码是否一致,如果一致就当点击登陆按钮时候就跳转到聊天界面.麻烦你帮我修改一下程序, package sql; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; class liaotian extends JFr

java点击一个按钮怎么改变另一个窗口标签内容

问题描述 java点击一个按钮怎么改变另一个窗口标签内容 这是类A的按钮JButton pingguo = new JButton(""苹果""); pingguo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new FrameP(); } }); pingguo.setForeground(new Color(255 99 71)); p

选项卡效果-ios 同一个窗口点击不同按钮(选项卡)展示不同视图内容(类似安卓壁纸首页)

问题描述 ios 同一个窗口点击不同按钮(选项卡)展示不同视图内容(类似安卓壁纸首页) 有谁用过安卓壁纸这个应用软件吗?我想模仿做这个ios应用.想问一下如何实现"在同一个窗口点击不同的按钮(也就类似于选项卡),选项卡下方就展示不同的视图内容,可以实现窗口拖拉加载更多的效果"!请大家帮帮忙! 解决方案 给你推荐开源中国客户端源码"http://www.oschina.net/app", 里面有你说的tabbar控件和下拉刷新效果. 解决方案二: 窗口拖拉加载更多的效

websphere发布项目 只能访问首页 点击登录按钮没反应

问题描述 我用websphere发布一个项目后,显示发布成功,但只能访问首页,填写用户名和密码后点击登录按钮没有反应,也没有日志报错.请大神指点!!! 解决方案 解决方案二:这个得一个一个排查:1.点了没反应,看看是不是IE缓存问题,把IE关了,然后清除缓存,重新访问,如果不能访问则表明项目没有启动成功:如果可以访问,则看第二点.2.用火狐浏览器访问,打开FixBugJS调试工具,看看服务器是否有响应,如果没有响应则应用没有启动成功,如果有响应,查看WASLog,看看是不是启动报错.3.我去所说

spring mvc-求助:哪位大神帮我实现下点击修改按钮弹出弹框并且里面自动获取值

问题描述 求助:哪位大神帮我实现下点击修改按钮弹出弹框并且里面自动获取值 我用的是hibernate+springMvc+maven实现的demo想要点击首页列表显示的数据后面的修改按钮可以弹出一个弹框,弹框力量有input文本框 ,弹框出现的时候里面自动有要修改的那一条数据的值页面: <%@ page language=""java"" import=""java.util.*"" contentType="

java-为什么当我点击登陆按钮的时候没有反应。

问题描述 为什么当我点击登陆按钮的时候没有反应. 我希望当点击登陆按钮的时候,就会跳转到聊天界面. package sql; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; class liaotian extends JFrame implements ActionListener{ JPanel jpanel1; TextArea textArea1; TextField