swing 的几个例子

JTextArea 是一个显示纯文本的多行区域。它作为一个轻量级组件,提供与 java.awt.TextArea 类的源兼容性。

void setLineWrap(boolean wrap) : 设置文本区的换行策略
boolean getLineWrap() : 获取文本区的换行策略

一个例子:

import javax.swing.JTextArea;

public class TestFrame extends JFrame{

public static void main(String[] args) {
TestFrame frame = new TestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}
private JTextArea jta = new JTextArea(8,40);
//滚动条,滚动条加给谁,我们就需要把那个组件作为滚动条的参数
private JScrollPane jsp = new JScrollPane(jta);
JButton button1 = new JButton(”insert”);
JButton button2 = new JButton(”Wrap”);
JPanel buttonPanel = new JPanel();
public TestFrame(){
setSize(300,300);
setTitle(”TextAreaTest”);
setLayout(new BorderLayout());
add(jsp,BorderLayout.CENTER);
buttonPanel.add(button1);
buttonPanel.add(button2);
add(buttonPanel,BorderLayout.SOUTH);
button1.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jta.append(”hellowordhellowlrldhelloworld”);

}
});
button2.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
boolean wrap = jta.getLineWrap();
jta.setLineWrap(!wrap);
String str = wrap==true ? “wrap” : “no wrap”;
button2.setText(str);

}
});
}

}

=====================================================================

Document接口 及 DocumentListener接口
Document 是一个作为 swing 文本组件模型的文本容器。观察者使用DocumentListener接口注册以接收文本文档的更改通知。

import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;

public class TestFrame2 extends JFrame{

public static void main(String[] args) {

TestFrame2 frame = new TestFrame2();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}
JTextField jt1 = new JTextField(10);
public TestFrame2(){
setSize(300,300);
setLayout(new FlowLayout());
add(jt1);
Document doc = jt1.getDocument();
doc.addDocumentListener(new DocumentListener() {

@Override
public void removeUpdate(DocumentEvent e) {

System.out.println(jt1.getText());

}

@Override
public void insertUpdate(DocumentEvent e) {

System.out.println(jt1.getText());
}

@Override
public void changedUpdate(DocumentEvent e) {

//文档属性发生改变 ?
}
});
}

}

==============================================================

给窗体添加菜单,及菜单项

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class TestFrame3 extends JFrame{

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestFrame3 frame = new TestFrame3();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}
//只要能加ActionListener监听器的,我们都可以这样处理
Action action = new AbstractAction(”确定”) {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub

System.out.println(”Hello”);

}

};
Action action1 = new AbstractAction(”") {

@Override
public void actionPerformed(ActionEvent e) {

System.out.println(”save as….”);
}
};
JMenuBar mb = new JMenuBar();
JMenu menu = new JMenu(”file”);
JMenu menu1 = new JMenu(”Source”);
//把菜单项加到菜单上,把菜单加到菜单栏上
private JButton button = new JButton(action);
public TestFrame3(){
setSize(300,300);
action.putValue(Action.MNEMONIC_KEY, new Integer(’A'));
action.putValue(Action.SHORT_DESCRIPTION, “World”);
action1.putValue(Action.SHORT_DESCRIPTION, “文件另存为”);
action1.putValue(Action.MNEMONIC_KEY,new Integer(’S'));
action1.putValue(Action.SMALL_ICON, new ImageIcon(”D:\\Image\\9.gif”));
this.setLayout(new FlowLayout());

JMenuItem j1 = new JMenuItem(”open”);
j1.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {

System.out.println(”Open”);

}
});
JMenuItem j2 = new JMenuItem(”save”);
JMenuItem jt3 = new JMenuItem(”add import”);
menu.add(j1);
menu.add(j2);
menu.add(action1);
mb.add(menu);
menu1.add(jt3);
mb.add(menu1);
setJMenuBar(mb);
add(button);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值