GVKun编程网logo

Java-Swing:检索和更新数据库中的详细信息(java swing数据库)

3

在这里,我们将给大家分享关于Java-Swing:检索和更新数据库中的详细信息的知识,让您更了解javaswing数据库的本质,同时也会涉及到如何更有效地FEST-Swing1.2发布,Swing测试

在这里,我们将给大家分享关于Java-Swing:检索和更新数据库中的详细信息的知识,让您更了解java swing数据库的本质,同时也会涉及到如何更有效地FEST-Swing 1.2 发布,Swing 测试变得容易、JAVA - 当用户点击进入 java swing 时按下按钮、JAVA - 无法在 Java Swing 中隐藏按钮和文本字段、Java / Swing GUI最佳实践(从代码角度出发)的内容。

本文目录一览:

Java-Swing:检索和更新数据库中的详细信息(java swing数据库)

Java-Swing:检索和更新数据库中的详细信息(java swing数据库)

String sql = "UPDATE working_days_and_hours SET num_of_working_days = '"+num+"' WHERE id = '"+id+"'";

这不是为PreparedStatement构建SQL的方式。 PreparedStatement的点是添加“?”作为令牌,然后再用有效数据替换令牌。

这使SQL更易于编码和读取,并减少了语法错误的机会。

PreparedStatement的格式类似于:

String sql = "UPDATE Page SET Title = ? WHERE Name = ?";

PreparedStatement stmt = connection.prepareStatement(sql);

stmt.setString( 1,title );
stmt.setString( 2,name );
stmt.executeUpdate();
stmt.close();

其中“标题”和“名称”是包含数据的变量。

因此,这不是Swing问题。首先让SQL处理硬编码数据。然后,担心从文本字段或其他Swing组件获取数据。

FEST-Swing 1.2 发布,Swing 测试变得容易

FEST-Swing 1.2 发布,Swing 测试变得容易

FEST-Swing 是一个 Java 库,为功能性 Swing GUI  测试提供 fluent interface。 这个库提供了简单易用的 API,创建和维护GUI测试变得容易。

该版本改进内容:

Bug

  • [FEST-341] – Error in ScreenshotOnFailureListener.takeScreenshotAndReturnFileName. Thanks to Grego.
  • [FEST-342] – Javadocs in methods annotated with @RunsInCurrentThread are wrong.
  • [FEST-345] – KeyStrokeMappingProviderNames uses the wrong name forKeyStrokeMappingProvider. Thanks to Olivier DOREMIEUX.

改进

  • [FEST-347] – Incorporate keyboard mapping for French MacOS. Thanks to Olivier DOREMIEUX.
  • [FEST-348] – Fix implementation of ’selectAll’ in JTextComponentDriver. Thanks to Olivier DOREMIEUX.
  • [FEST-355] – ComponentFixture validateNotNull method visibility.

新功能

  • [FEST-354] – Move class SystemProperties from fest-swing to fest-util.

任务

  • [FEST-343] – Update FEST-Reflect dependency to version 1.2.
  • [FEST-344] – Update FEST-Util dependency to version 1.1.2.

完整的 1.2 版本更新记录,请阅读: 1.2rc, 1.2a4, 1.2a3, 1.2a2 and 1.2a1.

FEST-Swing 可以从这里 here (文件 fest-swing-1.2.zip.)下载, FEST 需要 Java SE 5.0 及以后的版本。

JAVA - 当用户点击进入 java swing 时按下按钮

JAVA - 当用户点击进入 java swing 时按下按钮

当答案正确时,您可以将JFrame的默认按钮设置为再次播放按钮。

btnGuess.setVisible(false);
txtGuess.setVisible(false);
message = guess + " is correct. Let's play again!";
btnPlayAgain.setVisible(true);
getRootPane().setDefaultButton(btnPlayAgain);

调用 newGame 方法时,您可以将默认按钮重置为 null

public void newGame() {
    numberOfTries = 8;
    theNumber = (int) (Math.random() * 10 + 1);
    btnGuess.setVisible(true);
    txtGuess.setVisible(true);
    btnPlayAgain.setVisible(false);
    lblOutput.setText("Enter a number above and click Guess!");
    getRootPane().setDefaultButton(null);
}

