免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1229 | 回复: 0
打印 上一主题 下一主题

图形编程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-02 23:38 |只看该作者 |倒序浏览

7.1 Swing概述
Java1.0 包含一个基本的GUI类库. 叫抽象窗口工具箱(AWT). 它是把具体的图形界面交给不同平台去显式.
但由于不同的平台有差异.所以用这个库写的程序只能用这些平台的公共部分. 所以界面也不漂亮.还有bug.
在1996年. Netscape开发了一个和AWT工作方式完全不同的GUI库. 叫英特网基础类库(IFC). 它把用户
界面元素是直接绘制在空白窗口上. 所以这个库写的程序在各个平台上看起来都一样. Sun和Netscape合作
完善了这种方法. 就是Swing库. 它已是Java基础类(JFC)的一部分. 但它的事件处理模型仍使用Java 1.1
的事件处理模型.
使用Swing库就真正做到了一次编写到处运行. 它虽然比AWT慢一些.但现在的机器跑起来已经不成问题.
所以Swing是用户界面的未来. 应该在程序中使用它.
7.2 创建框架
Java中的顶层窗口(即不是包含在其它窗口中)被称作框架.
在AWT库中对应Frame类. 在Swing中对应JFrame类. JFrame从Frame扩展而来.
它是少数几个不绘制在画布上的Swing组件之一. 所以它的修饰部件(按钮.标题栏.图标等)仍是通过用户的
窗口系统绘制.而不是Swing绘制.
框架是一种容器. 可以容纳其它用户界面组件(如按钮等). 它的继承层次为:
Object
|-Component
    |-Container
       |-JComponent
       |   |-JPanel
       |
       |-Widow
           |-Frame
               |-JFrame


创建框架的代码如下:
import javax.swing.*;
public class SimpleFrameTest {
    public static void main(String[] args) {
        SimpleFrame frame = new SimpleFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //指定关闭框架时的动作.
        frame.show();
    }
}
class SimpleFrame extends JFrame {
    public SimpleFrame() {
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); //缺省时框架大小是0*0
    }
    public static final int DEFAULT_WIDTH = 300;
    public static final int DEFAULT_HEIGHT = 200;
}
其中javax是个Java1.1扩展包. 而不是核心包.
但是在Java2平台上Swing包已经是核心包而不是扩展包了. 只是为了兼容性javax的名字保留了下来.
7.3 给框架定位
得到屏幕大小用Toolket类的静态方法getDefaultToolket(). 如下:
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;
给框架指定一个图标:
Image img = kit.getImage("icon.gif"); //先用Toolkit对象载入图标.
frm.setIconimage(img); //为框架设置一个图标.
给框架定位. 可以指定框架的位置和大小(框架的缺省大小为0*0). 用:
public void setBounds(Rectangle r)   //同时指定位置和大小
public void setLocation(int x, int y) //指定位置. 坐标为父级坐标系.
要把框架设置为最大尺寸.用:
frm.setExtendedState(Frame.MAXIMIZED_BOTH);
这时Frame类中的方法: public void setExtendedState(int state)
java.awt.Component(组件) 类的一些常用方法:
见笔记 19. java.awt 部件 - Java2详解
java.awt.Window(窗口.即Frame类的父类)的常用方法:
void toFront()  //把该窗口显示到其它窗口之前.
void toBack()  //把该窗口
java.awt.Frame类的常用方法:
void setResizeable(boolean b)  //设置是否允许用户缩放框架
void setTitle(String) //设置框架的标题栏
void setIconImage(Image) //设置框架的图标
void setUndecorated(boolean) //设置是否清除对窗口的修饰
boolean isUndecorated()  //返回窗口是否被修饰
int getExtendedState()  //获取窗口的状态(是否最大化等).
void setExtendedState(int state) //设置窗口的状态.
java.awt.Toolkit类的常用方法:
static Toolkit getDefaultToolkit() //返回默认的Toolkit
Dimension getScreenSize()  //获取屏幕大小
Image getImage(String filename)  //加载filename所指定的图像.
7.4 在面板中显示信息
框架JFrame类实际上是组件的容器(可以容纳其它组件).
JFrame中安排了4个窗格. 其中根窗格.布局窗格.透明窗格和内容窗格. 向框架添加组件就是把组件添加到
内容窗格上.
如:
Container contentPane = frm.getContenPane(); //取JFrame的内容窗格对象
Component c = .... ;
contentPane.add(c);
如果框架中只显示一个Swing组件可以用:
JComponent c = .........;
frm.setContentPane(c);
面板JPanel是一个能在其上绘制的表面. 同时也是容器(可以容纳其它组件).
要在JPanel中进行绘制. 需要定义一个类让它扩展JPanel类并覆盖其paintComponent方法:
public void paintComponent(Graphics g) { } //覆盖时其中应调用supper.paintComponent
这样当窗口需要重绘的时候事件处理器会通知组件并执行其paintComponent方法.
但在需要强制重绘屏幕时.你自己不应该调用该方法. 而应该调用repaint方法. repaint会"尽快的"重绘.
注意: 和AWT中不同. Swing中没有了专门的画布(Canvas)类. 而且绘制也不再使用paint方法了.
而且Swing组件使用缓冲进行无抖动绘制.  
7.5 2D图形
从SDK2.0开始. J2SE包含了Java 2D库.
使用Java 2D库要先得到 Graphics2D类的对象. Graphics2DGraphics的子类.
JCompent的paintComponent方法如下:
public void paintComponent(Graphics g) {
    Graphics2D g2 = (Graphics2D) g; //如果使用的是启用了Java 2D库的SDK. 则参数g实际上
                                    //就是Graphics2D对象.
}
绘制形状时. 需要先创建一个实现了Shape接口的类的对象. 例如:
Line2D(直线) Rectangle2D(矩形) Ellipse2D(椭圆)
都是实现了Shape接口的类. 绘制时如下:
Rectangle2D rect = ...;
g2.draw(rect);
7.6 颜色
java.awt.Color类提供了13个标准颜色的常量值如 Color.RED
例如把组件的背景色设置为红色:
p.setBackground(Color.RED);
要定制RGB颜色值. 用Color的构造器:
Color(int r, int g, int b)
使用如
Graphics g = ..
g.setColor
(new Color(0,128,128)); //接着的绘制使用该颜色.
要使颜色变得更亮一点或更暗一点用 brighter() 或 darker().
要用红色填充一个矩形用:
Rectangle2D r = ....
g2.setPaint(Color.RED);
g2.fill(r); //用上边指定的红色填充
7.7 文本和字体
字体就免了. 用的时候再看. 绘制字符串用:
Graphics类的 void drawString(String str, int x, int y)
Graphics2D类的 void drawString(String str, float x, float y)
7.8 图像
要显示图像. 先要读取图像.
读取本地存储的图像.用:
String filename = "...";
Image image = ImageIO.read(new File(filename));
读取网络上的图像文件用:
String filename = "...";
Image image = ImageIO.read(new URL(urlname));
若图像不存在. 则抛出IOException异常.
然后用Graphics的drawImage()方法绘制:
g.drawImage(image, x, y, null);
另外.如果要复制图像(例如用image铺满整个面板就需要复制图像). 用:
g.copy(x, y, imageWidth, imageHeight, x1, x2) //把从(x,y)开始的图像复制到新位置(x1,y1)
在Swing中的组件的绘制都是双缓冲的. 但在AWT中不是. 在AWT中要避免显示时的抖动. 要自己想办法:
Image buffered_image = createImage(width, height);
Graphics bg = buffered_image.getGraphics();
//...  //将图像先绘制在缓冲(buffered_image)上.
g.drawImage(buffered_image, 0, 0, null);  //再将缓冲区复制到屏幕.
bg.dispose();
buffered_image.flush();

注意g.drawImage()函数. 它的第四个参数是一个观察者.
因为当加载图像时. 图像可能在网络上. 加载比较慢. 为了在加载图像的同时让程序继续向下运行. Java
在这里使用的是多线程的机制来并发运行. 这种机制允许我们跟踪图像的获取过程. 所以当图像的大小确定时.
当新的图像块变得可用时. 图像最终加载完毕时. 我们都会得到通知.
其中drawImage()的第四个参数就是我们指定的接收通知的ImageObserver对象.



阅读全文(27次)
/
评论
/
丢小纸条
/ 文件夹:
Java2编程详解

  
19. java.awt 部件
村少 @ 2007-01-12 22:57
19. java.awt 部件 - Java2详解
19.1 使用java.awt构造图形用户界面
awt包提供的部件的继承层次:
部件
|
|-按钮
|-文本部件
|   |-文本域
|   |-文本区
|
|-复选框
|-菜单部件
|   |-菜单
|   |-菜单条
|   |-菜单项
|
|-容器
    |-面板
    |  |-小应用程序
    |
    |-窗口
       |-框架
       |-对话框
19.2 按钮 Button
创建按钮:
有带标签和不带标签两个构造方法
public Button();
public Button(String lable);
设置/读取按钮的标签:
public void setLable(String)
public String getLable()
处理按钮消息
处理Java中的事件有两种办法.
在Java 1.0事件模式中.所有部件都有一个名为action的方法.当部件上有动作时.系统就调用action方法.
但这种事件处理方式不好. 所以已经将 action 方法标记为将要从API中删除的方法.
// 例子: 用action方法处理按钮事件.
import java.applet.*;
import java.awt.*;
public class ButtonApplet extends Applet {
    public void init() {
        add(new Button("Red"));
        add(new Button("Blue"));
    }
    public boolean action(Event evt, Object whatAction) {
        if (!(evt.target instanceof Button)) {
             return false;
        }
        String buttonLabel = (String)whatAction;
        if (buttonLabel == "Red") {
            setBackground(Color.red);
        }
        else if (buttonLabel == "Blue") {
            setBackground(Color.blue);
        }
        repaint();
        return true;
    }
}
另一种事件处理方式是使用Java 1.1版的事件模式. 这是使用监听器和适配器的模式. 如下:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
// 一个操作事件(即语意上的事件)的监听器类.
// 当他监听的对象有事件发生时会通知他. 调用actionPerformed方法.
public class BGSetter extends Object implements ActionListener {
    Component component;
    Color color;
    public BGSetter(Component component, Color color) {
        this.component = component;
        this.color = color;
    }
    public void actionPerformed(ActionEvent evt) {
        component.setBackground(color);
        component.repaint();
    }
}
////////////////////////////////////////////////////////////////////////////
// ActionListener接口
// 其中的ActionListener接口是用于接收操作事件(即语意事件)的侦听器接口。
// 该接口只有一个方法  void actionPerformed(ActionEvent e) .
// 对处理操作事件感兴趣的类可以实现此接口,然后用 addActionListener
// 方法把该监听器对象向某个组件注册。在组件上发生操作事件时,就会调用该监听器对象的
// actionPerformed 方法。 该方法的参数ActionEvent e 是组件上产生的语意事件对象.
// 所谓语意事件是指高级别的事件. 例如按钮的按下事件等. 而不是鼠标单击这样的低级事件.
//////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// ActionEvent类
// public class ActionEvent extends AWTEvent
// 构造器:
//     public ActionEvent(Object source, int id, String command)
//     public ActionEvent(Object source, int id, String command, int modifiers)
//     public ActionEvent(Object source, int id, String command,
//                      long when, int modifiers)
//     其中: source 是发起事件的源对象. id是标识事件的整数. command是与事件相关的命令.
//          modifiers是发生此动作时按下的组合键.  when是发生事件的时间.
// ActionEvent类的其他方法有:
//     public String getActionCommand()  //返回标识此事件命令的字符串
//     public long getWhen()             //返回此事件的时间戳
//     public int getModifiers()         //返回事件发生时按下的组合键
/////////////////////////////////////////////////////////////////////////////
// 创建了按钮后. 向按钮注册一个监听器.
import java.applet.*;
import java.awt.*;
public class Button2Applet extends Applet {
    public void init() {
        Button red = new Button("Red");
        add(red);
        red.addActionListener(new BGSetter(this, Color.red));
        Button blue = new Button("Blue");
        add(blue);
        blue.addActionListener(new BGSetter(this, Color.blue));
    }
}

19.4 标签 Label
创建标签
public Label()    //空标签
public Label(String)  //指定标签上的文字
public Label(String, int) //后边的int参数是对齐方式.如 Label.LEFT是左对齐.
设置/读取标签上的文本:
public void setText(String)
public String getText()
设置/读取标签上文字的对齐方式:
public void setAlignment(int) throws IllegalargumentException
public int getAlignment()

