小编Jer*_*son的帖子

更改Java应用程序的桌面图标

我想提前感谢您抽出时间阅读我的问题,我将非常感谢您提供的任何评论,答案,见解,技术和批评.

我正在寻找一种有用的方法来更改Java应用程序的桌面图标.我已经调查了几天,但是没有找到准确的结果.

在您将其标记为重复并将其称为重复之前,我已阅读:如何更改Java中的默认应用程序图标?对其他提出这个问题的人),但这并没有解决我的具体问题.我知道他们的方法使用url位置而不是导入,但我试图学习如何使用导入(如果这样,实际上可能).当我尝试使用他们的方法来改变源位置时.除此之外,url示例似乎不适用于存储在计算机上的文件.当我尝试运行它时,我收到"未捕获的错误"消息.

我使用以下格式声明我已导入NetBeans的图像:

Image image = new ImageIcon("imported.png").getImage();
frame.setIconImage(image);
Run Code Online (Sandbox Code Playgroud)

现在这适用于工具栏中显示的图标,它也出现在框架的左上角,但是当我清理和构建它时,我仍然将Java咖啡杯作为应用程序的图标.

有关我用于尝试此操作的代码的其他资源:

import java.awt.Image;
import javax.swing.*;

public class Check {
    JFrame frame;
    public static void main(String[] args) {
        new Check().go();
    }
    private void go() {
        frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Image image = new ImageIcon("owl.gif").getImage();

        frame.setIconImage(image);
        frame.setVisible(true);
        frame.setSize(300, 300);
    }
}
Run Code Online (Sandbox Code Playgroud)

"owl.gif"位是我通过单击和拖动方法导入到NetBeans中的内容(如我在其中一本专注于NetBeans的书籍中所述).

我正在寻找一种方法来创建一个文件,我已经在我的计算机上保存了应用程序的桌面图标.

java icons swing image imageicon

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

java中序列化的基础知识不明白

我无法理解SerializationJava 1.6 的基础知识.

下面是Dog包含Class的实例变量的CollarClass:

Dog.java

public class Dog implements Serializable {

private Collar collar;

public Collar getCollar() {
    return collar;
}

public void setCollar(Collar collar) {
    this.collar = collar;
}

}
Run Code Online (Sandbox Code Playgroud)

Collar类没有实现Serializable接口,如下所示:

Collar.java

public class Collar {

private int size;

public int getSize() {
    return size;
}

public void setSize(int size) {
    this.size = size;
}

}
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试序列化时,Dog为什么它不抛出NotSerializableException?根据合同,整个对象图应该实现,Serializable但我的Collar班级不满足.

以下是此演示的主要方法:

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

java serialization servlets web-applications serializable

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

接口内部类

我们可以在接口中拥有一个类,该类具有在其中实现的接口的不同方法吗?我在这里有一个疑问,为什么Java允许在接口内编写内部类以及我们可以在哪里使用它。

在下面的程序中,我在接口中编写了一个类并实现了接口的方法。在接口的实现类中,我刚刚调用了内部类方法。

public interface StrangeInterface
    {
      int a=10;int b=5;
      void add();
      void sub();
      class Inner
       {
         void add()
          {
             int c=a+b;
             System.out.println("After Addition:"+c);
          }
         void sub()
         {
             int c=a-b;
             System.out.println("After Subtraction:"+c);
         }
       }
    }   

 abstract public class StrangeInterfaceImpl implements I { 
      public static void main(String args[])
    {
       StrangInterface.Inner i=new StrangeInterface.Inner();
       i.add();
       i.sub();
    }
 }
Run Code Online (Sandbox Code Playgroud)

java interface interface-implementation

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

建立JFrame的语法.哪个是对的?

我对编程很新,对Java来说也是新手.我在今年秋天开始开设计算机科学课程之前就开始自学,我对两种不同作者的语法有好奇心.在一本书中,通常通过使类成为JFrame的扩展来建立JFrame

public class MyClass extends JFrame {
Run Code Online (Sandbox Code Playgroud)

等等

但是,另一位作者以及本网站上的问题通常会在课程内部建立一个框架:

public class MyClass {
JFrame frame = new JFrame();
Run Code Online (Sandbox Code Playgroud)

首先,一个优于另一个的优势是什么?在我看来,我并不是一个专家,将类作为JFrame的扩展可以更容易地设置框架的参数并且还可以向其添加组件.

你只想说扩展格式的IE

add(component);
Run Code Online (Sandbox Code Playgroud)

但是,在其他格式中,必须键入:

frame.getContentPane().add(component);
Run Code Online (Sandbox Code Playgroud)

这似乎更乏味.

有人可以简洁地解释这背后的原因,或者只是一个偏好的问题.我已经调查了这个并且无法得到直接的答案.

java inheritance swing composition jframe

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