java常见问题(一)

简介: java常见问题(一)

1.文本域如何添加滚动条

package test;
import java.awt.*;
import javax.swing.*;
public class gao extends JFrame{
    JTextArea jtext=new JTextArea();
    JScrollPane js = new JScrollPane(jtext);   // 滚动条
    public gao() {
        super("滚动条");
        this.setLayout(null);
        js.setBounds(30,30,120,80);
        add(js);
        this.setSize(250,180);
        this.setVisible(true);      
    }
    public static void main(String args[]) {
        new gao();
    }
}

把文本域包含在滚动条中

2.写文件时如何在之前的基础上追加内容(即不覆盖之前的内容)

在不知道存在现成的方法时,尝试着在写文件时先读取文件中存在的内容,相当于每次写文件都要先读文件中内容再将新的内容添加到尾部,试着做了一下可以把原来的内容保留下来,但是新添加的内容就会重复出现多次,遂无果。而且,如果文件大的话,效率肯定就慢。一番查找发现了捷径:public FileOutputStream(File file,boolean append)

创建一个向指定 File 对象表示的文件中写入数据的文件输出流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。实验确实可以。

package test;
import java.io.*;
public class gao{
    public static void main(String args[]) {
        try {
            File file = new File("D://writeFile.txt"); // 创建文件对象
            if (!file.exists()) { // 如果该文件不存在
                file.createNewFile(); // 新建文件
            }
            FileOutputStream fos = new FileOutputStream(file,true); // 创建FileOutputStream实例
            byte[] bytes = "追加的内容".getBytes(); // 创建字节数组
            fos.write(bytes); // 向文件中写数据
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

如果验证的话可以先手动在D盘新建一个writeFile.txt文件,随意添加几句话,再执行这个程序。

OutputStream()是按字节流输出。

复习一下:

java按处理数据的单位划分,支持两种基本的流类型:字节流和字符流。

  字节流 字符流
输入 InputStream Reader
输出 OutputStream Writer

3.如何创建选项卡面板(即标准面板和程序员面板)

package test;
import java.awt.Container;
import javax.swing.*;
public class gao extends JFrame{
    JTabbedPane dbTabPane;  //选项卡面板
    JPanel inputPanel;        // 面板1;
    JPanel viewPanel;       // 面板2;
    JLabel label1=new JLabel("这是面板一");
    JLabel label2=new JLabel("这是面板二");
    public gao(){
        super("选项卡");
        Container c = getContentPane();
        dbTabPane = new JTabbedPane();
        // 定义面板1
        inputPanel = new JPanel();
        inputPanel.setLayout(null);
        label1.setBounds(30, 30, 100, 30);
        inputPanel.add(label1);     
        //可以添加其他组件
        dbTabPane.add(inputPanel,"面板一" );
        // 定义面板2
        viewPanel = new JPanel();
        viewPanel.setLayout(null);
        label2.setBounds(30, 30, 100, 30);
        viewPanel.add(label2);
        //可以添加其他组件
        dbTabPane.add(viewPanel,"面板二");
        c.add(dbTabPane);
    }
    public static void main(String args[]) {
            gao g=new gao();
            g.setSize(300, 200);
            g.setVisible(true);
    }
}

这是模板可以在上添加多个面板以及在面板上添加其他组件。

最近在看朱元璋电视剧,其中一句话印象较为深刻:

高筑墙、广积粮、缓称王

百度百科

百度百科显示是朱元璋征求学士朱升对他的意见,而在剧中我清晰的记得是李善长对他的建议。不过不管是谁说,这其中蕴含的道理是不变的。我听完脑海中浮现了一句话:打铁还需自身硬。共勉吧。


相关文章
|
6月前
|
Java 数据处理 调度
Dataphin常见问题之离线管道同步数据datax就报连接超时如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
6月前
|
存储 安全 算法
详解Java中HashMap、HashTable、ConcurrentHashMap常见问题
详解Java中HashMap、HashTable、ConcurrentHashMap常见问题
68 0
|
1月前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
76 2
|
5月前
|
安全 Java
Java多线程编程实践中的常见问题与解决方案
Java多线程编程实践中的常见问题与解决方案
WXM
|
4月前
|
前端开发 JavaScript 小程序
Java人事面常见问题及方法论
Java人事面常见问题及方法论
WXM
50 0
|
4月前
|
安全 Java 开发者
Java多线程编程实践中的常见问题与解决方案
Java多线程编程实践中的常见问题与解决方案
|
4月前
|
设计模式 安全 Java
Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
114 0
|
4月前
|
安全 Java 程序员
Java多线程编程最佳实践与常见问题解析
Java多线程编程最佳实践与常见问题解析
|
4月前
|
Java
解决Java中Socket编程中的常见问题
解决Java中Socket编程中的常见问题
|
5月前
|
Java
Java中的面试常见问题解析
Java中的面试常见问题解析
下一篇
无影云桌面