【问题标题】:Creating Next button in Java Swing (Netbeans)在 Java Swing (Netbeans) 中创建下一步按钮
【发布时间】:2012-08-05 00:47:21
【问题描述】:

我当前的 GUI 中有五个按钮,分别名为 Browse、Unzip、Convert、Copy 和 Zip。第一个事件是浏览,并使用该按钮上传压缩文件,然后单击解压缩以解压缩该文件,然后单击转换和复制按钮,最后单击 Zip 按钮再次压缩文件。我将它们按顺序保存并一个一个地单击它们,但我想将这些操作作为浏览、下一步、下一步、下一步和完成按钮。所以请帮助我完成这项任务。

我的 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 
} 
}

谢谢!

【问题讨论】:

  • “所以请帮助我完成这项任务。” 所以请提问。让它成为一个具体的问题。至于 Netbeans 代码,扔掉它,重新开始。 1) 给类起一个合理的名字,比如ArchiveManagerGUI 2) 不要扩展框架,只保留一个引用。 3) 添加匿名内部侦听器 - 每个按钮一个。 -- 为此,我可能会使用CardLayout
  • @AndrewThompson 感谢您的建议。 :)

标签: java swing jbutton


【解决方案1】:

这听起来像是带有CardLayout 的经典向导应用程序。

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

Creating Wizard Dialogs with Java Swing

【讨论】:

  • 感谢您的链接和建议。我将浏览这些链接。
【解决方案2】:

我建议使用CardLayout 并添加多个JPanels。通常,我创建自己的JPanel 子类来保存控件,然后将它们添加到JFrame,在本例中使用CardLayout 集。您的“下一步”按钮可以更改显示的 JPanel……事实上,通过一些独创性和多个布局管理器,您只需要一个“下一步”按钮。

【讨论】:

  • 感谢您的建议。我将使用 CardLayout。
【解决方案3】:

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

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

类似这样的东西:http://java.sun.com/developer/technicalArticles/GUI/swing/wizard/

【讨论】:

  • "每一次点击或每一步都会改变JPanel 的内容。" 为什么不试试被称为CardLayout 的出色的“新”布局呢?非常适合这个用例。
  • @AndrewThompson,不能再同意了!我只是完全跳过了大声笑
  • @Owl 感谢您的回答。我正在浏览你提供的链接。
猜你喜欢
  • 2011-06-02
  • 2015-08-09
  • 1970-01-01
  • 2016-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多