Tag: swing

如何在DefaultTableModel / JTable中合并单元格?

我搜索了很多并得到了这个Q的答案。但是他们中的许多人都提到了404错误的链接。 我想制作这样的表格: java中有没有这方面的方法?

GUI以30 fps运行?

在测试一些使用Swingworker的实时仿真代码时,我注意到我的GUI似乎总是以30 fps运行,不多也不少。 每次用户与应用程序交互时(如鼠标移动)或调用Swingworker的process()方法时,我都会更新GUI。 Swingworker现在没有做任何事情,它只是从GUI抓取鼠标位置并通过publish()和process()方法将其作为克隆发回(我只是这样做,看看我能做什么,能做什么在线程之间进行通信时会这样做,因为multithreading对我来说仍然是一个新手。 我在任何地方都没有定时器,Swingworker的process()方法在GUI上调用repaint(),所以我想知道是什么原因导致GUI以30 fps更新? 是否可能默认情况下GUI中的vsync处于活动状态,或者它是Swingworker中process()方法的某些行为? 最后:有没有办法获得更高的帧速率? 这是一个表现出这种行为的sscce: public class SimGameTest implements Runnable { public static void main(String[] args) { SwingUtilities.invokeLater(new SimGameTest()); } @Override public void run() { MainWindow mainWindow = new MainWindow(new Game()); mainWindow.setLocationRelativeTo(null); mainWindow.setVisible(true); } } public class MainWindow extends JFrame { private Game game; private GamePanel gamePanel; public MainWindow(Game game) { […]

SwingWorker没有响应

我想做什么? 单击Start JButton , SwingWorker将执行。 在doInBackground()方法中,我将arrNames每个索引传递给publish()方法,以便它可以显示在JTextArea 。 发生了什么 ? 如果我不保持行System.out.format(“Counter : %d%n”, counter); 作为注释 ,在我的SwingWorker doInBackground()方法中,然后SwingWorker 按预期工作 。 虽然如果我发表评论 ,那么SwingWorker 停止响应 。 难道我做错了什么 ? Java版本: java version “1.7.0_25” Java(TM) SE Runtime Environment (build 1.7.0_25-b16) Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing) 这是我正在使用的代码: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingWorkerExample1 { private […]

使用JInternalFrame和一些按钮

我们可以在主框架中使用带有按钮的JInternalFame吗? 当然,框架包含JDesktopPane 。 该按钮应该打开JInternalFrame如何?

Java KeyListener与Keybinding

我想写一个计算器并遇到问题。 我已经为所有按钮创建了一个actionlistener,现在我希望能够从键盘输入数据。 我是否需要为KeyListener或Keybinding完成整个事情,还是有任何其他方法可以在单击按钮后将其发送到actionlistener中的指令? 什么更好:Keylistener或Keybinding

关闭一个可运行的JOptionPane

我有这个Runnable窗口: EventQueue.invokeLater(new Runnable(){ @Override public void run() { op = new JOptionPane(“Breaktime”,JOptionPane.WARNING_MESSAGE); dialog = op.createDialog(“Break”); dialog.setAlwaysOnTop(true); dialog.setModal(true); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } }); 我有可能在这里有一个计时器在1或2分钟内关闭它而不是单击确定按钮?

JTextPane格式化

我有一个JTextPane,我想添加行,根据他们的内容,他们有不同的格式。 目前我有这个 StyleContext context = new StyleContext(); StyledDocument document = new DefaultStyledDocument(context); Style styleBold = context.getStyle(StyleContext.DEFAULT_STYLE); StyleConstants.setBold(styleBold, true); StyleConstants.setFontSize(styleBold, 18); Style styleNorm = context.getStyle(StyleContext.DEFAULT_STYLE); StyleConstants.setFontSize(styleNorm, 15); for (int i = 0; i < temp.size(); i++) { String tmp = temp.get(i); if (tmp.substring(0, 2).equals(COMMENT_PREFIX)) { String addThis = " – " + tmp.substring(2); try { document.insertString(document.getLength(), […]

在JtextArea的末尾添加一个新行

我有一个文本区域,其中包含一些文本,我想再次添加一些行(第一行+我要添加的其他行),但它不起作用。 我现在这样做的方式是删除旧文本并仅显示新行。

无法将列宽设置为零,即不使列不可见

我试图从JTable创建一个列,通过将宽度设置为零而不可见但是它不会发生并且它仍然可见width = 15.这是代码 – public void restoreColumnWithWidth(int column, int width) { try { TableColumn tableColumn = table.getColumnModel().getColumn(column); table.getTableHeader().setResizingColumn(tableColumn); tableColumn.setWidth(width); tableColumn.setMaxWidth(width); tableColumn.setMinWidth(width); tableColumn.setPreferredWidth(width); } catch (Exception ex) { } } 代码有什么问题?

加载和显示大型文本文件

在Swing应用程序中,我有时需要支持对加载缓慢的大型面向行的文本文件的只读访问:日志,转储,跟踪等。对于少量数据, 合适的 Document和JTextComponent都可以,如图所示。 我理解浏览大量数据的人为限制,但有问题的东西似乎总是在最大的文件中。 对于10-100兆字节,百万行范围内的大量文本,是否有任何实用的替代方案?