将JMenuBar添加到JPanel?

我有一个JMenuBar和一个JPanel。 我想将JMenuBar添加到JPanel。 我该怎么办?

JDialog setVisible(false)vs dispose()

在对话框上使用setVisible(false)并在以后重用它是否有意义,或者每次调用dispose()更安全并创建一个新的JDialog。 内存泄漏与setVisible(假)有什么关系? 编辑:我的问题不在于退出应用程序。 有关将主框架作为父框架并在应用程序生命周期内打开和关闭的对话框的更多信息。 例如,假设我的应用程序有大约10个对话框,每次打开它们时都会显示不同的数据。 我应该重用实例并使用setVisible(),还是应该每次都创建一个新的Dialog并在关闭时处理它们。

如何成功获取外部IP

阅读后: 用Java获取“外部”IP地址 码: public static void main(String[] args) throws IOException { URL whatismyip = new URL(“http://automation.whatismyip.com/n09230945.asp”); BufferedReader in = new BufferedReader(new InputStreamReader(whatismyip.openStream())); String ip = in.readLine(); //you get the IP as a String System.out.println(ip); } 我以为我是胜利者,但我得到以下错误 Exception in thread “main” java.io.IOException: Server returned HTTP response code: 403 for URL: http://automation.whatismyip.com/n09230945.asp at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.URL.openStream(Unknown […]

在Series-JFreeChart中为特定行设置不同的颜色

我有一系列元素,它们属于一个系列,这些元素我计算了Centroids。 问题是当我用“ScatterPlot”显示它们时,我需要用“One Color”显示“Array Elements”,并在“Different Color”中显示这些点的Centroid。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Shape; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.DefaultDrawingSupplier; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYItemRenderer; import org.jfree.data.xy.DefaultXYDataset; import org.jfree.data.xy.XYDataset; public class Scatteradd extends JFrame { int i, x = 0, n1 = 0; […]

具有多个使用者的JMS队列

我有一个带HornetQ的JBoss-6服务器和一个队列: 有一个不同的消费者(在不同的机器上)连接到此队列,但一次只有一个消费者处于活动状态。 如果我关闭此消费者,消息将立即由其他消费者处理。 由于我的消息有一些耗时的处理,我希望多个消费者同时处理它们的唯一消息。 我记得在早期版本的JBoss中有类似的地方,这个设置没有问题。 在Jboss-6中,消息传递系统运行良好 – 除了上述问题。 这个问题与hornetq中的多个客户端消费者类似吗? ,但情景与我的情况不同。 更新1 :如果我关闭(STRG + C)一个消费者,则短暂超时(直到服务器识别丢失的消费者),直到下一个消费者获得消息。 更新2 :代码段 VoidListener ml = new VoidListener(); QueueConnectionFactory qcf = (QueueConnectionFactory) ctx.lookup(“ConnectionFactory”); QueueConnection conn = qcf.createQueueConnection(); Queue queue = (Queue) ctx.lookup(queueName); QueueSession session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE); QueueReceiver recv = session.createReceiver(queue,””); recv.setMessageListener(ml); conn.start(); 和MessageListerner: public class OlVoidListener implements MessageListener { public void […]

如何在struts2中只获取响应中的特定字段

我有一个动作类,其中定义了许多动作方法,并且还定义了适当的getter和setter方法。 我有一些动作方法,通过从jQuery调用数据,我可以从中获取数据。 但是当我得到json数据时,它包含了定义了getter和setter的所有字段,但是我想只得到那个由我调用的方法填充的字段。 例如- public class ApplicantRegistration extends ActionSupport{ private String s1; private XyzBean bean; private String s2; // respective getters and setters…. public String m1(){ // some work return SUCCESS; } public String m2(){ //some work s2=”abc”; return SUCCESS; } } 当我通过jQuery调用方法m2并获得它给出的json响应时 { s1: null, bean: null, s2:”abc”, m2: “success”, } 但我只想要 { s2:”abc” […]

无法解析ISO 8601格式的字符串,缺少冒号的冒号,到Java 8 Date

我对java 8日期格式/解析function有点沮丧。 我试图找到Jackson配置和DateTimeFormatter来解析”2018-02-13T10:20:12.120+0000″字符串到任何Java 8日期,并没有找到它。 这是java.util.Date示例,它工作正常: Date date = new SimpleDateFormat(“yyyy-MM-dd’T’hh:mm:ss.SSSZZZ”) .parse(“2018-02-13T10:20:12.120+0000”); 相同的格式不适用于新的日期时间api ZonedDateTime dateTime = ZonedDateTime.parse(“2018-02-13T10:20:12.120+0000”, DateTimeFormatter.ofPattern(“yyyy-MM-dd’T’hh:mm:ss.SSSZZZ”)); 我们应该能够以适合FE UI应用程序的任何格式格式化/解析日期。 也许我误解或误解了一些东西,但我认为java.util.Date提供了更多的格式灵活性并且更易于使用。

JAVA非法启动类型

我的节目: public class m { public static void main (String[] args) { boolean bool = true; while(bool) { rand_number player_1 = new rand_number(); System.out.println(“Player_1 guessed ” + player_1.rand_n); rand_number player_2 = new rand_number(); System.out.println(“Player_2 guessed ” + player_2.rand_n); rand_number player_3 = new rand_number(); System.out.println(“Player_3 guessed ” + player_3.rand_n); if(player_1.guessed || player_2.guessed || player_3.guessed) { System.out.println(“We […]

使用BouncyCastle从文件中读取椭圆曲线私钥

BouncyCastle加密API允许使用常规java.security包对象创建和validation数字签名,例如java.security.PublicKey , java.security.PrivateKey及其容器java.security.KeyPair 。 假设我使用OpenSSL创建一个.pem(或者,如果更简单,一个.der文件),它包含我想在我的应用程序中使用的椭圆曲线私钥。 例如,它看起来像这样: —–BEGIN EC PARAMETERS—– BgUrgQQACg== —–END EC PARAMETERS—– —–BEGIN EC PRIVATE KEY—– MHQCAQEEIDzESrZFmTaOozu2NyiS8LMZGqkHfpSOoI/qA9Lw+d4NoAcGBSuBBAAK oUQDQgAE7kIqoSQzC/UUXdFdQ9Xvu1Lri7pFfd7xDbQWhSqHaDtj+XY36Z1Cznun GDxlA0AavdVDuoGXxNQPIed3FxPE3Q== —–END EC PRIVATE KEY—– 如何使用BouncyCastle API获取包含此私钥和相应公钥的java.security.KeyPair ? 请注意我想使用BouncyCastle 1.50中提供的API(在撰写本文时是最新的)并且没有弃用的API。 遗憾的是,这不包括其他SO答案中使用的PEMReader类。 此外,这个问题特定于椭圆曲线的格式; 在比较RSA或DSA密钥文件时,它们包含其他参数。

拖动和调整未修饰的JFrame

目前,我正在使用以下代码来拖动和移动未解决的JFrame。 private void initialiseGUI(Component component){ // component.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { posX = e.getX(); posY = e.getY(); } }); component.addMouseMotionListener(new MouseAdapter() { public void mouseDragged(MouseEvent evt) { //sets frame position when mouse dragged Rectangle rectangle = getBounds(); getGUI().setBounds(evt.getXOnScreen() – posX, evt.getYOnScreen() – posY, rectangle.width, rectangle.height); } }); // } 我必须写什么,以便用户可以通过拖动侧面来像装饰窗口一样resize?