在这里,我们将给大家分享关于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数据库)
- FEST-Swing 1.2 发布,Swing 测试变得容易
- JAVA - 当用户点击进入 java swing 时按下按钮
- JAVA - 无法在 Java Swing 中隐藏按钮和文本字段
- Java / Swing GUI最佳实践(从代码角度出发)
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 是一个 Java 库,为功能性 Swing 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 版本更新记录,请阅读:
FEST-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 中隐藏按钮和文本字段
问题是您在构造函数中将 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最佳实践(从代码角度出发)
与该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最佳实践(从代码角度出发)的相关信息,可以在本站进行搜索。
本文标签: