小编Qui*_*ion的帖子

Java平滑颜色过渡

假设我有两种颜色.

public final static Color FAR = new Color(237, 237, 30);
public final static Color CLOSE = new Color(58, 237, 221);
Run Code Online (Sandbox Code Playgroud)

如何在不浸入深色的情况下从一种颜色过渡到另一种颜色?

我想出了诸如此类的想法

    double ratio = diff / range; // goes from 1 to 0
    int red = (int)Math.abs((ratio * FAR.getRed()) - ((1 - ratio) * CLOSE.getRed()));
    int green = (int)Math.abs((ratio * FAR.getGreen()) - ((1 - ratio) * CLOSE.getGreen()));
    int blue = (int)Math.abs((ratio * FAR.getBlue()) - ((1 - ratio) * CLOSE.getBlue()));
Run Code Online (Sandbox Code Playgroud)

要么

    double ratio = diff / range; // goes …
Run Code Online (Sandbox Code Playgroud)

java algorithm colors

4
推荐指数
1
解决办法
6316
查看次数

将JPanel添加到多个JFrame

我有一个包含大量上下文的JPanel.

我希望能够将所述JPanel添加到两个JFrame中.有小费吗?

这是我想要的例子

public class Test
{
    public static void main(String [] args)
    {
        JPanel panel = new JPanel();
        panel.add(new JLabel("Hello world"));
        panel.validate();

        JFrame frame1, frame2;
        frame1 = new JFrame("One");
        frame2 = new JFrame("Two");
        frame1.add(panel);
        frame2.add(panel);
        frame1.validate();
        frame2.validate();
        frame1.setVisible(true);
        frame2.setVisible(true);
        frame1.pack();
        frame2.pack();
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望两个JFrame都显示hello world,而不是一个显示它而另一个显示为空.如果JPanel更新中的数据,我希望两个JFrame都显示它.

感谢任何人的帮助,这一直困扰着我.

java swing jpanel jframe

4
推荐指数
1
解决办法
356
查看次数

GZIP吃了换行符

我有以下代码来压缩和解压缩字符串.

public static byte[] compress(String str)
{
    try
    {
        ByteArrayOutputStream obj = new ByteArrayOutputStream();
        GZIPOutputStream gzip = new GZIPOutputStream(obj);
        gzip.write(str.getBytes("UTF-8"));
        gzip.close();
        return obj.toByteArray();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    return null;
}

public static String decompress(byte[] bytes)
{
    try
    {
        GZIPInputStream gis = new GZIPInputStream(new ByteArrayInputStream(bytes));
        BufferedReader bf = new BufferedReader(new InputStreamReader(gis, "UTF-8"));
        StringBuilder outStr = new StringBuilder();
        String line;
        while ((line = bf.readLine()) != null)
        {
            outStr.append(line);
        }
        return outStr.toString();
    }
    catch (IOException e)
    {
        return e.getMessage();
    } …
Run Code Online (Sandbox Code Playgroud)

java gzip gzipoutputstream gzipinputstream

3
推荐指数
2
解决办法
2083
查看次数

防止活动在旋转屏幕时重新启动

我的应用程序是一个简单的表单 我使用TableLayout,并设置了很多行visibility="gone".当用户开始填写表单时,越来越多的行变得可见.但问题是,第二个屏幕从纵向旋转到横向,或从横向旋转到纵向,整个表单重置,所有可见的字段都变得不可见.有没有办法防止这种情况发生?

在此先感谢帮助的人:)

android android-intent android-layout

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

包含特殊字符的Pattern.compile字符串

我有一个简单的方法来搜索和编译给定字符串的模式

    String search = I GIVE IT SOME STRING;
    String trimmedSearch = search.trim();
    if (trimmedSearch.isEmpty())
    {
        pattern_ = null;
    }
    else if (trimmedSearch.contains("*") || trimmedSearch.contains("(") 
        || trimmedSearch.contains(")") || trimmedSearch.contains("?")
        || trimmedSearch.contains(".") || trimmedSearch.contains("[")
        || trimmedSearch.contains("]") || trimmedSearch.contains("{")
        || trimmedSearch.contains("}") || trimmedSearch.contains("^")
        || trimmedSearch.contains("|") || trimmedSearch.contains("$")
        || trimmedSearch.contains("+") || trimmedSearch.contains("\\"))
    {
        pattern_ = null;
    }
    else
    {
        pattern_ = Pattern.compile(trimmedSearch.toUpperCase(), Pattern.CASE_INSENSITIVE);
    }
Run Code Online (Sandbox Code Playgroud)

无论何时搜索,模式都会崩溃 *

因为我有一个可怕的巨大的if语句检查,以确保该字符串不包含任何可以崩溃它的字符.但是,如果我想将它们包含在搜索中,该怎么办?有什么办法吗?

任何帮助将不胜感激,很难在网上任何地方搜索这类问题或问题,我开始失去理智.

java regex

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

在JLabel上画线

我正在尝试使用swing制作一个RPG(是的,这是愚蠢的我同意,但我这样做是为了学习而不是实际的工作产品).目前我正在研究每个角色的统计数据.

我有一个JPanel,我想画一条线.

我的意图是有类似的东西
中间部分是JPanel

左侧是JPanel,它有两个组件,表1和JLabel.右边也是JPanel,它有自己的元素,但这是另一个故事.

我的问题是,我想创建一个只有图像的jpanel,该图像将是两条相对于表格中所选元素的角线.

但不幸的是,我不知道如何在JLabel上绘制自定义图像.任何人都可以建议一种在JLabel上绘制自己的线条和一切的方法吗?我已经看了很多问题,但是他们展示了如何将已创建的图像绘制到JLabel上,但我会自己绘制自己的东西(只有两行).

java swing jlabel jpanel graphics2d

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

选择组件加载顺序

我有一个包含三个@Component类的弹簧靴。

src.main.java
|_components
  |_A
  |_B
  |_C
Run Code Online (Sandbox Code Playgroud)

我需要BC执行后A才能执行。我该如何指定呢?我应该使用@DependsOn注释吗?或者@Order?在线所有答案均适用于@Configuration课程@Bean

spring spring-boot spring-boot-actuator

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

php修改了数组显示值

我有一个阵列

$test = array('one', 'two', 'three', 'four', 'five');
Run Code Online (Sandbox Code Playgroud)

我取消了两个和四个(因为我真的很不喜欢偶数)

unset($test[array_search('two', $test)]);
unset($test[array_search('four', $test)]);
Run Code Online (Sandbox Code Playgroud)

我留下了一个阵列

$test = array(
[0] => 'one',
[2] => 'three',
[4] => 'five'
);
Run Code Online (Sandbox Code Playgroud)

现在我需要循环遍历该数组并获取值和正确的键.我想要展示

0 = one
2 = three
4 = five
Run Code Online (Sandbox Code Playgroud)

我应该用什么来实现这一目标?我尝试使用标准

for($i=0; $i<count($test); $i++)
Run Code Online (Sandbox Code Playgroud)

但这没有效果,因为它会循环并给我0 1 2而不是0 2 4.有什么建议吗?

php arrays

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

不断检查二级硬盘驱动器是否出现故障

我想不断(每30秒)检查并查看辅助(sdb)硬盘驱动器是否出现故障.这样做的最佳方式是什么.我应该通过简单地查看/ dev/sdb是否存在来检查,还是有更好的方法?此外,我想从辅助硬盘检查主要是否失败,如果是这样,我想执行重启命令.

目前我正在考虑做

为了检查辅助硬盘是否出现故障,我会在while循环中不断执行此操作

if [ -e /dev/sda ];
then
    echo "Secondary Hard drive is connected"
    sleep 30s
else
    echo "Secondary Hard drive died"
fi
Run Code Online (Sandbox Code Playgroud)

要检查主硬盘是否出现故障,我会在while循环中不断执行此操作

if [ -e /dev/sda ];
then
    echo "Hard drive is connected"
    sleep 30s
else
    echo "Hard drive died"
    reboot
fi
Run Code Online (Sandbox Code Playgroud)

我不知道如何模仿硬盘驱动器故障,但我想输入和/或建议如何执行此操作,以及代码是否有效.感谢任何人提前帮助:)

unix linux bash hard-drive

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

递归方法如何自我添加?

大家好,我有一些东西,我的大脑很难弄清楚.我的作业是拥有"x"兔子.它递归地计算兔子耳朵的总数.偶数兔子有正常的两只耳朵,奇数兔子有3只耳朵,但每5只兔子有1只耳朵.我的代码完整而且有效...这里是......

import java.util.*;

public class bunnies
{
    public static int y;

    public static void main(String[] args)
    {
        y = 0;
        System.out.println(BunnyEars(3));
    }

    public static int BunnyEars(int x)
    {
        if ((x % 5) == 0 && x != 1  && x != 0)
            return 1 + BunnyEars(x - 1);
        else if ((x % 2) == 0 && x != 0 )
            return 2 + BunnyEars(x - 1);
        else if ((x % 2) != 0 && x != 0)
            return 3 + …
Run Code Online (Sandbox Code Playgroud)

java

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

andengine与没有框架开发

我正在努力学习在Android上创建2D游戏,我听说andengine是最好的工具之一.我尝试过使用它,但遗憾的是我遇到了很多问题,因为andengine只有很少的文档,没有稳定的地方我可以学习东西.所以我的问题是,你会向全新的开发者推荐什么?我应该尝试学习动力学,还是努力学习?你能提供一些很好的学习链接吗?到目前为止,我发现很多链接都很旧,并且不能一直正常工作.

感谢任何人的帮助.

另外只是为了澄清,我是2D游戏开发的中等技术人员(特别是在java和C++中),所以我知道基本结构,我的主要问题是让事情在android上运行,因为我对android本身是全新的.

android andengine

0
推荐指数
1
解决办法
1275
查看次数

pthread_exit发出返回结构

我有一个结构

typedef struct something_t {
    int a;
    int b;
} VALUES;
Run Code Online (Sandbox Code Playgroud)

在我的线程函数中我做

VALUES values;
values.a = 10;
values.b = 11;

pthread_exit((void*)&values);
Run Code Online (Sandbox Code Playgroud)

我试着通过这样做来接受

VALUES values;
pthread_join(thread, (void*)&values);
printf("A: %d\B: %d\n", values.a, values.b);
Run Code Online (Sandbox Code Playgroud)

我收到的价值每次都很奇怪.我很困惑如何接收我最终在线程中创建的值.我试图在C中学习线程,似乎我已经掌握了它,但我无法返回值.有办法吗?感谢任何人的帮助.

c multithreading pthreads pthread-join

0
推荐指数
1
解决办法
2390
查看次数

Java同步性能

我想就此解决一个小纠纷.任何帮助将不胜感激.

我编写了自己的文件处理程序,它附加到记录器.这是一个文件处理程序,并由多个线程访问,我使用同步,以确保在写入过程中没有冲突.此外,它是一个滚动日志,所以我也关闭并打开文件,也不希望有任何问题.

他对此的回应是(从电子邮件中粘贴)

我坚信Handler中的同步非常糟糕.这么简单的任务太复杂了.所以,我想说为什么不为每个线程使用一个实例?

从性能和内存管理的角度来看,你会说什么更好.非常感谢您的回复.每当在多线程应用程序中涉及写入和读取时,我一直在Java应用程序上使用同步,并且没有听说过任何严重的性能问题.

所以,我想知道是否有任何问题,我真的应该切换到每个线程一个实例.

一般来说,使用同步的垮台是什么?

编辑:我之所以编写自定义文件处理程序(是的,我喜欢slf4j),是因为我的自定义处理程序一次处理两个文件,另外我还有很少的其他函数在写入文件时执行.

java multithreading synchronization locking readwritelock

0
推荐指数
1
解决办法
1074
查看次数