草庐IT

java - 慢速 Java Swing 菜单的解决方法

在Java7和8中,Swing菜单中存在一个错误,当其他X11应用程序正在运行时,Swing菜单会导致通过X11远程运行应用程序时速度变慢。这个问题是在Java7中引入的,并且从未得到修复。有没有人对解决方法有任何建议。使用nxclient解决了这个Swing菜单问题,但引入了它自己不受欢迎的问题。重现Swing菜单问题的步骤是:-通过一些Activity在本地运行任何X11应用程序-使用ssh-Ysomeserver登录远程服务器-执行任何运行Java7或8的JavaGUI应用程序(例如jvisualvm)-选择一个菜单并观察几秒钟的响应延迟 最佳答案

java - 如何将 Java 2D Shape 对象序列化为 XML?

Shape接口(interface)由Java2D对象实现(Arc2D,Area,CubicCurve2D,Ellipse2D、GeneralPath等)。一些具体对象被标记为Serializable,可以使用对象序列化来存储和恢复,但其他如Area没有实现接口(interface)并抛出错误。但由于我们不断被警告这种天真的序列化在Java实现或版本中不一定是稳定的,所以我更愿意使用某种形式的序列化。这导致我们使用XMLEncoder和XMLDecoder从XML存储/恢复,但它能够处理更少的Java2DShape对象。两者的部分结果如下所示。我们从6个形状开始,并尝试通过对象序列化和

java - 如何在 JScrollPane 中实现位置敏感缩放?

我正在尝试在JScrollPane中实现位置敏感缩放。JScrollPane包含一个带有自定义paint的组件,它将在分配给它的任何空间内绘制自己-因此缩放就像使用MouseWheelListener一样简单根据需要调整内部组件的大小。但我也想放大(或缩小)一个点,以使该点在放大(或缩小)View中尽可能居中(这就是我所说的“位置敏感”缩放),类似于缩放在谷歌地图中的工作方式。我确信这已经做过很多次了——有人知道在JavaSwing下做这件事的“正确”方法吗?使用Graphic2D的转换而不是使用JScrollPanes会更好吗?示例代码如下:packagetest;importjav

java - Swing:滚动到 JScrollPane 的底部,以当前视口(viewport)位置为条件

我试图模仿Adium和我见过的大多数其他聊天客户端的功能,其中滚动条会在收到新消息时前进到底部,但前提是您已经在那里。换句话说,如果您向上滚动几行并正在阅读,当收到新消息时,它不会将您的位置跳到屏幕底部;那会很烦人。但是,如果您滚动到底部,该程序会正确地假设您希望始终查看最新的消息,因此会相应地自动滚动。我花了很长时间试图模仿这个;该平台似乎不惜一切代价打击这种行为。我能做的最好的是如下:在构造函数中:JTextAreachatArea=newJTextArea();JScrollPanechatAreaScrollPane=newJScrollPane(chatArea);//Wew

java - 如何在 Java 应用程序中显示图像

我想在我的Java应用程序中显示图像。我找到了一个代码来从网络服务器下载图像并将其显示在jframe中。我想用标签来显示图像或其他东西。它不应该是JFrame。这是我的代码:Imageimage=null;try{URLurl=newURL("http://www.personal.psu.edu/acr117/blogs/audrey/images/image-2.jpg");image=ImageIO.read(url);}catch(IOExceptione){}//UsealabeltodisplaytheimageJFrameframe=newJFrame();JLabell

java - 如何打开具有预定义大小的 JFileChooser

chooser=newJFileChooser();chooser.setSize(300,200);if(chooser.showOpenDialog(this)==JFileChooser.APPROVE_OPTION){.......}这行不通。始终以默认大小打开。 最佳答案 试试chooser.setPreferredSize(newDimension(300,200)) 关于java-如何打开具有预定义大小的JFileChooser,我们在StackOverflow上找到一个类

java - 如何在 Java 中正确设置最小尺寸?

对于我用Java创建的GUI应用程序,我有以下内容:一个JFrame,最小大小设置为(300,200)一个JSplitPane,其中:左边是一个最小尺寸为(100,0)的JScrollPane(包含一个JTree)(我只想限制宽度为200)在右侧,一个最小尺寸为(200,0)的JPanel在以下情况下,尺寸不会给我带来任何问题:一直向左调整JSplitPane的大小(到JScrollPane的最小大小),然后再调整窗口大小只是在一定程度上调整窗口大小当我将JSplitPane向右移动太近时会出现问题,因此调整窗口大小时JSplitPane右侧的JPanel无法遵守我设置的最小宽度。我尝

java - Eclipse 中的视觉 Swing

有什么方法可以使用可视化编辑器在Eclipse中制作swing应用程序吗?我正在使用Ganymede。 最佳答案 您的选择是:WindowBuilderPro(eclipse.org):“WindowBuilder是一个功能强大且易于使用的双向JavaGUI设计器”,另请参阅WindowBuilderProoncode.google.com.VisualSwingforEclipse-直接使用.java源文件的编辑器。备注:首页上的更新url是错误的(issue115),应该改为:http://visualswing4eclipse

java - 用于 Java Swing 的 map API

我想在swing应用程序中可视化地理map。我只找到了swingxmapapi。你知道其他开源mapAPI吗? 最佳答案 尝试Geotools,它具有良好的地理空间数据API和工具。 关于java-用于JavaSwing的mapAPI,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5216881/

java - 如何正确显示孟加拉文字

我有一个JTextArea,我需要在其中显示孟加拉语文本,例如:বাংলাদেশ但我只能看到矩形框。如何正确显示孟加拉语字符? 最佳答案 首先使用支持孟加拉语unicode的字体,例如:FontbanglaFont=newFont("ArialUnicodeMS",Font.BOLD,15);然后使用setFont将其附加到您的JTextArea对象text1.setFont(banglaFont);现在你应该可以正常查看孟加拉语了,试一试。注意:Java使用系统中的字体,因此如果系统不包含特定字体,那么您可以使用Font.crea