小编Dav*_*vid的帖子

如何通知用户需要注意JTabbedPane中的特定Tab?

假设您有一个包含五个或更多选项卡的用户界面,并且您需要通知用户选项卡"2"需要注意.

有没有办法做到这一点?例如,使标签闪烁橙色,或更改标签的颜色?我没有成功使用requestFocus.

编辑:我也有兴趣知道如果可能的话,如何强制关注选项卡2.

java focus jtabbedpane

6
推荐指数
1
解决办法
1352
查看次数

使文件传输更高效Java

我有两台无线电脑连接到N无线路由器.这些PC中的每一台都以108-150Mbps的速度连接.

从理论上讲,我应该能够在绝对最佳条件下以13.5MB/s的速度传输到18.75MB/s.

第一台计算机(即发送)使用非常快的SSD,如果我没记错的话,大约100MB/s.CPU使用率也低于20%.

它在656367ms发送了1960273535字节(1.8GB).那是2.8MB/s(108兆比特中的22个).当我打开任务管理器时,我发现只有25-27%的网络连接被使用.

我正在寻找可以使传输更快(通过网络)的任何想法,建议或改进.我想在一个线程上从磁盘缓冲文件并从另一个线程发送缓冲数据,但我不确定这是不是一个好主意.这是SSCCE:

主办:

import java.io.*;
import java.net.*;


public class Host {


