java TextArea什么意思?java的JTextArea 和 TextArea 到底有什么根本的区别。
大家好,关于java TextArea什么意思很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于java的JTextArea 和 TextArea 到底有什么根本的区别。的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
java的JTextArea 和 TextArea 到底有什么根本的区别。
java的JTextArea和 TextArea根本的区别如下:
1、TextArea是Java 1.0中的一部分,它链接到/使用本地OS TextArea组件(现代操作系统都内置的GUI工具包是这样),但是是有问题的,喜欢的java.awt许多其他的事情,在跨平台的兼容性方面。
2、JTextArea是swing的一部分。该项目之后,像文本区域同行组件显著问题的发展,提供了100%的Java GUI解决方案,这将是100%跨平台。
3、老的AWT组件都是线程安全的,而Swing组件都不是线程安全的。swing组件应该仅由UI线程进行修改。
java SWT点击button事件 textarea字体局部颜色变化
//刚解决的,给你贴上看看吧、、、
package editor;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JTextPane;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyleContext;
import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class Editor{
public static void main(String[] args){
final Display display= Display.getDefault();
final Shell shell= new Shell();
shell.setSize(800, 600);
shell.setText("SWT_AWT_Swing Bridge");
//------------------新插入的界面核心代码----------//
shell.setLayout(null);
Composite comp= new Composite(shell, SWT.EMBEDDED);//SWT.EMBEDDED必须
comp.setSize(800, 600);
comp.setLocation(0,0);
final java.awt.Frame frame= SWT_AWT.new_Frame(comp);//只能放Frame不能放JFrame
//*******************现在frame里面可以任意放AWT和Swing中的组件*************//
frame.setLayout(null);
final JTextPane editorPane= new JTextPane();//实例化一个文本编辑的控件
editorPane.setSize(800, 500);
editorPane.setLocation(0, 100);
final JButton button= new JButton("Change");
button.setSize(100,100);
button.setLocation(0, 0);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JColorChooser colorChooser= new JColorChooser();//根据所选颜色进行设置
Color color= colorChooser.showDialog(null,"字体颜色", Color.BLACK);//得到所选颜色
Document document= editorPane.getDocument();//得到编辑器中的文档
StyleContext sc= StyleContext.getDefaultStyleContext();//添加一个可以设置样式的类
AttributeSet aset= sc.addAttribute(SimpleAttributeSet.EMPTY,
StyleConstants.Foreground, color);//为所添加的样式类添加字体颜色
Font font= new Font("隶书", Font.BOLD, 30);
aset= sc.addAttribute(aset, StyleConstants.Family,
font.getFamily());//为添加的样式类添加字体
aset= sc.addAttribute(aset, StyleConstants.FontSize, 30);//设置字体的大小
try{
int start= editorPane.getSelectionStart();
int end= editorPane.getSelectionEnd();
String str= document.getText(start, end- start);
document.remove(start, end- start);//由于没找到直接设置所选字的方法,只有先移除原来的字符串
document.insertString(start, str, aset);//重新插入字符串,并按新设置的样式进行插入
} catch(Exception exc){
exc.printStackTrace();
}
}
});
frame.add(editorPane);
frame.add(button);
//*****************************************************************//
//------------------END------------------------//
shell.layout();
shell.open();
while(!shell.isDisposed()){
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
java中JTextArea中的参数表示什么意思
两个参数分别表示行和列;
JTextArea是多行文本容器,可以实现对文本的自动换行。
用setText(String text)方法向JTextArea内写入文字,再用getText方法可以得到这里的文字。
setLineWrap(true)方法为自动换行,既当文字比控件的宽度还长时会自动换行。
setCaretPosition(0)将光标定往到容器的第一个字符处,这个方法一般是当读取大量的文字后能让容器从头开始显示文字,否则容器会将光标定位在最后一个个字符处,显示的当然也是文字的未尾。
Java中的actionlistener是什么意思,有什么作用,详细点为好!
actionlistener字面上理解就是动作监听器。
它是一个接口,在实现此接口的类中,你可以给需要关注其动作的组件(如Button)添加监听器(addActionListener(this);),之后在事件处理方法(public void actionPerformed(ActionEvent event){})中,对每个事件进行不同处理。
给你个例子吧,是我自己写的一个记事本:
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
public class MainClass extends JFrame implements ActionListener{
int width= 500,height= 400;
JPanel panel;
JMenuBar bar;
JMenu fileMenu,editMenu,helpMenu;
JMenuItem打开O,新建N,保存S,另存A,剪切T,复制C,粘贴P,关于A;
JTextArea textArea= null;
File tempFile= null;
public MainClass(){//构造方法
setTitle("TextEdit");
setSize(width,height);
panel=(JPanel)getContentPane();
bar= new JMenuBar();
fileMenu= new JMenu("文件F");
fileMenu.setMnemonic('F');
editMenu= new JMenu("编辑E");
editMenu.setMnemonic('E');
helpMenu= new JMenu("帮助H");
helpMenu.setMnemonic('H');
打开O= new JMenuItem("打开O");
打开O.setMnemonic('O');
新建N= new JMenuItem("新建N");
新建N.setMnemonic('N');
保存S= new JMenuItem("保存S");
保存S.setMnemonic('S');
另存A= new JMenuItem("另存A");
另存A.setMnemonic('A');
剪切T= new JMenuItem("剪切C");
剪切T.setMnemonic('t');
复制C= new JMenuItem("复制C");
复制C.setMnemonic('C');
粘贴P= new JMenuItem("粘贴P");
粘贴P.setMnemonic('P');
关于A= new JMenuItem("关于A");
关于A.setMnemonic('A');
fileMenu.add(打开O);
fileMenu.add(新建N);
fileMenu.add(保存S);
fileMenu.add(另存A);
bar.add(fileMenu);
editMenu.add(剪切T);
editMenu.add(复制C);
editMenu.add(粘贴P);
bar.add(editMenu);
helpMenu.add(关于A);
bar.add(helpMenu);
textArea= new JTextArea();
panel.add("North",bar);
panel.add("Center", textArea);
打开O.addActionListener(this);
新建N.addActionListener(this);
保存S.addActionListener(this);
另存A.addActionListener(this);
剪切T.addActionListener(this);
复制C.addActionListener(this);
粘贴P.addActionListener(this);
关于A.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent event){//处理事件
if(event.getSource()==打开O){//处理打开
JFileChooser jfc= new JFileChooser();
jfc.showOpenDialog(panel);
tempFile= jfc.getSelectedFile();
FileReader fis;
try{
fis= new FileReader(tempFile);
textArea.read(fis,null);
textArea.setEditable(true);
}catch(Exception ex){ex.printStackTrace();}
}
if(event.getSource()==新建N){//处理新建
textArea.setEditable(true);
textArea.setText(null);
}
if(event.getSource()==保存S){//处理保存
if(tempFile== null){
JFileChooser jfc= new JFileChooser();
jfc.showSaveDialog(panel);
tempFile= jfc.getSelectedFile();
try{
FileWriter fos= new FileWriter(tempFile);
textArea.write(fos);
}catch(Exception ex){ex.printStackTrace();}
}
else{
try{
FileWriter fos= new FileWriter(tempFile);
textArea.write(fos);
}catch(Exception ex){ex.printStackTrace();}
}
}
if(event.getSource()==另存A){//处理另存
JFileChooser jfc= new JFileChooser();
jfc.showSaveDialog(panel);
tempFile= jfc.getSelectedFile();
try{
FileWriter fos= new FileWriter(tempFile);
textArea.write(fos);
}catch(Exception ex){ex.printStackTrace();}
}
if(event.getSource()==剪切T){//处理剪切
textArea.cut();
}
if(event.getSource()==复制C){//处理复制
textArea.copy();
}
if(event.getSource()==粘贴P){//处理粘贴
textArea.paste();
}
if(event.getSource()==关于A){//处理关于
textArea.setText("Manifest-Version: 1.0\n"+
"Created-By: Libra_JL\n"+
"QQ: 254791521\n");
textArea.setEditable(false);
panel.validate();
validate();
}
}
public static void main(String []args){//主函数
new MainClass();
}
}
关于java TextArea什么意思,java的JTextArea 和 TextArea 到底有什么根本的区别。的介绍到此结束,希望对大家有所帮助。