2012-08-05 86 views
2

我在当前的GUI中有五个名为Browse,Unzip,Convert,Copy和Zip的按钮。第一个事件是浏览,通过使用该按钮,我上传了一个压缩文件,然后点击解压缩来解压该文件,然后转换并复制按钮,最后通过单击Zip按钮重新压缩文件。我将它们按顺序保存并逐一点击,但我想将这些操作设置为浏览,下一步,下一步,下一步和完成按钮。所以请帮助我完成这项任务。在Java Swing中创建下一个按钮(Netbeans)

我的Java Swing(Netbeans的),代码如下所示:

public class MyClass extends javax.swing.JFrame { 
private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) { 
//Code here 
} 
private void unzipButtonActionPerformed(java.awt.event.ActionEvent evt) { 
//Code here 
} 
private void convertButtonActionPerformed(java.awt.event.ActionEvent evt) { 
//Code here 
} 
private void copyButtonActionPerformed(java.awt.event.ActionEvent evt) { 
//Code here 
} 
private void zipButtonActionPerformed(java.awt.event.ActionEvent evt) { 
//Code here 
} 
} 

感谢你!

+0

*“所以,请帮助我实现这个任务。” *所以请提问。把它作为一个具体的问题。至于Netbeans的代码,扔掉它并重新开始。 1)给班级一个明智的名字,比如'ArchiveManagerGUI' 2)不要扩展框架,只要保留一个参考。 3)添加匿名内部监听器 - 每个按钮一个。 - 为了达到这个目的,我可以使用'CardLayout'。 – 2012-08-05 00:57:41

+0

@AndrewThompson谢谢你的建议。 :) – RahulD 2012-08-05 01:32:04

回答

2

这听起来像是一个经典的向导应用程序CardLayout

您可以在JFrame的BorderLayout.SOUTH位置创建一个基础面板,该面板上将显示您的操作按钮,并将许多面板添加到由CardLayout管理的主面板中。

Creating Wizard Dialogs with Java Swing

+0

感谢您的链接和建议。我会通过这些链接。 – RahulD 2012-08-05 01:27:22

2

在这种情况下,您只需要一个JFrame和一个JPanel,每次点击或步骤将更改JPanel的内容。但包含JFrame的主类或扩展JFrame的主类将引用您正在使用的文件。

P.S.任何预先制作的GUI构建器都无法有效实现这一点。但是,编程解决方案非常简单。

事情是这样的:http://java.sun.com/developer/technicalArticles/GUI/swing/wizard/

+2

“*每次点击或单步操作都会改变'JPanel'的内容。”*为什么不尝试一种称为'CardLayout'的新'布局'?完美的用例。 – 2012-08-05 00:59:21

+0

@AndrewThompson,不能再认同了!我刚刚完全跳过那个笑声 – doNotCheckMyBlog 2012-08-05 01:01:04

+0

@Owl谢谢你的回答。我正在浏览您提供的链接。 – RahulD 2012-08-05 01:29:07

2

我会建议使用CardLayout和添加多个JPanel s到它。通常,我创建了自己的JPanel子类来保存控件,然后将它们添加到JFrame,在这种情况下设置了CardLayout。您的“下一步”按钮可以更改显示哪个JPanel ......实际上,凭借一些独创性和多个布局管理器,您只需要一个“下一步”按钮。

+0

感谢您的建议。我将使用CardLayout。 – RahulD 2012-08-05 01:28:18

相关问题