如何从主类加载Java GUI类?

我是java UI编程的新手。 我如何从java中的主类调用UI类 public static void main(String[] args) { // TODO code application logic here FileExtractorGUI gui = new FileExtractorGUI(); gui.setVisible(true); } 基本上 FileExtractorGUI is a gui class. 运行程序时如何加载GUI。 目前我运行代码时没有任何反应。 GUI CLass package fileextractor; import javax.swing.JOptionPane; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, […]

如何使用Java / JDBC在Oracle数据库中存储长度超过4000个字符的字符串?

我不确定如何使用Java / JDBC将非常长的字符串插入Oracle数据库。 我有一个大于4000个字符的字符串,假设它是6000.我想取这个字符串并将其存储在Oracle数据库中。 这样做的方式似乎是使用CLOB数据类型。 好的,所以我将列声明为描述CLOB。 现在,当实际插入数据时,我有一个准备好的语句pstmt。 它看起来像pstmt = conn.prepareStatement(“INSERT INTO Table VALUES(?)”) 。 所以我想使用方法pstmt.setClob() 。 但是,我不知道如何使用我的String创建一个Clob对象; 没有构造函数(大概是因为它可能比可用内存大得多)。 如何将我的String放入Clob? 请记住,我不是一个非常有经验的程序员; 请尽量保持解释尽可能简单。 效率,良好实践等不是这里的关注点,我只想要绝对最简单的解决方案。 如果可能的话,我想避免下载其他软件包; 现在我只使用JDK 1.4和标记为ojdbc14.jar 。 我看了一下,但我没能按照我发现的任何解释。 如果你有一个不使用Clobs的解决方案,我也会对此持开放态度,但它必须是一列。

使用try / catch时无休止的循环问题

我有一个while循环,它应该捕获一个非int输入并要求用户重新输入一个int。 然而,它只是无休止地循环错误消息。 有没有人知道为什么第二次不允许扫描仪输入? while(!enteredInt) { try { locus = input.nextInt(); enteredInt = true; } catch (Exception e) { //user didn’t type an integer System.out.println(“You didn’t enter a valid number, re-enter point where you will build your city”); } }

通过网络使用JDBC连接到MySQL

我试图通过网络连接到MySQL数据库。 我已安装MySQL,该服务正在默认端口上运行。 我还将SQL连接器安装到jar文件,并将java JDK添加到服务器计算机。 我可以使用以下代码连接到我的本地数据库: private String dbUrl = “jdbc:mysql://localhost/DatabaseName”; private String dbClass = “com.mysql.jdbc.Driver”; 但是当我尝试通过网络连接到它时,使用IP地址(例如:192.168.1.45): private String dbUrl = “jdbc:mysql://192.168.1.45/DatabaseName”; private String dbClass = “com.mysql.jdbc.Driver”; 我收到连接错误: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 有谁知道这个问题是什么? 我需要添加不同的地址吗? 我已经添加了带有地址的默认端口但无法使其工作。 谢谢你的帮助。

在int类型中设置4位半字节

我们需要提出一个方法,在int输出中设置一个4位半字节,如下所示: setNibble(0xAAA5, 0x1, 0); // => 0xAAA1 setNibble(0x56B2, 0xF, 3); // => 0xF6B2 这就是我写的…… 但是有些不对劲我无法弄清楚 setNibble(FFFF, 0, 0): Expected: FFF0 Result: FF00 setNibble(FFFF, 6, 1): Expected: FF6F Result: 6FF setNibble(1312, E, 1): Expected: 13E2 Result: E12 更新:我已经放下了代码。 但基本上答案非常明确,上面有很多很好的答案。

是什么让线程的执行顺序变得不可预测?

是什么让线程的执行顺序变得不可预测? 调度程序在某些时候是使用随机数还是检查系统资源,或者查看哪个线程等待了足够长的时间或者……?

如何使用Graphics对象绘制透明形状?

我想在具有透明背景的BufferedImage创建一个“环”。 我可以用这样的透明背景绘制圆圈: BufferedImage bi = new BufferedImage(d, d, BufferedImage.TYPE_INT_ARGB); Graphics2D g = (Graphics2D) bi.getGraphics(); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setColor(c); g.fillOval(0, 0, d, d); 但是现在我想在它的中间绘制一个较小的透明圆圈来制作一个圆环(所以当我在另一个图像上绘制这个图像时,环形周围和内部的像素都不会被绘制)。 我想使用Graphics对象来执行此操作,以便我可以使用抗锯齿。 这可能吗? 如果不是,那么解决这个问题的最佳方法是什么?

使用构造函数初始化变量

我有两个类,第一个是我的主类,第二个是我的编辑框架类。 public class RecordTableGUI extends JFrame implements ActionListener { String newName; public RecordTableGUI(String newReceivedName) { newName = newReceivedName; System.out.println(“new name in new constructor : ” + newName); //prints new name correctly } public void actionPerformed(ActionEvent e) { if (e.getSource() == editButton) { Object oldName = table.getValueAt(table.getSelectedRow(), 1); System.out.println(“old name: ” + oldName); // prints old […]

JDK 9的Hibernate 5问题

我有一个完全构建并运行在Java 8上的Hibernate 5项目。我试图在JDK 9 ea build 171上测试它。由于它是一个巨大的项目并且有其他依赖项,我不得不将java.xml.bind模块添加到JVM测试配置: org.apache.maven.plugins maven-surefire-plugin 2.20 –add-modules java.xml.bind 还有其他问题我可以解决,但如果使用聚合模块java.se.ee(推荐): –add-modules java.se.ee 我有一个例外: java.lang.NoClassDefFoundError: javax/transaction/SystemException at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:374) at org.jboss.logging.Logger$1.run(Logger.java:2554) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529) 我甚至无法理解为什么会发生这种情况,因为JTA库(带有SystemException类)在运行测试时位于类路径中。 对于如何解决这个问题,有任何的建议吗?

突出显示在框架中打开的文本文件的一些单词

我在一个框架中打开一个文件,我想强调一些单词。据我所知,我需要遍历文件的内容。 如何遍历内容以及我可能用于突出显示的相关属性是什么? 更新:我的代码有点像这样 private JEditorPane editorpane; JScrollPane editorScrollPane; public TextEditor() { editorpane = new JEditorPane(); editorpane.setEditable(false); if (filename != null) { try { File file = new File(filename); editorpane.setPage(file.toURI().toURL()); } catch (IOException e) { e.printStackTrace(); System.err.println(“Attempted to read a bad file …”); } } else { System.err.println(“File name is wrong”); } add(editorpane); }