Java桌面应用程序中的JFrame

时间:2009-12-20 12:10:34

标签: java user-interface swing

我正在开发一个桌面Java应用程序,其GUI通过Swing实现。我制作了一个JFrame,并在其上添加了三个按钮 - 添加,编辑,删除。

现在我希望每当用户点击任何按钮时,除了这三个按钮外,还会显示特定于该按钮的内容。

那么如何实现呢?我是否需要在这三个按钮之外添加JPanel,然后将特定于按钮的内容添加到该JPanel?

到目前为止,我已经使用了JFrame,并在其上添加了3个按钮。就是这样。

对于Add按钮,我想添加一些按钮和文本字段以向数据库添加信息。

对于“删除”按钮,我想根据用户在单击“删除”按钮时出现的文本字段中输入的信息,添加一些按钮来查找数据库中的记录。

“编辑”按钮的类似内容。

4 个答案:

答案 0 :(得分:3)

所以如何实现这一点。我是否需要在这三个按钮之外添加JPanel,然后将特定于该按钮的内容添加到该JPane

那没关系。当您按下按钮时,您可以调用JPanel.removeAll()删除当前控件中的所有控件,然后再次进行布局,特定于您按下的任何按钮。

如果您有自定义摇摆控件,只需使用BorderLayout添加自定义控件JPanel并放入中心。

另一种选择是使用CardLayout,并在用户按下其中一个按钮时在卡片之间翻转。如果按钮的布局永远不会改变,那么这可能是更好的方法。显然,如果内容在按下按钮之间发生变化,则每次都需要重做布局。

答案 1 :(得分:1)

Chad'sAlex's答案都可以。您可能需要在已更改的面板上调用revalidate()repaint()的组合,因为过去我注意到Swing并不总是喜欢将面板换掉。

另外,您是否考虑使用JTabbedPane而不是使用添加/编辑/删除按钮手动编码交互?

答案 2 :(得分:-1)

我没有做过很多Java编程,但是我认为使用2-3个不同的JPanel,并根据点击的按钮显示你需要的那个可以解决问题。

我不确定这是否是正确的做法。

答案 3 :(得分:-1)

我正在使用JFrame添加所有按钮,并为新窗口创建一个新的JFrame并隐藏前一个窗口。 gven方式更好。我现在会这样做。