博文

SwingSpeciality用法(2005-09-22 17:22:00)

摘要:/*此程序演示Swing的特性  JComponent类的特殊功能又分为:   1) 边框设置:使用setBorder()方法可以设置组件外围的边框,使用一个EmptyBorder对象能在组件周围留出空白。   2) 双缓冲区:使用双缓冲技术能改进频繁变化的组件的显示效果。与AWT组件不同,JComponent组件默认双缓冲区,不必自己重写代码。如果想关闭双缓冲区,可以在组件上施加setDoubleBuffered(false)方法。   3) 提示信息:使用setTooltipText()方法,为组件设置对用户有帮助的提示信息。   4) 键盘导航:使用registerKeyboardAction( ) 方法,能使用户用键盘代替鼠标来驱动组件。JComponent类的子类AbstractButton还提供了便利的方法--用setMnemonic( )方法指明一个字符,通过这个字符和一个当前L&F的特殊修饰共同激活按钮动作。   5) 可插入L&F:每个Jcomponent对象有一个相应的ComponentUI对象,为它完成所有的绘画、事件处理、决定尺寸大小等工作。 ComponentUI对象依赖当前使用的L&F,用UIManager.setLookAndFeel( )方法可以设置需要的L&F.   6) 支持布局:通过设置组件最大、最小、推荐尺寸的方法和设置X、Y对齐参数值的方法能指定布局管理器的约束条件,为布局提供支持。  另外还有菜单的使用方法*/import java.awt.*;import java.io.File;import java.awt.event.*;import javax.swing.*;import javax.swing.event.MenuKeyEvent;import javax.swing.event.MenuKeyListener; public class SwingSpecialityDemo{ public static void main(String args[]) {  try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}ca......

阅读全文(3944) | 评论:0

PrintStream用法(2005-09-22 17:21:00)

摘要:import java.io.*; public class PrintStreamDemo{ public static void main(String[] args)throws IOException  {  try  {   FileInputStream fis = new FileInputStream (FileDescriptor.in);//指定输入流为键盘   PrintStream ps = new PrintStream (new FileOutputStream ("D://testfile//file.log"), true);   int is;   while ((is=fis.read()) != -1)ps.println((char)is);   fis.close();   ps.close();  }  catch(FileNotFoundException e)  {   System.out.println(e);  }  catch(IOException e)  {   System.out.println(e);  }  catch(Exception e)  {   System.out.println(e);  } }}......

阅读全文(6761) | 评论:0

OutputStreamWriter用法(2005-09-22 17:21:00)

摘要:example2:OutputStreamWriterDemo.java/************************************************************************以FileOutputStreamDemo.java为摸板,按回车后再按Ctrl+z结束输入,可输入中文************************************************************************/import java.io.*; public class OutputStreamWriterDemo{ public static void main(String[] args)throws IOException  {  try  {   InputStreamReader isr = new InputStreamReader (new FileInputStream (FileDescriptor.in));   OutputStreamWriter osw = new OutputStreamWriter (new FileOutputStream ("D://testfile//output.log"));   int is;   while ((is=isr.read()) != -1)osw.write(is);   isr.close();   osw.close();      }  catch(FileNotFoundException e)  {   System.out.println(e);  }  catch(IOException e)  {   System.out.println(e);  }&nbs......

阅读全文(5304) | 评论:1

Layout用法(2005-09-22 17:20:00)

摘要:import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import javax.swing.ImageIcon;import javax.swing.Box;import javax.swing.SwingConstants;import javax.swing.BoxLayout;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTabbedPane;import javax.swing.JButton;import java.awt.event.*; public class LayoutDemo{ public static void main(String[] args) {  JFrame frame = new JFrame ("Layout Manager Demo");  frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);    JTabbedPane tp = new JTabbedPane();  tp.addTab ("Flow",new FlowPanel());  tp.addTab ("Border",new BorderPanel());  tp.addTab ("Grid",new GridPanel());  tp.addTab ("Box",new BoxPanel());    frame.setContentPane(tp);  frame.pack();  frame.show(); }} //定义流式布局管理器class FlowPanel exte......

阅读全文(5055) | 评论:0

JTree用法(2005-09-22 17:20:00)

摘要:import java.awt.Dimension;import java.awt.Color;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTree;import javax.swing.BoxLayout;import javax.swing.tree.TreePath;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.DefaultTreeModel;/*JTree的构造函数:JTree()JTree(Hashtable value)JTree(Object[] value)//只有这个构造函数可以创建多个根结点JTree(TreeModel newModel)JTree(TreeNode root)JTree(TreeNode root, boolean asksAllowsChildren)JTree(Vector value) */public class JTreeDemo{ public static void main (String[] args) {   //构造函数:JTree()  JTree example1 = new JTree();       //构造函数:JTree(Object[] value)  Object[] letters= {"a", "b", "c", "d", "e"};  JTree example2 = new JTree (letters);     //构造函数:JTree(TreeNode root)(TreeNode空)  //用空结点创建树  DefaultMutableTreeNode node1 = new DefaultMutableTreeNode();//定义树结点  JTree example......

阅读全文(6149) | 评论:0

JTextArea用法(2005-09-22 17:19:00)

摘要:import java.awt.Color;import java.awt.Font;import java.awt.Point;import java.awt.Dimension;import javax.swing.BorderFactory;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JFrame;import javax.swing.ImageIcon;public class JTextAreaDemo{ public static void main(String[] args) {  try{javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());}catch(Exception e){}  JTextArea ta = new JTextArea(20,20);  ta.setBorder (BorderFactory.createEmptyBorder (1,1,1,5));  ta.setColumns (0); ta.setRows (0);//相当于设置文本区组件的初始大小,并不是说一行只能写0个字符;  ta.setLineWrap (false);//设置为禁止自动换行,初始值为false.  ta.setTabSize (4);//设置制表符的大小为8个字符,初始值为4个字符  ta.setWrapStyleWord (true);  ta.setBackground (Color.white);//文本区背景  ta.setForeground (Color.red);//字体颜色  ta.setFont (new Font ("SansSerif", Font.PLAIN, 14));      JScroll......

阅读全文(7032) | 评论:2

JTable用法(2005-09-22 17:19:00)

摘要:import java.awt.Dimension;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JPanel;import javax.swing.JTable;import java.awt.Color;import java.awt.GridLayout;import javax.swing.table.TableColumn; public class JTableDemo{ public static void main (String[] args) {  /*  构造函数有很多下面先介绍几个:  JTable()  JTable(int numRows, int numColumns)  JTable(Object[][] rowData, Object[] columnNames)  */    JTable example1 = new JTable ();//看不到但存在    JTable example2 = new JTable (8, 6);      final Object[] columnNames = {"姓名", "性别", "家庭地址",//列名最好用final修饰   "电话号码", "生日", "工作", "收入", "婚姻状况","恋爱状况"};  Object[][] rowData = {     {"ddd", "男", "江苏南京", "1378313210", "03/24/1985", "学生", "寄生中", "未婚", "没"},     {"eee", "女", "江苏南京", "13645181705", "xx/xx/1985", "家教", "未知", "未婚", "好象没"},......

阅读全文(7009) | 评论:0

JTabbedPane用法(2005-09-22 17:18:00)

摘要:import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import javax.swing.BoxLayout;import javax.swing.JTabbedPane;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.ImageIcon;import javax.swing.UIManager; class TabPane extends JTabbedPane{ JPanel panel1, panel2, panel3, panel4, panel5;  public TabPane () {  //super (a, b);  panel1 = new JPanel ();  panel1.add(new JButton());  panel2 = new JPanel (new BorderLayout());  panel3 = new JPanel (true);  panel4 = new JPanel (new GridLayout(2,3));  panel5 = new JPanel (new FlowLayout(FlowLayout.LEFT, 1, 0));  //以上是JPanel的四种构造方法  //窗体布局器有四种设置:  //new BorderLayout () or new BorderLayout (int hgap, int vgap)  //new GridLayout () or new GridLayout (int rows, int cols) new GridLayout (int rows, int ......

阅读全文(12131) | 评论:0

JTabbeld用法(2005-09-18 17:23:00)

摘要:import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import javax.swing.BoxLayout;import javax.swing.JTabbedPane;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.ImageIcon;import javax.swing.UIManager; class TabPane extends JTabbedPane{ JPanel panel1, panel2, panel3, panel4, panel5;  public TabPane () {  //super (a, b);  panel1 = new JPanel ();  panel1.add(new JButton());  panel2 = new JPanel (new BorderLayout());  panel3 = new JPanel (true);  panel4 = new JPanel (new GridLayout(2,3));  panel5 = new JPanel (new FlowLayout(FlowLayout.LEFT, 1, 0));  //以上是JPanel的四种构造方法  //窗体布局器有四种设置:  //new BorderLayout () or new BorderLayout (int hgap, int vgap)  //new GridLayout () or new GridLayout (int rows, int cols) new GridLayout (int rows, int ......

阅读全文(2578) | 评论:0

JSplitPane用法(2005-09-18 17:23:00)

摘要:import javax.swing.*;import java.awt.Dimension;public class JSplitPaneDemo{ public static void main (String[] args) {    JButton button = new JButton ("button");  JLabel label = new JLabel ("label");    JSplitPane splitPane = new JSplitPane ();  splitPane.setOneTouchExpandable (true);//是该分隔面板的分隔条显示出箭头  splitPane.setContinuousLayout (true);  splitPane.setPreferredSize (new Dimension (500,600));//设置大小  splitPane.setOrientation (JSplitPane.HORIZONTAL_SPLIT);  splitPane.setLeftComponent (button);//same as: splitPane.setTopComponent(button);  splitPane.setRightComponent (label);//same as: splitPane.setBottomComponent(label);  splitPane.setDividerSize (5);//设置分隔条的粗细  splitPane.setDividerLocation(200);//设置分隔条的位置,基于setPreferredSize方法中的值,           //此处为200/500,大概在中间靠左   JFrame frame = new JF......

阅读全文(7621) | 评论:3