小编Bor*_*oro的帖子

使用Tab键从JTextArea移动焦点

如上所述,我想更改a中的默认TAB行为JTextArea(以便它像一个JTextField或类似的组件)

这是事件动作

private void diagInputKeyPressed(java.awt.event.KeyEvent evt) {
    if(evt.KEY_PRESSED == java.awt.event.KeyEvent.VK_TAB) {
        actionInput.transferFocus();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是听众

diagInput.addKeyListener(new java.awt.event.KeyAdapter() {
    public void keyPressed(java.awt.event.KeyEvent evt) {
        diagInputKeyPressed(evt);
    }
});
Run Code Online (Sandbox Code Playgroud)

我也尝试过evt.KEY_TYPED,没有任何快乐.

有任何想法吗?

快速编辑:我也试过requestFocus()代替transferFocus()

java swing netbeans

29
推荐指数
1
解决办法
2万
查看次数

在servlet中读取JSON字符串

我将jQuery AJAX POST发布到servlet,数据采用JSON String的形式.它成功发布但在Servlet端我需要将这些key-val对读入Session对象并存储它们.我尝试使用JSONObject类,但我无法得到它.

下面是代码片段

$(function(){
   $.ajax(
   {
      data: mydata,   //mydata={"name":"abc","age":"21"}
      method:POST,
      url: ../MyServlet,
      success: function(response){alert(response);
   }
});
Run Code Online (Sandbox Code Playgroud)

在Servlet方面

public doPost(HTTPServletRequest req, HTTPServletResponse res)
{
     HTTPSession session = new Session(false);
     JSONObject jObj    = new JSONObject();
     JSONObject newObj = jObj.getJSONObject(request.getParameter("mydata"));
     Enumeration eNames = newObj.keys(); //gets all the keys

     while(eNames.hasNextElement())
     {
         // Here I need to retrieve the values of the JSON string
         // and add it to the session
     }
}
Run Code Online (Sandbox Code Playgroud)

java json servlets

20
推荐指数
2
解决办法
9万
查看次数

首次显示组件时监听

我试图抓住屏幕上显示组件的第一时刻,而不使用"脏"解决方案,就像使用计时器一样.基本上,我想知道我可以安全地开始getLocationOnScreen()在组件上使用方法的那一刻.

我认为组件监听器可以帮助但在这里没有运气.我现在卡住了,不知道哪个听众可以使用.有什么建议?

下面是一些示例代码,显示组件侦听器失败.

import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class CompListenerTest
{
    static ComponentListener cL = new ComponentAdapter()
    {
        @Override
        public void componentShown(ComponentEvent e)
        {
            super.componentShown(e);
            System.out.println("componentShown");
        }
    };

    static MouseListener mL = new MouseAdapter() 
    {

        @Override
        public void mousePressed(MouseEvent e)
        {
            super.mousePressed(e);
            JComponent c = (JComponent) e.getSource();
            System.out.println("mousePressed c="+c.isShowing());
        }

    };

    public static void main(String[] args)
    {
        JPanel p = …
Run Code Online (Sandbox Code Playgroud)

java swing listener

13
推荐指数
2
解决办法
9698
查看次数

如何计算文本在JTextArea中的行数(以及每行中的列数)?

在对问题中提出的问题感兴趣之后, 我试图接近它几次并且失败了,我不喜欢那样:)

我认为如果问题被分成子问题,它可能有助于解决它.

为简单起见,假设JTextArea不会改变其大小,因此我们不需要担心重新评估等.我认为重要的问题是:

1.如何计算某个文本在JTextArea中占用的行数?

2. JTextArea中的列数与它可以放在一行中的字符数之间的关系是什么?所以我们可以计算行长度.

请在下面找到包含要处理的文本区域的示例代码:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class TextAreaLines
{
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            @Override
            public void run()
            {
                JPanel p = new JPanel();
                JFrame f = new JFrame();
                JTextArea ta = new JTextArea("dadsad sasdasdasdasdasd");
                ta.setWrapStyleWord(true);
                ta.setLineWrap(true);
                ta.setRows(5);
                ta.setColumns(5);
                p.add(ta);
                f.setContentPane(p);
                f.setSize(400, 300);
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setVisible(true);             
                //BTW the code below prints 1
                System.out.println("ta.getLineCount()="+ta.getLineCount());
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑1:所以我提出了以下代码,但问题是输出不是你看到的,即

//for input
//JTextArea ta = …
Run Code Online (Sandbox Code Playgroud)

java swing jtextarea

12
推荐指数
3
解决办法
9980
查看次数

jqplot在鼠标悬停时更改图形的颜色

jqPlot 当鼠标悬停时改变填充的颜色......我想删除那个效果..怎么样?

以下是使用的选项:

var options={
    series: [{
            neighborThreshold: -1,
            shadowAngle:0,
            shadowOffset:2.5,
            shadowAlpha:.05,
            shadowDepth:5
        }],
    seriesDefaults: {
        color: '#224',
        fill: true,        // fill under the line,
        fillAndStroke: true,       // *stroke a line at top of fill area.
        fillColor: '#66CCCC',       // *custom fill color for filled lines (default is line color).
        fillAlpha: 0.2,       // *custom alpha to apply to fillColor.
        markerRenderer: $.jqplot.MarkerRenderer,    // renderer to use to draw the data
        // point markers.
        markerOptions: {
            show: false,             // wether to show data …
Run Code Online (Sandbox Code Playgroud)

javascript mouseover jqplot

11
推荐指数
1
解决办法
1万
查看次数

生成网站缩略图?

对于我的应用程序,我需要动态创建网站的缩略图.到目前为止,我有来自SO的代码:

public class CreateWebsiteThumbnail {

    private static final int WIDTH = 128;
    private static final int HEIGHT = 128;

    private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);

    public void capture(Component component) {
        component.setSize(image.getWidth(), image.getHeight());

        Graphics2D g = image.createGraphics();
        try {
                component.paint(g);
        } finally {
                g.dispose();
        }
    }

    private BufferedImage getScaledImage(int width, int height) {
        BufferedImage buffer = new BufferedImage(width, height,
                        BufferedImage.TYPE_INT_RGB);
        Graphics2D g = buffer.createGraphics();
        try {
                g.drawImage(image, 0, 0, width, height, null);
        } finally {
                g.dispose();
        }
        return buffer; …
Run Code Online (Sandbox Code Playgroud)

java swt

10
推荐指数
1
解决办法
3234
查看次数

jqPlot pieRenderer图例方块未显示

我正在运行jqPlot,由于某种原因,应该显示在饼图渲染器图例中的颜色编码方块没有出现.我想知道它是否与我正在使用twitter bootstrap的事实有关?我没有使用任何其他css库.

        var plot1 = jQuery.jqplot('chartdiv', [graphData],
        {
            grid: {
                shadow: false, 
                background: '#FFFFFF',                                                                                          
            },
            seriesDefaults: {
                // Make this a pie chart.
                renderer: jQuery.jqplot.PieRenderer,
                rendererOptions: {
                    // Put data labels on the pie slices.
                    // By default, labels show the percentage of the slice.
                    showDataLabels: true,
                    padding: 20,
                    startAngle: 270 
                }
            },
            legend: {
                show: true,
                location: 'e',
                fontSize: 11,
                marginTop: 10,                                
            }
        });
Run Code Online (Sandbox Code Playgroud)

jqplot

8
推荐指数
1
解决办法
5776
查看次数

jqplot用于不同线图的荧光笔

我在图表中有一系列折线图jqPlot.我想要做的是关闭所有图形的突出显示,除了一个我想要突出显示的图形.我怎样才能做到这一点?

javascript jquery charts graph jqplot

5
推荐指数
1
解决办法
1700
查看次数

DOSBox退出错误:CPU_SetSegGeneral:堆栈段零

我正在尝试运行一个旧的Clipper应用程序.它在Win 7 32bit上运行良好,但是当我尝试使用DOSBox 0.74时崩溃时出现以下错误:

Exit to error: CPU_SetSegGeneral: Stack segment zero

运行DOSBox时是否有一些我忘记设置的设置?

我需要能够在DOSBox中运行这个应用程序,因为它似乎只是可以在任何Win 7上运行的便携式解决方案,无论是32位还是64位.

如果对此问题没有明显的解决方案,也许您可​​以告诉我在Win 7 64位家庭版上运行Clipper 5.3应用程序有哪些替代方案?

编辑: 我尝试在Win 7 Home 64位上使用相同的结果.我能做什么?

64-bit clipper dosbox windows-7

5
推荐指数
1
解决办法
2335
查看次数

查询中的MyBatis内存泄漏,结果是平均列表.30k行

我在NetBeans Profiler中观察到,在执行查询后,Surviving Generations继续增加:

@Select("SELECT * FROM ais_dynamic WHERE rep_time >= #{from} AND rep_time <= #{to} AND ais_system = #{sys}")    
@Options(useCache=false,fetchSize=8192)
List<AisDynamic> getRecords(
        @Param("from") Timestamp from,
        @Param("to") Timestamp to,
        @Param("sys") int sys);
Run Code Online (Sandbox Code Playgroud)

就好像列表中的对象永远不会被释放,尽管它​​们没有被其他地方使用,并且应该在后台线程运行查询并处理其结果时死亡.

以下是NetBeans Profiler返回的实时结果: NetBeans Profiler的实时结果

我的问题:

  1. 如何防止内存泄漏?
  2. 我怎样才能优化这个查询,因为我可以看到我开始玩了Options虽然这没有阻止内存泄漏?

如果需要什么,请告诉我们将提供什么.

更新:

经过更多的测试后,我更担心问题在于MyBatis持有对检索结果的引用,因此它们不会随着时间的推移而被垃圾收集.在完成20次查询调用之后,等待我即使在30分钟后也没有观察到垃圾回收.我所做的只是调用方法:List<AisDynamic> adList = mapper.getRecords(from, to, sys);

java memory ibatis mybatis

5
推荐指数
1
解决办法
2673
查看次数