首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >何时使用JFrame、JLabel和JPanel

何时使用JFrame、JLabel和JPanel
EN

Stack Overflow用户
提问于 2013-04-03 08:32:42
回答 2查看 18.4K关注 0票数 3

很长一段时间以来,我一直在想什么时候使用JFrame和JPanel。有人通过教科书、面对面和互联网搜索告诉我一些原因,但当然,我需要查看Java文档才能发现JPanel具有paintComponent(Graphics);方法,它允许您指定对对象本身做什么,而不是JFrame。此外,JPanels是可嵌套的,允许使用比仅用一个容器实现的更复杂的图形。我还偶然发现JLabel也是一个容器。(它甚至有一个怪异的布局!)现在我的问题是:什么时候应该使用JLabel,什么时候应该使用JPanel?

//我知道您可以将JLabels放在JPanel中,但是偶然的是,JPanel比JLabel更昂贵。从长远来看,我计划制作一个收银员游戏,其中包括一些轻量级的容器,用于“钱”,点击后移动到客户的手中。我在考虑使用JLabels来表示货币金额(美元纸币和硬币),并使用JPanel作为交易的头顶视图。我还在考虑在“货币标签”本身上调用repaint() (据我所知,它可以模拟动画)。这是一个双重问题,但你会认为这是最便宜的方式吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-30 22:05:19

在很大程度上,JPanel是一个允许更好的组织的容器。当您需要组织JPanel的组件时,您应该使用JPanel并定义gui的布局。您还可以在彼此之间嵌套JPanels,等等。JLabels不能为要在JLabel中显示的其他组件定义布局。

票数 10
EN

Stack Overflow用户

发布于 2013-11-29 23:15:48

这是一个显示"Hello World!“的应用程序示例。不带引号:

代码语言:javascript
运行
复制
import javax.swing.JFrame;        
import javax.swing.JPanel;        
import javax.swing.JLabel;        
public class JFrame {        
    public static void main (strings args[]) {        
        JFrame frame = new JFrame();        
        String title = "Hello App";        
        frame.setTitle(title);        
        frame.setSize(300, 200);        
        frame.setDefaultCloseOperation        
            (JFrame.EXIT_ON_CLOSE);        
        frame.setVisible(true);        
        JPanel panle = new JPanel();        
        frame.add(panle);        
        JLabel lable = new JLabel("Hello World!!!");        
        panle.add(lable);        
    }
}

文件名为"JFrame.java“,不带引号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15776910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档