gpt4 book ai didi

Java Canvas 或 JPanel

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:59 25 4
gpt4 key购买 nike

用Java制作图形 Canvas 时,扩展哪个更好?您应该扩展 JPanel 还是 Canvas?有什么性能方面的考虑吗?

最佳答案

除非您需要在自定义呈现区域内放置其他组件,否则通常只需要对 JComponent 进行子类化(JPanel 没有提供任何特别有用的内容) ).


将 Swing 与 AWT 结合

顺便说一句——在将 Swing 与 AWT 混合使用时要特别小心。它通常会导致 Swing float GUI 元素出现渲染问题。 Java 7 promise 提供无缝混合基于 Swing 和 AWT 的组件的功能。

例如

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

class MixSwingAwt {

public static void main(String[] args) {
JPanel p = new JPanel(new BorderLayout(10,10));

String[] fruit = {"Apples", "Oranges", "Pears"};
JComboBox fruitChoice = new JComboBox(fruit);
p.add(fruitChoice, BorderLayout.NORTH);

p.add(new TextArea(10,20));

JOptionPane.showMessageDialog(null, p);
}
}

截图

JComboBox 展开时使用 Java 6 的对话框屏幕截图。 enter image description here

我们可以看到 Apples 的顶部,但列表的其余部分不见了。

关于Java Canvas 或 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5737609/

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