19.5 复选框和单选按钮 Checkbox
复选框和单选按钮很相似. 只是它们一个可以多选.一个只能单选.
单选按钮是复选框的特例.创建的时候把一组复选框放在同一个复选框组中就创建了一套单选按钮.
Checkbox类实现了 ItemSelectable 接口.
///////////////////////////////////////////////////////////////////////////
// ItemSelectable 接口
// 这个接口是"可选择项"的对象的接口. 它声明了下边几个方法:
// Object[] getSelectedObjects()  //返回选定项.如果没有选定的项则返回 null
// void addItemListener(ItemListener l)  //添加"项事件"侦听器l
// void removeItemListener(ItemListener l)  //移除"项事件"侦听器l
///////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// ItemListener接口
// "项事件"侦听器类是自己写的类. 它要实现 java.awt.Event.ItemListener接口.
// 而该接口有一个唯一的方法:
//      void itemStateChanged(ItemEvent)
// 给某个组件添加了该侦听器后. 当用户更改组件产生组件的"项事件"(即选择或取消选择)时. 调用侦听器
// 对象的 itemStateChanged(ItemEvent) 方法. (如果是程序中更改组件的状态.则不发送项事件.)
// 而 itemStateChanged 方法的参数 ItemEvent 就是"项事件"的类.
/////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// ItemEvent类

// ItemEvent也是"语意上的事件". 当用户改变ItemSelectable对象(例如Checkbox)时会产生该事件.
// 然后该事件会被传递到每个注册了的侦听器对象上进行处理.
// ItemEvent类的方法如下:
//     构造方法:
//     ItemEvent(ItemSelectable source, int id, Object item, int stateChange)
//         参数分别为 产生事件的源. 标识事件类型的id. 受该事件影响的项. 是选择/取消选择
//     其它方法:
//     public ItemSelectable getItemSelectable() //返回产生此事件的源对象
//     public Object getItem()       //返回受事件影响的项。
//     public int getStateChange()   //返回状态更改的类型(已选定或已取消选定)。
///////////////////////////////////////////////////////////////////////////////
创建复选框:
public Checkbox() //无标签的复选框
public Checkbox(String label) //带标签的复选框
public Checkbox(String label, boolean state) //带标签和初始状态(true为选中)的复选框
检查/设置复选框的选中状态.
public boolean getState()
public void setState(boolean)
查看/设置复选框的标签.
public String getLabel()
public void setLabel(String label)
监听复选框中的变化.
和按钮的事件处理类似. Checkbox类用下边两个方法添加/删除监听器:
addItemListener(ItemListener)
removeItemListener(ItemListener)

//下边的例子示例了Checkbox事件的处理:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class CheckboxExample extends Applet {
    public void init() {
        Checkbox redBlue = new Checkbox("Red/Blue");
        add(redBlue);
        redBlue.addItemListener( new ItemListener(){ //监听器类是个内制类.
            public void itemStateChanged(ItemEvent evt){ //实现了接口中唯一的方法
                if (evt.getStateChange() == ItemEvent.SELECTED)
                    setColor(Color.red);
                else  
                    setColor(Color.blue);
            }
        } );
    }
    public void setColor(Color color) {
        setBackground(color);
        repaint();
    }
}
创建单选按钮:
要创建单选按钮要先创建复选框组. 复选框组的构造函数为:
public CheckboxGroup()
在用它的对象作参数创建单选按钮:
public Checkbox(String label, boolean initialState, CheckboxGroup group)
public Checkbox(String label, CheckboxGroup group, boolean initialState)
这两个函数就可以创建互斥的单选按钮组. 组中的最后一个初时状态为true的单选按钮会被初始为选择状态.
取得单选按钮的组用:
public CheckboxGroup getCheckboxGroup()
对于复选框组(CheckboxGroup)的对象. 可以调用下边的方法检查/设置组中一个单选按钮是否选中:
public Checkbox getSelectedCheckbox()
void setSelectedCheckbox(Checkbox box)
19.6 选择框 Choice
选择框(就是下拉式列表)也实现了 ItemSelectable 接口.
构造函数:
    Choice()
