jython gui的问题

dz6r00yl  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(374)

我的jython gui有问题。我需要显示文本字段。我相信我在布局方面遇到了问题,但我不确定如何在jython中创建新的flowlayout。

  1. # !/usr/bin/env jython
  2. # Created by Joe Castleberry
  3. # 2013
  4. # Imports
  5. from javax.swing import *
  6. from java.awt import *
  7. class Window:
  8. def __init__(self):
  9. # Global variables
  10. global frame
  11. global label
  12. global container
  13. global text
  14. # Definition of global variables
  15. frame = JFrame("Joe's first Java program")
  16. label = JLabel("Hello World!", JLabel.CENTER)
  17. container = JPanel()
  18. text = JTextField(10)
  19. def builder(self):
  20. # Building container
  21. container.setLayout(None)
  22. container.setBackground(Color.BLACK)
  23. # Building frame
  24. frame.getContentPane().add(container) # Adding Container to JFrame
  25. frame.setSize(300,300)
  26. frame.setVisible(True)
  27. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
  28. # Adding components to container
  29. container.add(text)
  30. a = Window()
  31. a.builder()
anauzrmj

anauzrmj1#

我在上面添加了一条以changed开头的注解。您的代码只需稍加修改即可工作。
1) 一定要使用布局,不要将布局设置为无,没有绝对布局管理器,等等。
2) 在打包框架之前,将组件添加到主内容窗格容器中。如果没有,您将需要重新验证容器以及其他事项(在框架可见后可能重新绘制)。

  1. # !/usr/bin/env jython
  2. # Created by Joe Castleberry
  3. # 2013
  4. # Imports
  5. from javax.swing import *
  6. from java.awt import *
  7. class Window:
  8. def __init__(self):
  9. # Global variables
  10. global frame
  11. global label
  12. global container
  13. global text
  14. # Definition of global variables
  15. frame = JFrame("Joe's first Java program")
  16. label = JLabel("Hello World!", JLabel.CENTER)
  17. container = JPanel()
  18. text = JTextField(10)
  19. def builder(self):
  20. # Building container
  21. # CHANGED Removed container.setLayout(None)
  22. container.setBackground(Color.BLACK)
  23. # CHANGED Move the add text call here
  24. container.add(text)
  25. # Building frame
  26. frame.getContentPane().add(container)
  27. frame.setSize(300,300)
  28. frame.setVisible(True)
  29. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
  30. a = Window()
  31. a.builder()
展开查看全部

相关问题