gpt4 book ai didi

java - 这不是将 JLabel 附加到 JPanel

转载 作者:行者123 更新时间:2023-12-02 05:06:18 26 4
gpt4 key购买 nike

为什么 JLabel 时间戳没有添加到 JPanel rs_pnl 中?我希望用户进行搜索,并将其发送到此函数。如果用户输入现在是什么时间,则该函数应创建一个包含时间的 JLabel 并将其添加到 rs_pnl。然后它返回面板,以便其他类可以使用它。

    public class Engine {
public static JPanel getResults(String input){
JPanel rs_pnl = new JPanel();
rs_pnl.setLayout(new BorderLayout());
rs_pnl.setSize(500, 600);
String feed = input.toLowerCase();
String timeLabel = new SimpleDateFormat("hh:mm MM/dd/yy").format(Calendar.getInstance().getTime());
if(feed.contains("define")){

}else if(feed.contains("start")){
//START INDICATED PROGRAM
}else if(feed.equals("what are the options") | feed.equals("show the menu") | feed.equals("show menu") | feed.equals("options") | feed.equals("menu")){
JPanel menu = new Menu().show_menu();
rs_pnl.add(menu, BorderLayout.CENTER);
System.out.println("Menu Launched");
}else if(feed.equals("shutdown") | feed.equals("exit")){
System.exit(0);
}else if(feed.equals("what time is it") | feed.equals("whats todays date") | feed.equals("what's todays date") | feed.equals("whats the time") | feed.equals("time")){
JLabel timeStamp = new JLabel(timeLabel);
timeStamp.setFont(new Font("Arial", Font.PLAIN, 5));
timeStamp.setForeground(new Color(69,69,69));
rs_pnl.add(timeStamp, BorderLayout.CENTER);
}else{
//INCLUDE CLASS TO DO ONLINE SEARCH
}
return rs_pnl;
}
}

最佳答案

默认情况下,Swing 组件的默认大小为 (0, 0),因此无需绘制任何内容。

将组件动态添加到可见 GUI 的基本逻辑是:

panel.add(..._);
panel.revalidate(); // to invoke the layout manager
panel.repaint(); // to paint all the components

关于java - 这不是将 JLabel 附加到 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27759455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com