其它函数:
public int getItemCount()   //返回此 Choice 菜单中项的数量。
public String getItem(int index)   //获得此 Choice 菜单中指定索引上的字符串。
public void add(String item)    //添加一个项。
public void insert(String item, int index)  //将菜单项插入指定位置. 索引从0开始.
public void remove(int position)   //移除指定的项.
public void remove(String item)    //移除第一个item。
                  //如果正被移除的项是目前选定的项,则该选择中的第一个项将成为选定项。
public void removeAll()     //移除所有的项。
public String getSelectedItem()    //获得当前选择的字符串表示形式
public Object[] getSelectedObjects()    //返回包含当前选定项的数组(长度为 1)
public int getSelectedIndex()    //返回当前选定项的索引
public void select(int pos)    //选定指定位置上的项
public void select(String str) //选定str的项. 如果有多个同名的. 则选索引值最小的那个.
public void addItemListener(ItemListener l)   //添加项侦听器
public void removeItemListener(ItemListener l)   //移除项侦听器
public ItemListener[] getItemListeners()   //返回已注册的所有项侦听器的数组
public  T[] getListeners(Class listenerType)  //不懂
protected void processEvent(AWTEvent e)   //不懂
protected void processItemEvent(ItemEvent e)   //不懂
19.7 列表框 List
列表框也实现了ItemSelectable接口. 其中的值可以单选. 也可以多选.
当用户选中或取消选中某项时,AWT 将向 List 送一个 ItemEvent 实例。
当用户双击滚动列表中的某一项时,AWT 会在紧随 ItemEvent 后向 List 发送一个 ActionEvent 实例
当用户选中List的某项,按下 return 键时,AWT 也将生成一个 ActionEvent。
构造方法:
    public List()    //默认构造器. 单选. 可见4行.
    public List(int rows)  // 单选 . 可见 rows 行.
    public List(int rows, boolean multipleMode)  //若multipleMode为true则是多选.
其它方法:
public int getItemCount()   //获取List中的项数
public String getItem(int index)   //获取索引index的项
public String[] getItems()   //获取所有的项
public void add(String item)   //向末尾添加项
public void add(String item, int index)    //向指定位置添加项
public void replaceItem(String newValue, int index) //替换指定位置上的项
public void removeAll()     //移除所有项
public void remove(String item)   //移除该项的第一次出现
public void remove(int position)   //移除指定位置的项
public int getSelectedIndex()    //获取选中的项的索引
public String getSelectedItem()  //获取选中的项
public int[] getSelectedIndexes()  //获取所有选中项的索引数组
public String[] getSelectedItems()   //获取所有选中项的数组
public Object[] getSelectedObjects()  //获取选中项的数组. 声明于ItemSelectable 接口
public void select(int index)   //选择指定索引处的项
public void deselect(int index)   //取消选择指定索引处的项
public boolean isIndexSelected(int index)   //检查是否选定index项
public int getRows()      //获取可视行数
public boolean isMultipleMode()    //是否允许多选?
public void setMultipleMode(boolean b)   // 设置是否允许多选.
public void makeVisible(int index)    //使指定索引处的项可视
public int getVisibleIndex()   //获取上次由 makeVisible 方法使其可视的项的索引
public Dimension getPreferredSize(int rows)  //获取具有指定行数的列表的首选维数
public Dimension getMinimumSize(int rows)   //获取具有指定行数的列表的最少维数
public Dimension getPreferredSize()   //获取此滚动列表的首选大小
public Dimension getMinimumSize()   //获取此滚动列表的最小大小
public void addItemListener(ItemListener l)   //添加"项侦听器"
public void removeItemListener(ItemListener l)   //移除"项侦听器"
public ItemListener[] getItemListeners()  //返回已在此List上注册的所有项侦听器的数组
public void addActionListener(ActionListener l)   //添加 Action侦听器(如双击某项)
public void removeActionListener(ActionListener l)  //移除 Action侦听器
public ActionListener[] getActionListeners()  //返回已注册的所有操作侦听器的数组
public  T[] getListeners(Class listenerType)  //不懂
protected void processEvent(AWTEvent e)  //不懂
protected void processItemEvent(ItemEvent e)   //不懂
protected void processActionEvent(ActionEvent e)   //不懂