    public static void main(String[] args) throws IOException {


        ServerSocket servsock = new ServerSocket(15064);
        Socket sock = servsock.accept();
            long time = System.currentTimeMillis();

        OutputStream out = sock.getOutputStream();
        FileInputStream fileInputStream = new FileInputStream("C:\\complete.rar");

        byte [] buffer = new byte[64*1024]; 
        int bytesRead = 0;
        long totalSent = 0;

        while ( (bytesRead = fileInputStream.read(buffer)) != -1)
        {
            if (bytesRead > 0)
            {   
                out.write(buffer, 0, bytesRead);
                totalSent += bytesRead;
                System.out.println("sent " + …
Run Code Online (Sandbox Code Playgroud)

java sockets networking nio file-transfer

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

从代码更新 .JAR 的内容

我正在制作一个需要更新的游戏。

我有两个JAR文件:Update.JarGame.Jar 基本上,我希望能够修改Game.Jar没有完全覆盖它。

我想要:

  1. 从代码中将 Jar 文件作为 Zip 文件打开
  2. 替换/添加一些资源
  3. 重新打包 Jar 文件。

有没有简单的方法或课程可以做到这一点?如果不是,那么最干净的方法是什么?

java jar

6
推荐指数
1
解决办法
5760
查看次数

使用System.out.print与println的多线程问题

我有以下线程,每200ms只打印一个点:

public class Progress {

    private static boolean threadCanRun = true;
    private static Thread progressThread = new Thread(new Runnable() 
    {
        public void run() {
            while (threadCanRun) {
                System.out.print('.');
                System.out.flush();
                try {
                    progressThread.sleep(200);
                } catch (InterruptedException ex) {}
            }
        }
    });

    public static void stop()
    {
        threadCanRun = false;
        progressThread.interrupt();
    }

    public static void start()
    {
        if (!progressThread.isAlive())
        {
            progressThread.start();
        } else
        {
            threadCanRun = true;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我用这段代码启动线程(现在):

 System.out.println("Working.");
 Progress.start();


 try {
        Thread.sleep(10000); //To be replaced with code that …
Run Code Online (Sandbox Code Playgroud)

java multithreading

6
推荐指数
1
解决办法
3771
查看次数

隐形组件仍占用JPanel空间

我在JPanel中将一系列组件放在一起作为GridLayout.我需要暂时隐藏组件但setVisible(false)不切割组件,因为组件的空隙仍然存在.

有没有快速简便的方法来做到这一点?或者我是否必须保持JPanel的状态,删除组件,然后恢复它?

SSCCE:

[GridLayout2.java]

import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Insets;

public class GridLayout2 extends GridLayout 
{
  public GridLayout2() {
    this(1, 0, 0, 0);
  }

  public GridLayout2(int rows, int cols) {
    this(rows, cols, 0, 0);
  }

  public GridLayout2(int rows, int cols, int hgap, int vgap) {
    super(rows, cols, hgap, vgap);
  }

  public Dimension preferredLayoutSize(Container parent) {
    //System.err.println("preferredLayoutSize");
    synchronized (parent.getTreeLock()) {
      Insets insets = parent.getInsets();
      int ncomponents = parent.getComponentCount();
      int nrows = getRows();
      int ncols = …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing jpanel

6
推荐指数
2
解决办法
9953
查看次数

\ s +不匹配所有空格?

我正在尝试匹配此字符串:

文字18 19文字

有了这个正则表达式:

\s+\d\d\s+
Run Code Online (Sandbox Code Playgroud)

该字符串有两个数字,每个数字都由前导和尾随空格包围.

所以我在想 - 这应该给我18和19对吗?它没有,它只给我18.

我在这里测试这个测试器:http://java-regex-tester.appspot.com/

谢谢!

java regex

5
推荐指数
2
解决办法
2870
查看次数

强制子类实现私有方法

我有以下代码:

public abstract class NavEntityController<ChildEntity> where ChildEntity : NavObservableEntity
{
    public abstract void Delete(ChildEntity line);
    public abstract void Update(ChildEntity line);
    public abstract void Create(ChildEntity line);

    public void PushChangesToNav(NavObservableCollection<ChildEntity> lines) 
    {
        foreach (var line in lines)
        {
            line.ErrorLastAction = false;
            EntityState previousState = line.CurrentState;

            try
            {
                switch (line.CurrentState)
                {
                    case EntityState.Unchanged:
                        break;
                    case EntityState.NeedsCreate:
                        Create(line);
                        line.CurrentState = EntityState.Unchanged;
                        break;
                    case EntityState.NeedsUpdate:
                        Update(line);
                        line.CurrentState = EntityState.Unchanged;
                        break;
                    case EntityState.NeedsDelete:
                        Delete(line);
                        line.CurrentState = EntityState.Deleted;
                        break;
                }
            }
            catch (Exception e)
            {
                //...
            } …
Run Code Online (Sandbox Code Playgroud)

.net c# oop

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

当我不知道图像类型时的 Base64 Image SRC

我见过:

 src="data:image/png;base64,iVBORw0KG..."
Run Code Online (Sandbox Code Playgroud)

或者

src="data:image/jpeg;base64,LzlqLz..."
Run Code Online (Sandbox Code Playgroud)

或者

src="data:image/gif;base64,R0lGODl..."
Run Code Online (Sandbox Code Playgroud)

图像类型是强制性的,还是有什么方法可以让浏览器弄清楚并传递以下内容:

src="data:image;base64,R0lGODlh...
Run Code Online (Sandbox Code Playgroud)

html javascript base64 image

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

在DOM元素上创建角度范围

我需要创建一个新的角度范围并将其附加到DOM元素.我正在修改第三方控件,所以我没有选择只使用指令.

我需要做类似的事情:

... = thirdPartyCallbackfunction(domElement){
        var myNewScope = $scope.$new(true);
        myNewScope.title = 'Hello';
        domElement.scope = myNewScope; //???
}
Run Code Online (Sandbox Code Playgroud)

此外,我尝试ng-scope手动添加到DOM元素,但ng-inspector向我显示它没有创建新的子范围.

$(domElement).scope();
Run Code Online (Sandbox Code Playgroud)

尝试时给我根本范围.

文档是不是非常有帮助要么.

javascript jquery dom angularjs

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

ngIf = false和ngContent仍会加载模板绑定

定义一个简单的组件,如下所示:

@Component({
  selector: 'loader',
  template: `<div *ngIf='false'>
        <ng-content></ng-content>
        </div>`,
})
export class Loader {}
Run Code Online (Sandbox Code Playgroud)

像这样使用时:

  <loader>
      {{model.something}}
  </loader>
Run Code Online (Sandbox Code Playgroud)

如果在父级中未定义model,我仍然会收到模板绑定错误,因为即使使用,它也会尝试解析绑定ngIf=false。为什么会这样呢?

javascript angular2-ngcontent angular

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