在java swing中设置窗口的最小大小限制

我有一个JFrame ,在GridBagLayout中有3个JPanel .. 现在,当我最小化窗口时,在一定限制之后,第三个JPanel趋于消失。 我尝试使用setMinimumSize(new Dimension(int,int))设置最小化JFrame的大小但没有成功。 窗户仍然可以最小化。 所以,我实际上想做一个门槛,我的窗口在一定限度后无法最小化。 我怎么能这样做? 码:- import java.awt.Dimension; import javax.swing.JFrame; public class JFrameExample { public static void main(String[] args) { JFrame frame = new JFrame(“Hello World”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setMinimumSize(new Dimension(400, 400)); frame.setVisible(true); } } 也: shadyabhi@shadyabhi-desktop:~/java$ java –showversion java version “1.5.0” gij (GNU libgcj) version 4.4.1 Copyright (C) 2007 Free Software Foundation, […]

JOptionPane不会在其他窗口的顶部显示其对话框

我目前有摆动提醒应用程序的问题,它可以最小化到托盘关闭。 我的问题在于,我需要按照我设置的方式按时弹出JOptionPane对话框,但问题是,当我最小化它时,对话框会弹出,但不会出现在windows的顶部,当其他应用程序如explorer,firefox正在运行,任何人都知道如何在Windows上弹出对话框,无论运行什么应用程序?

Java:格式数以百万计

有没有办法使用DecimalFormat(或其他一些标准格式化程序)来格式化这样的数字: 1,000,000 => 1.00M 1,234,567 => 1.23M 1,234,567,890 => 1234.57M 基本上将一些数字除以100万,保留2个小数位,并在末尾拍一个“M”。 我已经考虑过创建一个新的NumberFormat子类,但它看起来比我想象的要复杂。 我正在编写一个API,其格式方法如下所示: public String format(double value, Unit unit); // Unit is an enum 在内部,我将Unit对象映射到NumberFormatters。 实现是这样的: public String format(double value, Unit unit) { NumberFormatter formatter = formatters.get(unit); return formatter.format(value); } 请注意,因为这个,我不能指望客户端除以100万,我不能只使用String.format()而不将它包装在NumberFormatter中。

使用webdriver关闭除第一个选项卡/主选项卡以外的所有打开的选项卡

任何人都可以告诉我如何使用webdriver关闭除第一个选项卡/主选项卡以外的所有打开的选项卡? 我在下面尝试过,但它也关闭了所有标签,包括第一个标签。 public static void closeTabs() { String wh1=driver.getWindowHandle(); String cwh=null; while(wh1!=cwh) { new Actions(driver).sendKeys(Keys.CONTROL).sendKeys(Keys.NUMPAD1).perform(); driver.findElement(By.tagName(“body”)).sendKeys(Keys.CONTROL, Keys.TAB); cwh=driver.getWindowHandle(); driver.findElement(By.tagName(“body”)).sendKeys(Keys.CONTROL+”w”); } } 请帮帮我。

在UDP上发送和接收序列化对象

我试图使用UDP将服务器进程中的序列化对象发送到Java中的客户端进程。 问题是客户端在receive方法上被阻止。 有人可以帮忙吗?! 这是发送对象的服务器代码: ClientModel C1= new ClientModel(100,”Noor”,”Noor”,38,38,”asd”); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(C1); oos.flush(); byte[] Buf= baos.toByteArray(); packet = new DatagramPacket(Buf, Buf.length, client, port); socket.send(packet); 这是接收对象的客户端代码: byte[] buffer = new byte[100000]; packet = new DatagramPacket(buffer, buffer.length ); socket.receive(packet); System.out.println(“packet received”); 我只想接收能够重建的对象但我无法接收数据包本身。

JPA / Hibernate:对于复合主键,@ IdClass或@EmbeddedId实现有什么好处?为什么?

对于JPA / Hibernate复合主键,@ IdClass或@EmbeddedId实现有什么好处?为什么? 这是一个故意天真的问题。 我决定使用@EmbeddedId(无论出于何种原因),我觉得我做出了错误的选择。 取消引用包含列属性的embeddedId是冗余的,并且在编码时非常容易出错。 是否有更多的理由和/或反对另一个? 是JPA(规范)的推荐吗?

Java布局比例:创建可伸缩的方形面板

我正在制作一个GUI组件来表示窗口中的棋盘。 通常它将是一个8×8正方形的网格,虽然有些变体需要10×8板等。第一步是制作一个包含8×8组件网格的面板。 类Board扩展了JPanel并使用GridLayout来建模8×8组件的网格。 为了完成某些事情,这些只是扩展JButton Square类。 麻烦的是他们不是正方形! 该Board已被添加到一个新实例化的JFrame ,在屏幕上打包和渲染。 当然,现在该板在用户resize时占用整个帧。 网格与板一起缩放,这会将方块扭曲成矩形。 这并非完全不受欢迎的行为。 我希望电路板能够与框架一起扩展。 但是,我想确保方块始终保持正方形。 电路板可以是矩形(10×8),但应保持固定比例。 我如何获得正方形?

java.util.ConcurrentModificationException在预期时不会抛出

以下代码抛出java.util.ConcurrentModificationException ,如预期的那样: public void test(){ ArrayList myList = new ArrayList(); myList.add(“String 1”); myList.add(“String 2”); myList.add(“String 3”); myList.add(“String 4”); myList.add(“String 5”); for(String s : myList){ if (s.equals(“String 2”)){ myList.remove(s); } } } 但是,以下代码不会抛出exception,而我希望抛出它: public void test(){ ArrayList myList = new ArrayList(); myList.add(“String 1”); myList.add(“String 2”); myList.add(“String 3”); for(String s : myList){ if (s.equals(“String 2”)){ myList.remove(s); } […]

更改user.home系统属性

如何从我的java程序外部更改user.home系统属性,以便它认为它与D:\ Documents and Settings \%USERNAME%不同? 通过环境变量或VM参数?

管道角色在Java方法调用中做了什么?

我已经看到了Java程序中方法调用中使用的管道字符。 例如: public class Testing1 { public int print(int i1, int i2){ return i1 + i2; } public static void main(String[] args){ Testing1 t1 = new Testing1(); int t3 = t1.print(4, 3 | 2); System.out.println(t3); } } 当我运行这个时,我只得到7 。 有人可以解释管道在方法调用中的作用以及如何正确使用它吗?