我在一家快餐店的POS系统上工作。我已开发使用MySQL数据库添加,更新和删除产品。现在我需要创建POS GUI(使用SWING),收银员用它来创建账单。我想到的界面就像麦当劳使用的那样,有一组带有产品图像的按钮。 (我已经成功存储了BLOBS产品)
示例图片:
我不知道如何实现这一点,如果可以生成一组动态Jbuttons来获取产品的图像以及名称和价格,那将是非常棒的。这是实现这一目标的最佳方式吗?我该如何实现这一目标?一些细节让我走上正确的道路将非常感激!
感谢。
答案 0 :(得分:2)
您需要查看GridLayout
。
在你的情况下,它可能会有点复杂,因为你有多个网格,其中一些看起来互相嵌套。
您应该能够动态分配网格,然后将其留给布局管理器,以便在页面上均匀分布内容。
根据布局的复杂程度,查看JavaFX提供的GridPane
可能也是个好主意。
答案 1 :(得分:2)
您至少有四个容器,顶行,底行和每行包含一个单独的容器(对于按钮)。
行的基本布局可能是GridLayout
,每行可能会使用BorderLayout
和WEST
和EAST
位置的导航按钮。 CENTER
容器可以使用GridLayout
,但不会给你你想要的外观。您可以使用FlowLayout
甚至是GridBagLayout
,但您需要确保按钮大小符合您的需求
在左侧,我看到一个JTable
和两个JPanel
,其中包含按钮,并与GridBagLayout
保持一致。
在右侧,我看到JList
。有关详细信息,请参阅How to Use Lists。您可能还想查看Concepts: Editors and Renderers和Writing a Custom Cell Renderer,了解有关如何自定义单元格外观的详细信息,以及How to Write a List Selection Listener有关如何确定用户更改的详细信息选择
在一起,它们可能由一个容器中的GridBagLayout
维护以便于使用
沿着按钮可能是使用GridBagLayout
的另一个容器。
总而言之,他们可能是由GridBagLayout
有关详细信息,请查看Laying Out Components Within a Container,How to Use GridBagLayout,How to Use BorderLayout和How to Use FlowLayout
答案 2 :(得分:1)
您好我找到了这个问题,我找到了这个解决方案;
http://www.javasrilankansupport.com/2012/06/create-dynamic-jbutton-with-image-and.html