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库构建的一个桌面应用,旨在帮助程序员有效地管理和检索个人的工作经验。它涉及到了Swing的基本组件、事件处理机制、界面定制以及数据存储等多个方面,是学习...
通过阅读博客文章“https://yixinhu.iteye.com/blog/1703660”,我们可以获取更多的实践经验和技巧,比如如何将日期选择器集成到现有的Swing应用中,以及在实际开发中可能遇到的问题和解决方案。 总的来说,Swing...
- **实用的技巧与警告**:书中包含了大量的实用技巧和警告,这些都是基于作者多年实践经验总结而来的,可以帮助读者避免常见的陷阱和问题,提高开发效率。 - **非平凡的例子**:与许多其他教程或书籍相比,本书提供...
### Java教学:Swing的使用详解 ...无论是初学者还是经验丰富的开发者,都可以利用Swing构建出功能齐全、美观大方的桌面应用。通过对Swing组件的学习和实践,开发者可以更好地掌握GUI编程的技巧,提高开发效率。
总结,"完整版的Java Swing 教务系统"结合了Swing提供的丰富组件和强大的功能,构建了一个实用的教育管理工具。开发者通过熟练运用Swing,实现了用户友好的界面,高效的数据管理,并且可能还考虑到了系统扩展性和...
### Eclipse-Swing编程环境搭建详解 #### 知识点一:Eclipse Helios与插件安装 在构建基于Swing的Java图形用户界面时,选择...无论是对于初学者还是有经验的开发者,这样的环境都将为Swing应用的开发带来极大的便利。
总结来说,Swing可视化插件是Eclipse平台上的一个强大工具,它将Swing组件和Eclipse的集成开发环境优势结合,使得Java GUI开发变得更加直观和高效。通过拖放操作、事件处理和代码生成等功能,开发者可以专注于应用的...
### Swingweb 开发知识点概述 #### 1. 关于 Swingweb Swingweb 是一种用于构建基于 Java 的 Web 应用程序的技术框架。它结合了 Java Swing 的界面...无论是初学者还是有经验的开发者,都可以从 Swingweb 中获益匪浅。
总结起来,Java Swing 是一个强大的GUI工具包,它为开发者提供了构建复杂桌面应用程序所需的所有元素,并且具有高度的可定制性和跨平台性。无论你是初学者还是有经验的开发者,都能通过Java Swing 创建出功能丰富、...
总结来说,Java Swing版的网吧计费管理系统是一个综合性的应用,它涵盖了GUI设计、数据库操作、事件处理和业务逻辑等多个方面,对于Java初学者和开发者来说,都是一个宝贵的实践平台。通过这个项目,不仅可以掌握...
总结一下,Swing Eclipse可视化插件是一个强大的辅助工具,通过图形化界面来简化Swing应用的UI设计。安装过程简单,只需将`.jar`文件复制到Eclipse的插件目录,重启后即可开始享受它带来的便利。无论是新手还是专家...
无论是初学者还是有经验的开发者,都能从中获得实用的知识和技巧,帮助他们在Java平台上构建功能强大、用户友好的桌面应用程序。通过学习本书,读者将能够掌握Swing的精髓,开启图形用户界面设计的新篇章。
总结起来,这个项目涵盖了Java Swing的GUI设计,JDBC数据库连接,特别是JTable组件的使用及其分页功能。对于初学者来说,这是一个很好的实践项目,能够深入理解Java桌面应用的开发流程和数据库操作。而对于有经验的...
博文链接中的内容可能详细探讨了Swing组件属性设置的一些实践经验和注意事项,虽然具体细节无法直接获取,但我们可以根据一般经验来讨论这个主题。 1. **组件实例化**:首先,你需要创建组件实例,如JButton、...
6. 结果与总结:展示系统的最终效果,对项目进行总结,提出改进意见和未来展望。 通过这个项目,学习者不仅可以掌握Java编程和Swing GUI开发的基本技能,还能了解到数据库管理、数据访问以及软件工程实践的相关知识...
实验总结部分表达了作者通过实践学习Android软件设计的经验,以及对未来项目设计的信心。 在不断练习和深化对Android系统和Java Swing的理解后,开发者可以逐步增加更多功能,如多摄像头支持、云存储、人脸识别、...
### Swing:Java图形用户界面开发宝典 #### 关于JFC和Swing JFC(Java Foundation Classes)和Swing是Java平台上的...无论是初学者还是有经验的开发人员,Swing都提供了足够的灵活性和深度,以满足不同层次的需求。
- **总结**:本书全面介绍了 Java Swing 的各个方面,不仅适合初学者入门学习,也适合有经验的开发者深入探索。 - **展望**:虽然近年来 JavaFX 和其他现代 GUI 框架逐渐兴起,但 Swing 仍然因其成熟稳定、功能...