当前位置: 首页 > 面试题库 >

如何用继承自JFrame图标的图标创建自己的文件(在Java中设置),我自己的文件使用FileOutputStream和ObjectOutputStream

崔棋
2023-03-14
问题内容

我想用继承自JFrame icon的icon创建我自己的文件,并在java中对其进行设置,而我自己的文件使用FileOutputStream和ObjectOutputStream

try {
    ObjectOutputStream oos;
    //I create own file with own extension in drive D:
    FileOutputStream fos = new FileOutputStream("D:/myFile.ckl");
    oos = new ObjectOutputStream(fos);
    //Write Document in JTextPane to File
    oos.writeObject(jTextPane.getStyledDocument());
    oos.close();
    fos.close();
} catch (Exception exp) {
    JOptionPane.showMessageDialog(null, "" + exp.getStackTrace());
}

Thank you in advance


问题答案:

@David是对的,因为主机平台拥有这些JFrame装饰,但是您可以使用这些JInternalFrame图标,这些图标通常可以
概括该平台的图标。例如,

private static final Icon ICON = (Icon) UIManager.get("InternalFrame.closeIcon");

其他装饰默认列举
here.

SSCCE:

enter image description here

import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;

/** @see http://stackoverflow.com/a/10360374/230513 */
public class InternalFrameIcons extends JPanel {

    public InternalFrameIcons() {
        this.setLayout(new GridLayout(0, 1, 5, 5));
        this.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
        this.add(createLabel("InternalFrame.closeIcon"));
        this.add(createLabel("InternalFrame.maximizeIcon"));
        this.add(createLabel("InternalFrame.minimizeIcon"));
    }

    private JLabel createLabel(String name) {
        Icon icon = (Icon) UIManager.get(name);
        JLabel label = new JLabel(name, icon, JLabel.CENTER);
        label.setHorizontalTextPosition(JLabel.CENTER);
        label.setVerticalTextPosition(JLabel.BOTTOM);
        return label;
    }

    private void display() {
        JFrame f = new JFrame("InternalFrameIcons");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(this);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new InternalFrameIcons().display();
            }
        });
    }
}


 类似资料:
  • 我使用JSoup从html文档中提取某些标记。但是,我需要用团队创建的一些标记来更改其中的一些。 示例 检查我的标签是否需要自动关闭标签。有线索吗?谢谢

  • 为了回答超级用户的这个问题,我写了一个小的vimscript,它将检测符号链接的文件类型并改变语法高亮显示: au BufNewFile,BufRead * if 因此,如果我打开一个没有扩展名的符号链接,它将查看它指向的文件的扩展名。 它起作用了,但一个意想不到的后果是现在我的文件的语法高亮显示消失了。默认情况下,我的. vimrc文件具有vim语法高亮显示(

  • 如果您在开发共享库的公司工作,或者您在开源或商业库中工作,则可能需要开发自己的自动配置。 自动配置类可以捆绑在外部jar中,仍然可以通过Spring Boot获取。 自动配置可以与“启动器”相关联,该“启动器”提供自动配置代码以及您将使用它的典型库。 我们首先介绍了构建自己的自动配置需要了解的内容,然后我们将继续介绍创建自定义启动器所需的典型步骤。 可以使用演示项目来展示如何逐步创建启动器。 4.

  • 问题内容: 我用Java创建了一个程序,并对其进行了设计,以使我希望它们出现在主体中的方法(getter方法)在启动包含这些方法的类之后可以轻松地调用它们。 问题是,我需要使这个应用程序(包含getter方法)像一个API,以便我可以让我的应用程序供开发人员在需要时使用我的函数(getter方法),并且只使用它们所需要的功能。需要添加此文件(我认为完成后的API显示为.jar文件)。 我该如何做到

  • 问题内容: 我是TensorFlow的新手。我正在寻找有关图像识别的帮助,可以在其中 训练自己的图像 数据集。 有没有训练新数据集的示例? 问题答案: 如果您对如何在TensorFlow中输入自己的数据感兴趣,可以查看本教程。 我也写与CS230的最佳做法指南在斯坦福这里。 新答案(带有)和带有标签 随着in的引入,我们可以创建一批没有占位符且没有队列的图像。步骤如下: 创建一个包含图像文件名的列

  • 好吧,所以我试图在Java创建自己的LinkedList类(带有泛型类型),但是遇到了一些问题。我创建了一个LinkedListNode类,它基本上设置并获取next和right指针以及节点的键。我的LinkedList类代码发布在下面,如果您编译并运行,您会发现它没有按照应该的方式设置列表。此刻,我正在尝试在节点x之后插入节点y,但我的打印输出看起来像: 键:5-上一键:6-下一键:6键:6-上