JAVA - 无法在 Java Swing 中隐藏按钮和文本字段

JAVA - 无法在 Java Swing 中隐藏按钮和文本字段

问题是您在构造函数中将 btnGuess 设为局部变量而不是设置字段,因此当数字正确时会抛出 NullPointerException。由于您正在捕获 Exception,因此程序假定输入了无效数字。改为捕获 NumberFormatException 以避免丢失程序中的错误。

在构造函数中,更改

JButton btnGuess = new JButton("Guess!");

this.btnGuess = new JButton("Guess!");

要正确重置游戏,您需要修改 newGame 方法以仅显示适当的元素并重置输出标签的文本。

public void newGame() {
    numberOfTries = 8;
    theNumber = (int) (Math.random() * 10 + 1);
    btnGuess.setVisible(true);
    txtGuess.setVisible(true);
    btnPlayAgain.setVisible(false);
    lblOutput.setText("Enter a number above and click Guess!");
}

Java / Swing GUI最佳实践(从代码角度出发)

Java / Swing GUI最佳实践(从代码角度出发)

与该Wiki相反,我正在从编码的角度寻找实现Swing GUI控件的正确方法。

我一直在寻求学习Java及其GUI工具的方法,但是我发现Internet教程之后的Internet教程将所有内容都扔了进去main,我知道这是不对的。

我也尝试过Netbeans等RAD系统和其他“可视”编辑器,但是到编码时,我已经有了一大堆代码,但我不知道它做什么的一半,所以我打算学习手动进行代码摆动,我知道基本的控件和布局,但想以正确的方式进行操作。

我缺少模型或标准吗?

示例问题…

扩展JFrame并创建自己的框架对象?(我认为是)

如何将主菜单封装在该框架对象中?还是我自己创建?等等…

如何将“视图”逻辑与“应用程序”逻辑分开?

基本上,我正在寻找有关如何组织GUI代码的行业标准。

答案1

小编典典

由于关于“最佳做法”的构成似乎存在一些争议,因此,我将为您提供最适合我的发现,以及我的推理:

1.每个窗口都应扩展JFrame或JDialog(取决于窗口的类型)。这使得无需每次指定特定对象即可轻松控制窗口的属性。不过,这更多的是一般情况,因为我知道这两种方法都是这样做的。

2.该main()方法应在单独的类中。这增加了在其他地方使用您的窗口类的可能性,因为它们与特定的实现无关。从技术上讲,这没有什么区别,但是应用程序启动代码只是不属于窗口。

3.侦听器应位于匿名内部类中。您的顶级类不应实现任何侦听器。这样可以防止类似黑客的行为,除了它们所连接的对象之外,都可以从任何地方调用侦听器方法。

这是一个具有单个框架的简单应用程序,用于演示这些做法:

public class Main {    public static void main(String[] args) {        final String text = args[0];        SwingUtilities.invokeLater(new Runnable() {            @Override            public void run() {                final MyWindow wnd = new MyWindow(text);                wnd.setVisible(true);            }        });    }}public class MyWindow extends JFrame {    public MyWindow(String text) {        super("My Window");        setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);        addWindowListener(new WindowAdapter() {            @Override            public void windowClosing(WindowEvent e) {                MyWindow.this.setVisible(false);                MyWindow.this.dispose();            }        });        final JButton btn = new JButton(text);        btn.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent e) {                JOptionPane.showMessageDialog(MyWindow.this, "Button Pressed", "Hey", JOptionPane.INFORMATION_MESSAGE);            }        });        setLayout(new FlowLayout());        add(btn);        pack();    }}

我们今天的关于Java-Swing:检索和更新数据库中的详细信息java swing数据库的分享就到这里,谢谢您的阅读,如果想了解更多关于FEST-Swing 1.2 发布,Swing 测试变得容易、JAVA - 当用户点击进入 java swing 时按下按钮、JAVA - 无法在 Java Swing 中隐藏按钮和文本字段、Java / Swing GUI最佳实践(从代码角度出发)的相关信息,可以在本站进行搜索。

本文标签: