如何创建具有多个页面的swing应用程序

之前我使用servlet创建了一个小应用程序,其中第一页显示用户注册页面,该页面使用“提交”按钮捕获用户的名字和姓氏等基本信息。 假设在第一页中输入的用户名是“Scott”,然后一旦用户提交表单,则在第二页中我创建了欢迎消息“Welcome Scott”。 然后我提供了一个选项,通过连接到数据库来查看先前已注册到应用程序的用户列表。 现在我想在Swing应用程序中实现相同的function。 我是Swings的新手,所以我试图从各种来源学习它,但我无法找到一个可以在多个框架/面板之间导航的示例。 对于我在程序下面创建的第一页显示文本字段和提交按钮: import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class UserRegistration extends JFrame { JButton button; public UserRegistration() { setSize(300,300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new FlowLayout()); final JLabel label = new JLabel(“Please enter details: “); JLabel firstName = new JLabel(“First Name”); JLabel lastName = new […]

如何在java中打开带附件的默认邮件客户端(例如outlook)

我想在系统默认邮件客户端中打开一条新邮件,并在Java中包含一个附件。 我试过Desktop.mail(URI mailtoURI)但我不知道如何指定附件。 然后,我尝试了JavaMail。 它工作正常,但我无法打开默认的邮件客户端 如何从Java中调用默认邮件客户端,并指定附件?

使用下载过程连接JProgressBar

我有以下代码。 我不能让它发挥作用。 我必须提到URL是重定向的。 我的意思是url = http://www.thissite.com并重定向到http://www.othersite.com 。 但是我想用初始url来实现它。 public void download(String address, String localFileName, JProgressBar progress ) { OutputStream out = null; URLConnection conn = null; InputStream in = null; try { URL url = new URL(address); // Open an output stream to the destination file on our local filesystem out = new BufferedOutputStream(new FileOutputStream(“/MusicDownloads/”+localFileName)); […]

从Action Listener返回值

我有这个function,我想在点击按钮时返回一个值。 我知道它不起作用,但我该如何解决这个问题呢? 我已经开始搜索它,但找不到相关的东西。 我的代码: public String OutputText() { layout.show(mainpanel, “PANEL”); testbutton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { return textfield.getText(); } }); }

Java流程流

我遇到与某些终端应用程序交互的问题(在我的情况下,它是openSSL)。 我有一个命令发送,然后这个应用程序想要密码和回复给定的密码。 我的代码不起作用。 我的意思是我没有看到它的任何输出。 为了测试我还做了一个简单的应用程序,它等待两个字符串输入并从我的Java代码中运行它。 你有什么建议吗? ProcessBuilder pb = new ProcessBuilder(“openssl.exe”); Process process = pb.start(); final InputStream is = process.getInputStream(); new Thread(new Runnable() { public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } finally […]

我可以同时在不同的端口上运行selenium服务器吗?

我看到这篇文章关于如何在2个不同的端口上运行selenium web驱动器服务器。 我试过这样做: java -Dwebdriver.chrome.driver=./chromedrive -jar selenium-server-standalone-2.44.0.jar -port 4445 java -Dwebdriver.chrome.driver=./chromedrive -jar selenium-server-standalone-2.44.0.jar -port 4444 并运行在端口4445上调用服务器的代码 但我得到这个例外: rond-macpro:selenium eladb$ java -Dwebdriver.chrome.driver=./chromedrive -jar selenium-server-standalone-2.44.0.jar -port 4445 17:26:14.740 INFO – Launching a standalone server 17:26:14.780 INFO – Java: Oracle Corporation 24.76-b04 17:26:14.781 INFO – OS: Mac OS X 10.9.5 x86_64 17:26:14.793 INFO – v2.44.0, with Core v2.44.0. […]

jersey客户端可以使用JSON将JAXB对象发布到服务器吗?

我找到了很多关于如何设置jersey服务器以便它可以生成和使用JAXB绑定对象的示例,但是我很难找到如何让客户端发布相同的JAXB绑定对象的示例。 此示例显示如何使用XML执行此操作 。 我正在寻找一个展示如何使用JSON的方法。 我甚至不确定这是否可行。 post方法的javadoc是不明确的。 我的post看起来像这样: Client client = Client.create(); WebResource resource = client.resource(uri); ClientResponse response = resource.type(MediaType.APPLICATION_JSON) .post(ClientResponse.class, instanceWithXmlRootElementAnnotation); 当我尝试这个时,我的服务器获取请求,但@FormParam的字段总是作为空发送。 这是我的服务器端方法的签名: @POST @Path(“apath”) @Consumes(MediaType.APPLICATION_JSON) public String postAPath(@FormParam(“InstanceWithXmlRootElementAnnotation”) InstanceWithXmlRootElementAnnotation instanceWithXmlRootElementAnnotation) { //instanceWithXmlRootElementAnnotation is always null 我想知道的是,我是否应该使用instanceWithXmlRootElementAnnotation 。 如果这是传统的Web服务,我将使用JAXB 生成一个对象供客户端使用并通过生成的类发送。 但是从我从我链接的示例中收集的内容来看,这个人正在发送源代码,而不是生成的类。

从JSON webservice中检索android中的byte

我成功地以数据库BLOB格式存储图像。 webservices模型类中的图像的DataType是byte []。 我的网络服务: @POST @Consumes(“application/json”) @Produces(“application/json”) @Path(“login”) public Korisnici Login(Korisnici k) { Korisnici exception = new Korisnici(); ………… Json webservice示例: [ { “id”: 2, “ime”: “haris”, “mjestoGoogleMaps”: null, “password”: “1234”, “username”: “haris”, “image”: “iVBORw0KGgoAAAANSUhEUgAizDMizDMizDMizDMizDMizDMizDMizDMizDMizDMiz/JPL/AOc68RGNGkMYAAAAAElFTkSuQmCC” } ] 我们看到json服务转换为String,byte []转换为字符串。 我试图在Android中将转换String转换为byte [],但我没有看到图片。 这是我的代码: byte [] b = new byte[getString_Image().length()]; profilna.setImageBitmap(getImage(b)); 从字节数组转换为位图 public static Bitmap getImage(byte[] image) […]

如何使用VK_UP或VK_DOWN移动到上一个或下一个Textfield?

我想使用VK_UP或VK_DOWN来移动焦点,因此它可以转到上一个或下一个文本字段。 我怎样才能做到这一点 ? 我尝试使用它,但它没有用。 private void passwordTFKeyTyped(java.awt.event.KeyEvent evt) { char c = evt.getKeyChar(); if (c == KeyEvent.VK_UP) { usernameTF.grabFocus(); } } 所以我尝试添加’System.out.println(c)’ 并且给出的结果是空的(空的并不意味着空字符串,如“”或null),它更像UP键不起作用。 非常感谢。

JavaFX:在服务器端放置敏感的代码和计算

我正在尝试保护我的JavaFX代码,而不是ProGuard。 我知道用户拥有的任何代码都是合理的游戏。 这意味着我需要将所有敏感业务逻辑移动到可以自信保护的服务器上。 由于我有限的服务器端经验,我正在寻找如何开发客户端 – 服务器连接的解释/示例,以便它安全且合理地快速。 我的主要困惑是客户端代码中需要什么,例如服务器初始化和get / put请求(?),以及我放在服务器上的文件或代码(以及在哪里)。 我已经从相关答案中链接了以下3个引用,以提供一些背景知识。 这些post分别在这里 , 这里和这里找到 。 第一个说: 我们通过在服务器端进行部分计算来“保护”我们的软件:我们有几个.class,除非它们是从服务器端生成的,然后我们将它们发送到网络上(以及发送的内容),它们将无法工作电线总是不同的:我们在服务器端生成唯一的,一次性的.class文件。 这表明在服务器端生成整个类文件。 我想在服务器上完全拥有的一些类,但许多类文件只包含敏感且需要基于服务器的方法。 第二个链接指出: 将服务的最关键部分移出应用程序,并移入Web服务,隐藏在PHP等服务器端语言之后。 移动算法并让它处理远程服务器上的数据,并使用该应用程序简单地为其提供数据。 这似乎更符合我的意图,但我很困惑如何执行这些“移动”和“处理”function。 我是否只是将敏感的方法/类调用替换为对服务器的get()请求,这是由任何基本服务器提供程序提供的SSL连接的背后? 你能找到一个相关的完整例子吗? 第三个引用: 设置响应应用程序请求的服务器,“使用”资产(无论可能意味着什么),然后将结果发送回应用程序。 再一次,如何在JavaFX上下文中“请求”,“使用”和“发送”整个方法/类的示例将非常好。 我愿意整天阅读,我只需要在这个初步步骤上获得指导,这样我就可以从正确的基础开始。