草庐IT

java - JComponent.paintImmediately() 如何在 Java Swing 中工作?

我的理解:与Swing中的大多数组件/操作不同,对JComponent.repaint()的调用是线程安全的,即尽管重绘请求是从另一个线程发出的(即不是来自EDT),但实际绘制仅在EDT中发生。下面的代码片段演示了这一点。publicclassPaintingDemo{publicstaticvoidmain(String[]args){finalJFrameframe=newJFrame();finalJPanelp=newMyPanel();SwingUtilities.invokeLater(newRunnable(){@Overridepublicvoidrun(){frame

java - 是否可以在 JTable 中包含 JButton?

我有一个JTable,用于存储数据库查询的结果,到目前为止一切顺利。我想要的是每个表中的最后一列都有一个可点击的JButton,它将打开该行中表示的对象的编辑屏幕,这意味着该按钮需要从其按钮中了解表中第一列的详细信息自己的行(来自数据库的ID)。有什么建议吗?我已经尝试过只添加JButtons,但是当我尝试运行它时它们变成了文本。 最佳答案 与上面的教程相反,有一种方法可以做到这一点,而无需复杂的定位数学、自定义鼠标监听器和自定义表格模型。相反,它可以按照此处描述的模式使用一个简单的自定义类来完成:http://web.archiv

java - JTable - 一列中的多个单元格编辑器

我希望我的JTable对单个列中的不同单元格使用不同的单元格编辑器。想像一个两列的标签值表:Name|Value--------------+--------------------------------Identifier|ST33442(stringeditor)PurchaseDate|7/7/10(customcalendareditor)Status|Broken(comboeditor)如何动态构建编辑器?像TableCellEditorFactory这样的东西会很完美。 最佳答案 您必须实现自己的单元格编辑器并将其分

Java快速像素操作

我想知道如何在Java中最好地处理像素操作。我正在使用swing并绘制一个1x1像素的矩形非常慢。我需要至少获得60fps,而不使用太多资源。首先对图像进行blitting意味着这可以成功实现吗?还是用Java来做这件事通常是个坏主意,我是否需要坚持使用C或其他替代方案?我刚开始编写raycaster,因为我正在使用的openCL有一个Java包装器,所以我更喜欢使用Java。 最佳答案 添加到@camickr的建议中:创建一个BufferedImage(BI),将其包装在一个IconImage中,将其设置为JLabel的图标。将更

java - 在 Java 中实现自动完成——我做对了吗?

这个问题在这里已经有了答案:CreateaautocompletingtextboxinJavawithadropdownlist(7个答案)关闭9年前。算法开始输入城市名称-部分或完整如果用户点击回车,从JTextField中获取文本开始强力搜索。如果找到匹配项,将它们放入Vector并将其放入JList如果没有找到匹配项,在Vector中添加一个String“NoMatchFound”向用户显示包含结果的JWindow停止代码:packagetest;importjavax.swing.*;importjava.awt.Dimension;importjava.awt.event.

java - 如何在 Java 中向 JComboBox 添加分隔符?

我有一个JComboBox并希望在元素列表中有一个分隔符。我如何在Java中执行此操作?一个可以派上用场的示例场景是为font-family-selection创建一个组合框;类似于Word和Excel中的字体系列选择控件。在这种情况下,我想在顶部显示最常用的字体,然后是分隔符,最后按字母顺序在分隔符下方显示所有字体系列。谁能帮我解决这个问题,或者这在Java中是不可能的吗? 最佳答案 有一个非常简短的教程,其中包含一个示例,展示了如何在java2s上使用自定义ListCellRendererhttp://www.java2s.co

java - Java 应用程序中的 Webkit 浏览器

我想知道是否有使用webkit的Javaswing组件。是否可以用Java创建一个webkit浏览器-我必须使用JavaFX吗? 最佳答案 SwingTeam正在开发一个:http://weblogs.java.net/blog/ixmal/archive/2008/05/introducing_jwe.html 关于java-Java应用程序中的Webkit浏览器,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

java - 如何检测 Swing 线程策略违规

我正在寻找一种自动检测代码中违反Swing单线程策略的方法。我正在寻找与您在swing应用程序运行时放入VM中的一些AOP代码类似的内容,并让它记录在EDT之外修改swing组件的任何位置。我不是AOP专家,但我想围绕每个java.swing.*类创建一个AOP代理,看起来像AOP_before(Methodm,Objectargs[]){if(!isEventDispatchThread(Thread.currentThread()){logStack(newRuntimeException("violation!"));}invoke(m,args);}有人知道执行此操作的项目或实

java - 是否可以更改 Java Swing jList 中项目的名称*显示*?

我有一个使用DefaultListModel的jList,我用从列表中获得的对象填充它(上下文:对象是ABM系统中的一种代理)。是否可以更改jList中对象的显示名称?我还没有找到关于这个的任何东西...... 最佳答案 如果您想要查看的信息(而不是toString()吐出的任何信息)包含在对象本身中,最直接的“Swing”方法是通过使用ListCellRenderer来实现这一点。.将ListCellRenderer(实际上是任何CellRenderer)想象成用于绘制列表中每个对象的橡皮图章。对象被传入,你设置组件,组件绘制你的

java - Java Applet 可以使用打印机吗?

JavaApplet能否将文本/html轻松打印到标准打印机驱动程序(适用于所有常见平台Win/Mac/Linux)?是否需要签名? 最佳答案 要打印,您需要使用SignedApplets或者,如果未签名的小程序尝试打印,系统将提示用户询问是否允许权限。下面是一些使用JEditorPane打印HTML的示例代码:publicclassHTMLPrinterimplementsPrintable{privatefinalJEditorPaneprintPane;publicHTMLPrinter(JEditorPaneeditorPa