1. JFrame对象一般可以直接向里面添加数据,但是在设置背景颜色时得用:Container f = new JFrame(“test”).getContentPane();
2. pack()是设置窗体大小自适应其内组件,setSize()为设置其显示的大小。
3. 默认关闭窗体JFrame时,是隐藏。要想真退出。请加入setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JFrame.EXIT_ON_CLOSE是一整形常量,值为3。
4. 加载GIF图片:
MediaTracker tracker = new MediaTracker(this);
Image img = new ImageIcon (getClass().getResource(“test.gif”)).getImage():
Tracker.addImage(img,0):
try{
tracker.waitForAll();
}catch(Exception e)
{}
此后就可以对完整的gif进行操作了。
5. 光标移动到组件上给出提示:setToolTipText(”this is tip”);
6. JScrollPane可以通过setVerticalScrollBarPolicy(int policy)
和setHorizontalScrollBarPolicy(int policy)来选择是否显示滚动条。
7.弹出消息框:JOptionPane.showMessageDialog(btn,new String (“test”));
弹出错误提示:JOptionPane.showMessageDialog(null,"错误信息","错误框标题",JOptionPane.ERROR_MESSAGE);
8. 文本输入框右对齐:SetHorizontalAlignment(JTextField.RIGHT);
9. 读取JAR包内资源,应该使用:getClass().getResource();
10. 容器布局为空后——setLayout(null),其内组件应setBounds();
11.内存回收:if(Runtime.getRuntime().freeMemory()<Runtime.getRuntime().totalMemory()/3)
{
System.gc();
}
12. JFrame 窗口不可最大化:setResizable(false);
13. 应用程序和applet小程序共存:直接把applet往jframe里面加就成应用程序。
14. 让窗口居中(屏幕)显示:setLocationRelativeTo(null):
或者用:
Toolkit kit = Toolkit.getDefaultToolkit():
Dimension screenSize = kit.getScreenSize();
f.setLocation((screenSize.Width-f.getWidth())/2, (screenSize.Height-f.getHeight())/2);
15. 选择皮肤感官:
try{
UIManager.setLookAndFeel ( "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
SwingUtilities.updateComponentTreeUI(f);
}
16. 密码框可设setEchoChar(‘#’);或者密码时 pwd = new String(password.getPassword());
17. 用JlayeredPane添加组件时候可以设置深度。
18. 区别单双击事件:
if(e.getClickCount ==1)
{}else if(e.getClickCount ==2){}
19. JAVA2D 中设置虚线:
float [] dash = {2.0f,4.0f};
g2.setStroke(
new BasicStroke(2.0f, BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL,2.0f,dash,2.0f));
20. JAVA2D 中设置字体笔画大小:
Font cf = g.getFont();
Font newf = new Font(cf.getName(),cf.getStyle(),cf.getSize()+20);
g.setFont(newf);
21.让树无图标标签
((DefaultTreeCellRenderer)tree.getCellRenderer()).setOpenIcon(null);
((DefaultTreeCellRenderer)tree.getCellRenderer()).setClosedIcon(null);
((DefaultTreeCellRenderer)tree.getCellRenderer()).setDisabledIcon(null);
((DefaultTreeCellRenderer)tree.getCellRenderer()).setLeafIcon(null);
22.竖着显示滑块
new JSlider(SwingConstants.VERTICAL,min,max,initialValue);
23.通过标尺显示滑块
slider.setMajorTickSpacing(20);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
24.让滑块自动对齐到标尺
slider.setSnapToTicks(true);
25.滑块事件
addChangeListener
ChangeListener -> stateChanged(ChangeEvent event)
26.滑块标尺特殊化
HashtMap map = new HashMap();
map.put(new Integer(0),new JLabel("A"));
slider.setLabel(map);
27.多选单选按钮
JCheckBox 和 JRadioButton 其中单选放入ButtonGroup对象中。
判断是否选中:isSelected()
获取标签用:getText();
事件:ItemListener
方法:itemStateChanged(ItemEvent event)
28.让树一开始就全部展开
expandAll(tree,new TreePath(tree.getModel().getRoot()));
其中有:
public void expandAll (JTree tree,TreePath path)
{
tree.expandPath(path);
Obect parent = path.getLastPathComponent();
TreeModel model = tree.getModel()
if(model ==null)return;
if(model.isLeaf(parent)) return;
int size = model.getChildCount(parent);
for(int i = 0 ;i<size;i++)
{
Object child = model.getChild(parent,i);
expandAll(tree,path.pathByAddingChild(child));
}
}
29.树节点匹配:
TreePath path = tree.getNextMatch(str,0,Positon.Bias.Forward);
if(path !=null)
{
tree.setSelectionPath(path);
}
30.获取树节点
TreeSelectionListener->valueChanged(TreeSelectionEvent e)
TreePath path = e.getPath();
String info = path.getLastPathComponent().toString();
而这里获取到是最后那个选择节点,如成都。
JTree tree = (JTree)e.getSource();
TreePath tp= tree.getPathForLorLocation(e.getPoint().x,e.getPoint().y);
这个PATH是完整的节点名,比如:四川,成都
31.截屏程序核心:
BufferedImage fullScreenImage = robot.createScreenCapture (new Rectangle (
Toolkit.getDefaultToolkit ().getScreenSize ()));
ImageIcon icon = new ImageIcon (fullScreenImage);
利用 fullScreenImage.getSubimage(int x,int y,int w,int h)得到子图象(其中的矩形范围是鼠标拖动事件而得到)
ImageIO.write (fullScreenImage.getSubimage(int x,int y,int w,int h),"png","out.png");
界面上:1.继承JLabel 覆盖起paint方法;
2.JPanel 从(JPanel)Dialog.getContentPane()来,JLabel 添加进JPanel;
3.Dialog设置为屏幕大小、不显示边框等饰物dialog.setUndecorated (true);(JFrame中其实也有这个方法。)
4.设置十字光标,dialog.setCursor (Cursor.getPredefinedCursor (Cursor.CROSSHAIR_CURSOR));
5.设置为模态 dialog.setModal (true);
分享到:
相关推荐
基于swing的本地经验总结系统,帮助程序员作简单的经验管理,非喜勿喷(含源码)。
纯属编程经验,做的不好请勿见笑
有关java设计,编程的一些经验的总结.
本文介绍了酒店客房管理系统的开发过程,详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。 关键词:SWING;MYSQL;信息管理;...
经验汇总 60 1. 初始化 60 2. 三个经常使用的取值函数 60 3. 根据node得到path: 60 4. 根据Path展开到该节点 60 5. 根据path设定该节点选定 61 6. 选中节点的方法 61 7. 滚动到可见位置 61 8. 给JTree添加右键弹出...
本文介绍了酒店客房管理系统的开发过程,详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。 关键词:SWING;MYSQL;信息管理;酒店...
设计模式是一种被广泛接受和验证的面向对象设计经验的总结,可以提供可复用的解决方案,并促进代码的可读性、可维护性和可扩展性。在项目开发后,我们深刻学习设计模式给我们编码带来的方便,具体如下: 在需要确保...
编者结合自己多年来在Java研发和技术指导岗位上的经验,总结和汲取Java最核心的技术和能力,为广大Java爱好者提供更好的系统学习Java知识的方法和方向。 目录: 第一章:Java入门; 第二章:MyEclipse的基本...
在以后的编 程中我会吸取经验,养成认真、严谨的编程习惯。 附:程序清单 1. import javax.swing.JFrame; public class Calculator { public static void main(String[] paramArrayOfString) { CalculatorFrame ...
用JAVA设计这款经典游戏,包括JAVA的技术与多线程的应用,通过Swing组件叠加来分层显示,用时间任务来启动线程。用软件工程的标准,开发方法进行科学的建模。通过数据结构的分析与规划...最后总结经验,书写开发心得。
完全站在没有编程经验读者的角度,手把手教会读者学习Java 配16小时多媒体教学视频,高效、直观 一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、...
完全站在没有编程经验读者的角度,手把手教会读者学习Java 配16小时多媒体教学视频,高效、直观 一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、...
J整合各类学生作业: 1)开发框架包含gui、swing,javaweb等 2)开发语言包含:java、python、ios、android等 3)包含各类作业案例: 学生管理系统、超市管理系统、医院挂号系统、餐饮系统、电影院管理系统、双色球...
《Java JDK 7学习笔记》是作者多年来教学实践的经验总结,汇集了学员在教学过程中遇到的概念、操作、应用或认证考试上的各种问题及解决方案。 《Java JDK 7学习笔记》详细介绍了JVM、JRE、Java SE API、JDK与IDE...
但凡有过项目经验的程序员都知道,项目中最烦人的就是报表,如果想自己轻松点,最好的办法就是选用某个报表工具,既可以灵活定制报表,解决很多编程的烦恼,又减轻了后续维护的工作量,可以把很多工作放给实施人员去...
尤其是由于课程 时间较紧,课上时间老师只是简单给我们讲述了一下Java Swing的基础知识,并没有去深入,而在此次课程设计中大量用到的监听事件的有关知识 需要自己去查标准文档,去网上找相关系料,这无疑对自己是一...
第Ⅰ部分 使 用 Eclipse 第1章 引言 3 1.1 Eclipse作为应用程序开发 工具的宿主...... 4 1.2 不仅仅是工具的宿主,Eclipse 还作为客户端应用程序的 宿主.........1.3 什么是Eclipse?......... 1.3.1 工具与应用程序的...
我也在学习中,就我的学习经验,给出以下小结。(注意:个人观点,仅供参考,欢迎指正。)??1.什么是模式???模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是...
第Ⅰ部分 使 用 Eclipse 第1章 引言 3 1.1 Eclipse作为应用程序开发 工具的宿主...... 4 1.2 不仅仅是工具的宿主,Eclipse 还作为客户端应用程序的 宿主.........1.3 什么是Eclipse?.........