java面板设计

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

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

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

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

 1 import java.awt.*;
 2 import java.awt.event.*;
 3
 4 import javax.swing.*;
 5
 6
 7 public class outlook extends JFrame implements ActionListener{
 8     public outlook()
 9     {
10         JFrame frm=new JFrame("文本编辑器");
11         frm.setVisible(true);
12
13         frm.setBounds(50, 50, 500, 400);
14         frm.setLayout(new BorderLayout(5,5));
15
16         JPanel areabottom=new JPanel();
17
18         areabottom.setLayout(new FlowLayout(FlowLayout.CENTER,40,10));
19
20         JButton save=new JButton("Save");
21         JButton can=new JButton("Cancel");
22         JButton exit=new JButton("Exit");
23
24         JTextArea t=new JTextArea();
25         JScrollPane mid=new JScrollPane(t,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
26
27         t.setLineWrap(true);
28         t.setWrapStyleWord(true);
29
30         save.setPreferredSize(new Dimension(80,30));
31         can.setPreferredSize(new Dimension(80,30));
32         exit.setPreferredSize(new Dimension(80,30));
33
34         areabottom.add(save);
35         areabottom.add(can);
36         areabottom.add(exit);
37
38         frm.add("South",areabottom);
39         frm.add("Center",mid);
40
41         areabottom.setSize(140, 0);
42
43         can.addActionListener(new MyListener(this));
44
45     }
46     public static void main(String[] args){
47         new outlook();
48     }
49
50     public void actionPerformed(ActionEvent e) {
51
52
53     }
54 }

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

时间: 2024-09-29 23:05:59

java面板设计的相关文章

Java GUI 阅读器之面板设计

主要是模仿记事本这样的面板设计,不过在其中还改进改进 类名:MyNote 主要软件包:java.awt*; javax.swing*; 代码: import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; im

java大作业 KShinglingAlgorithm

wiki上关于KShingling Algorithm(w-shingling)的说明: http://en.wikipedia.org/wiki/W-shingling 摘要: In natural language processing a w-shingling is a set of unique "shingles"—contiguous subsequences of tokens in a document—that can be used to gauge the si

容器设计--MainPanel.java

package cn.curricular.wuziqi.ex02; import java.awt.Color; import java.awt.Graphics; import java.awt.Panel; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JOptionPane; /** * 五子棋的面板设计 * * @author WangJB * @ver

Java多线程学习(吐血超详细总结)

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么要用join方法 七常见线程名词解释 八线程同步 九线程数据传递 本文主要讲了java中多线程的使用方法.线程同步.线程数据传递.线程状态及相应的一些线程函数用法.概述等. 首先讲一下进程和线程

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安

Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor

介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? Java new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start(); 1 2 3 4 5 6 7 new Thread(new

由@NotNull 注解引出的关于Java空指针的控制(转)

Java 小技巧和在java应用避免NullPonintException的最佳方法 在java应用程序中,一个NullPonintException(空指针异常)是最好解决(问题)的方法.同时,空指针也是写健壮的顺畅运行的代码的关键.“预防好过治疗”这句话也同样适用于令人不爽的NullPonintException.通过应用防御性的编码技术和在遵守多个部分之间的约定,你可以再很大程度上避免NullPointException.下面的这些java小技巧可以最小化像!=null这种检查的代码.作为

Java注解(2)-注解处理器(运行时|RetentionPolicy.RUNTIME)

如果没有用来读取注解的工具,那注解将基本没有任何作用,它也不会比注释更有用.读取注解的工具叫作注解处理器.Java提供了两种方式来处理注解:第一种是利用运行时反射机制:另一种是使用Java提供的API来处理编译期的注解. 反射机制方式的注解处理器 仅当定义的注解的@Retention为RUNTIME时,才能够通过运行时的反射机制来处理注解.下面结合例子来说明这种方式的处理方法. Java中的反射API(如java.lang.Class.java.lang.reflect.Field等)都实现了接

jvm系列(一):java类的加载机制

java类的加载机制 原文:http://www.cnblogs.com/ityouknow/p/5603287.html 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口. 类加载器并不需要等到某个