19.8 文本域和文本区 TextField 和 TextArea
即单行文本和多行文本. 两个类都派生自 TextComponent类.
TextComponent类中的方法如下:
public void enableInputMethods(boolean enable)   //启用或禁用此方法的输入方法支持
public InputMethodRequests getInputMethodRequests()  //获得输入方法请求处理程序
public void setText(String t)  //设置文本。
public String getText()   //返回文本
public boolean isEditable()   //是否可编辑?
public void setEditable(boolean b)  //设置是否可编辑
public Color getBackground()    //获得此文本组件的背景色
public void setBackground(Color c) //设置此文本组件的背景色
public int getSelectionStart()  //获取选定文本的开始位置
public void setSelectionStart(int selectionStart) //设置选定文本的开始位置
public int getSelectionEnd()  //获取选定文本的结束位置
public void setSelectionEnd(int selectionEnd)  //设置选定文本的结束位置
public void select(int selectionStart, int selectionEnd) //选择一段文本
public void selectAll()      //选择所有文本
public void setCaretPosition(int position)  //设置文本插入符的位置
public int getCaretPosition()   //返回文本插入符的位置
public void addTextListener(TextListener l)   //添加文本事件侦听器
public void removeTextListener(TextListener l)  //移除指定的文本事件侦听器
public TextListener[] getTextListeners()  //返回所有已注册文本侦听器的数组
public  T[] getListeners(Class listenerType) //不懂
protected void processEvent(AWTEvent e) //不懂
protected void processTextEvent(TextEvent e)   //不懂
文本域
创建文本域(TextField)
    public TextField()
    public TextField(String text)  //指定初始文本
    public TextField(int columns)  //指定列数. 列是近似平均字符宽度.与平台有关.
    public TextField(String text, int columns)  //同时指定二者.
其它方法:
public char getEchoChar()  //获取回显字符(输入密码时显示的). 若为0则正常显示用户输入.
public void setEchoChar(char c)   //设置此文本字段的回送字符
public void setText(String t)    //设置文本
public boolean echoCharIsSet()   //是否有一个回送字符集?
public int getColumns()   //获取列数
public void setColumns(int columns)   //设置列数
public Dimension getPreferredSize(int columns)  //获取具有指定列数的文本字段的首选大小
public Dimension getPreferredSize()   //获取此文本字段的首选大小
public Dimension getMinimumSize(int columns)  //获取具有指定列数的文本字段的最小尺寸
public Dimension getMinimumSize()   //获取此文本字段的最小尺寸
public void addActionListener(ActionListener l)  //添加Action侦听器(按回车键产生事件)
public void removeActionListener(ActionListener l)  //移除Action侦听器
public ActionListener[] getActionListeners()   //返回已注册的Action侦听器的数组
public  T[] getListeners(Class listenerType) //不懂
protected void processEvent(AWTEvent e) //不懂
protected void processActionEvent(ActionEvent e)  //不懂

文本区
构造方法:
public TextArea()   //缺省的.初始时没有文本. 带垂直/水平滚动条.
public TextArea(String text)
public TextArea(int rows, int columns)  //指定行数和列数
public TextArea(String text, int rows, int columns)
public TextArea(String text, int rows, int columns, int scrollbars)
其中: text是初始文本. rows/columns是行列数. scrollbars是指定显示什么滚动条.可以使用常量:
      SCROLLBARS_BOTH, SCROLLBARS_VERTICAL_ONLY,
      SCROLLBARS_HORIZONTAL_ONLY, SCROLLBARS_NONE
其它方法:
public void insert(String str, int pos) //指定位置插入指定文本
public void append(String str)   //将str追加到文本区的当前文本
public void replaceRange(String str, int start, int end)   //替换某区间的文本
public int getRows()            //这4个函数查看/设置行列数
public void setRows(int rows)
public int getColumns()
public void setColumns(int columns)   
public int getScrollbarVisibility()     //查看使用何种滚动条的枚举值
public Dimension getPreferredSize(int rows, int columns) //返回具有指定行列数的首选大小
public Dimension getPreferredSize() &

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/33043/showart_290769.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP