java - 尽量不要混合使用 Swing 和 AWT

标签 java swing jframe awt mixing

我正在用 Java 制作一个游戏。我找到了这个教程: http://www.gamedev.net/page/resources/_/technical/general-programming/java-games-active-rendering-r2418

它展示了如何进行主动渲染。他们使用 Canvas 进行绘画。到目前为止我一直在使用 JPanel;但是,我想切换到这种方法。现在,我有几个 JPanel 和一些添加到 JPanel 中的 JButton。我想知道是否应该切换到 java.awt.Button 和 java.awt.Panel,这样我就不会混合使用 Swing 和 AWT 组件。

另一方面,在本教程中,Canvas 位于 JFrame 内,那么这不是已经混合了 Swing 和 AWT 吗?这样可以吗?

谢谢。

最佳答案

您应该仅使用 Swing 组件。例如。您应该从 Button 转到 JButton 以及所有替换控件。

AWT Component                         (Closest) Swing Replacement  
Button                                          JButton  
Canvas                                          JPanel  
Checkbox                                        JCheckBox  
Checkbox in CheckboxGroup                       JRadioButton in ButtonGroup  
Choice                                          JComboBox  
Component                                       JComponent  
Container                                       JPanel  
Label                                           JLabel  
List                                            JList    
Menu                                            JMenu  
MenuBar                                         JMenuBar  
MenuItem                                        JMenuItem  
Panel                                           JPanel  
PopupMenu                                       JPopupMenu   
Scrollbar                                       JScrollBar  
ScrollPane                                      JScrollPane  
TextArea                                        JTextArea  
TextField                                       JTextField  

但是某些方面对于 AWTSwing 来说是共同的,例如事件处理和布局管理在两者之间也是共同的

关于java - 尽量不要混合使用 Swing 和 AWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872055/

相关文章:

java - 绘制组件未被调用

java - 从 Intellij IDEA 中运行 Tomcat 时有何不同?

java - 如何调整我的 DOMParser 以从 Java (Android) 上的 RSS 解析 "media:content"?

java - 传递具有不同起始索引的数组作为参数

java - 在java中旋转图像而不调整图像大小

java - 将 JscrollPane 添加到 JTextPane

java - 部署在 EC2 apache tomcat 上的 War 文件抛出 java.lang.NoSuchMethodError : org. glassfish.hk2.utilities.general.GeneralUtilities.getWeakHashClock

java - <br>?\n? java中的换行符

java - 从 JDialog 按钮刷新 JFrame 并刷新表

java - JFrame 和可见性 : issue with fading out and getting a screenshot