加载和显示大型文本文件

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

Java中的双向多值映射

我正在寻找一种存储键值对的方法。 我需要查找是双向的,但同时我需要为同一个密钥存储多个值。 换句话说,比如BidiMap,但对于每个键,可以有多个值。 例如,它需要能够保存对,如:“s1” – > 1,“s2” – > 1,“s3” – > 2,我需要能够获取映射到每个键的值,并且对于每个值,获取与其关联的所有键。

如何将JMenuBar移动到Mac OS X上的屏幕菜单栏?

当我将JMenuBar移动到Mac OS X上的屏幕菜单栏时,它会留下一些空白区域,菜单会出现在我的窗口中; 我需要删除那个空间。 我在用 System.setProperty(“apple.laf.useScreenMenuBar”, “true”) 将我的JMenuBar移动到屏幕菜单栏。 我的朋友使用Mac报告,如果我没有设置该属性,这将留下一些丑陋的垂直空间,菜单将驻留在该空间中。 解决此问题的最佳方法是什么? 编辑:这是我的来源的一个例子: public static void main(String[] args) { System.setProperty(“apple.laf.useScreenMenuBar”, “true”); System.setProperty(“com.apple.mrj.application.apple.menu.about.name”, “Name”); JFrame frame = new JFrame(“Gabby”); final DesktopMain dm = new DesktopMain(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(dm); frame.setSize(160, 144); frame.setLocationRelativeTo(null); frame.setIgnoreRepaint(true); JMenuBar menuBar = new JMenuBar(); JMenu fileMenu = new JMenu(“File”); menuBar.add(fileMenu); // Populating the menu bar code […]

简单的弹出式Java表单,至少包含两个字段

当用户单击一个按钮时,我想显示一个至少应包含两个JTextField和两个JLabel的弹出窗体,因此不可能使用JOptionPane.showInputDialog 。

Java如何从字符串实例化一个类

可能重复: 从Java中的Variable创建新类 我有一个字符串 String className = “DummyClass” 现在我想创建一个类对象,其中类名是className ,就像这样 Object className = new className() // I know it’s not possible. 我想知道怎么做…

如何使用AOP和AspectJ进行日志记录?

我想在我的所有公共方法中添加“trace”消息,如下所示: public void foo(s:String,n:int){// log是一个log4j记录器或任何其他库 log.trace(String.format(“输入foo with s:%s,n:%d”,s,n)) … log.trace(“退出foo”) } 现在我想用AOP(和字节码检测)自动将所有log.trace添加到我的方法中。 我正在考虑AspectJ 。 是否有意义? 你知道任何开源的吗?

编译JSP Java(* __ jsp.java)文件在哪里?

我在我的网站试图渲染的一个jsp文件中获得了javax.servlet.jsp.JspException ( survey.jsp )。 但是,堆栈跟踪没有给出jsp中失败的特定行,而是它失败的行号( survey_jsp.java:787 ),它似乎是已编译的JSP文件。 我在哪里可以找到这样的文件,以便我知道抛出此exception的行是什么? 谢谢 编辑:如果你正在使用tomcat,这些文件存在于/work目录中,如下面的评论所示。

JSON到XML转换的Java实现

是否有现有的JAR可以从JSON转换为XML?

绘制一个在下一个油漆中不会消失的矩形

我试图创建一个绘制矩形的JPanel。 小组需要绘制很多矩形,但它们不会移动。 我的问题的一个解决方案是创建一个包含我已经创建的所有矩形的列表,并在每次调用“Paint”时绘制它们。 但是有很多矩形,它会减慢计算机的速度。 我也尝试使用重绘(x,y,高度,宽度)来掠夺新矩形的空间,但它不起作用。 (JPanel不断擦除以前的矩形。)在排序中,我需要绘制每个油漆都不会消失的矩形。 或者是一种不会擦除先前绘制的绘画方法,或者不会绘制背景。 这是我的JPanel类的一部分: class MyPanel extends JPanel{ private int x, y, size; private Color c; public void DrawRect(int x, int y, int size, Color c){ this.x = x; this.y = y; this.size = size; this.c = c; repaint(); } @Override public void paint(Graphics g) { g.setColor(c); g.fillRect(x, y, size, size); […]

如何使用事件监听Java(JFreeChart)中的点击?

这是我目前使用的代码: @Override public void mouseExited(MouseEvent e) { System.out.println(“detectado”); }