写面板真的是写到吐血,深深感受到什么叫又臭又长,可能是自己用的太烂吧。

关于布局管理器不写一下还是不懂,另外加面板的思想跟html中div的感觉差不多。

发现的一个小彩蛋:用JScrollPane的时候想在其中加入JTextArea必须在newJScrollPane的时候加,用jsp.add(t)是怎么也不会出现的。

还有一个小问题,每次测试打开图形化界面的时候一定要改变一下窗口大小才会刷新界面是为什么?

事件处理还是百思不得其解。

12-20

写了很久其实对事件处理还是一知半解,稍微懂了点匿名监听,上次的上机作业算是完成了,贴上代码。

 import java.awt.*;
import java.awt.event.*;
import java.io.FileWriter;
import java.io.IOException; import javax.swing.*; public class outlook extends JFrame{ JFrame frm=new JFrame("文本编辑器");
JButton save=new JButton("Save");
JButton can=new JButton("Cancel");
JButton exit=new JButton("Exit");
JPanel areabottom=new JPanel();
JTextArea t=new JTextArea();
JScrollPane mid=new JScrollPane(t,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
public outlook()
{ frm.setVisible(true); frm.setBounds(50, 50, 500, 400);
frm.setLayout(new BorderLayout(5,5)); areabottom.setLayout(new FlowLayout(FlowLayout.CENTER,40,10)); t.setLineWrap(true);
t.setWrapStyleWord(true); save.setPreferredSize(new Dimension(80,30));
can.setPreferredSize(new Dimension(80,30));
exit.setPreferredSize(new Dimension(80,30)); areabottom.add(save);
areabottom.add(can);
areabottom.add(exit); frm.add("South",areabottom);
frm.add("Center",mid); areabottom.setSize(140, 0); can.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
t.setText("");
}
}); save.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String s=t.getText();
try {
FileWriter wf=new FileWriter("2.txt");
wf.write(s);
wf.flush();
wf.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
exit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
frm.dispose();
}
});
} public static void main(String[] args){
new outlook();
} }

java面板设计的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. java大作业 KShinglingAlgorithm

    wiki上关于KShingling Algorithm(w-shingling)的说明: http://en.wikipedia.org/wiki/W-shingling 摘要: In natural ...

  3. Java多线程之赛跑游戏

    在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑中,计算机硬件(如CPU.内存.硬盘.网卡.显 ...

  4. Java多线程之赛跑游戏(含生成exe文件)

    在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑中,计算机硬件(如CPU.内存.硬盘.网卡.显 ...

  5. < JAVA - 大作业(2)仿qq即时通讯软件 >

    < JAVA - 大作业(2)仿qq即时通讯软件 > 背景 JAVA上机大作业:设计一个仿qq即时通讯软件 任务简要叙述:设计一款仿QQ的个人用户即时通讯软件,能够实现注册,登陆,与好友聊 ...

  6. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  7. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  8. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  9. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

随机推荐

  1. iOS中Block介绍(一)基础

    ios开发block的使用指南,以及深入理解block的内存管理,也适用于osx开发.讨论范围:block的使用,内存管理,内部实现.不包含的内容:gc arc下的block内存,block在c++中 ...

  2. 获取ubuntu 的root密码,告别sudo

    刚刚开始使用ubuntu的朋友可能知道一个提权命令    sudo 如果你接触过其他的Linux系统的话,你会知道  linux系统有一个最高权限   root.一般用su root,然后输入密码就可 ...

  3. compass安装教程

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  4. Spring配置机制的优缺点 - Annotation vs XML

    转自 http://tianzongqi.iteye.com/blog/1458002 XML配置的优缺点: 优点: XML配置方式进一步降低了耦合,使得应用更加容易扩展,即使对配置文件进一步修改也不 ...

  5. javascript实现的功能--二级联动

    <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" ...

  6. [LeetCode]题解(python):129-Sum Root to Leaf Numbers

    题目来源: https://leetcode.com/problems/sum-root-to-leaf-numbers/ 题意分析: 一棵树,从跟节点到叶子节点比如1->2那么这个叶子代表12 ...

  7. SSL握手流程

    一.SSL是什么? 安全套接字(SSL)协议是Web浏览器和Web服务器之间安全交换信息的协议. SSL介于应用层和TCP层之间,应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层 ...

  8. 用JS画斐波那契螺旋线(黄金螺旋线)

    偶然看到斐波那契螺旋线(黄金螺旋线)的定义及画图方法,试着用JS画了一下,很漂亮,很好玩 具体定义及画法大家查一下就有了,很简单. 以下是代码: <!DOCTYPE html> <h ...

  9. 微软正式公布Visual Studio 2013 Update 3 (2013.3) RTM

     昨天微软的Visual Studio 2013 Update 3(Visual Studio 2013.3)正式公布(RTM)了,做为微软认证金牌合作的葡萄城控件,我们组织力量第一时间进行翻译. ...

  10. C++ Primer的课后规划问题的第八章

    1.写通常需要一个参数(字符串的地址).字符串和打印功能. 只要.假设提供了第二个参数(int种类),而这个参数不0,的次数的函数打印串数量为该功能将被称为(意,字符串的打印次数不等于第二个參数的值. ...