Java中 单选按钮、复选按钮、文本框、文本域、列表、标签,都是什么啊,我知道文本域是TextArea

Java中 单选按钮、复选按钮、文本框、文本域、列表、标签,都是什么啊,我知道文本域是TextArea,第1张

单选按钮、复选按钮、文本框、文本域、列表、标签分别为:
JRadioButton JCheckBox JTextArea JTextField JList JLabel 这些是swing中的组件(比awt好看)

CheckBox TextArea TextField List Label 这些是awt中的组件,awt中我没有找到RadioButton

java中JScrollPane 通常搭配JTable或者JTextArea使用

搭配JTextArea时,把文本域放入到JScrollPane 中,当文本超过文本域时可以拖动JScrollPane 的滚动条方便的查看更多数据

搭配JTabel时,把表格放到JScrollPane 中,除了可以看到更多的数据, 还能显示出表格的列标题

效果图

具体代码

import javaawtBorderLayout;
import javaawtGridLayout;
import javaawtevent;
import javaxswing;
public class FrameDemo extends JFrame {
JTable jtb;
JTextArea jta;
 FrameDemo() {
String[] title = {"name","interest"};
String[][] data= {
{"张三","羽毛球"},
{"李四","乒乓球"},
{"张三","羽毛球"},
{"李四","乒乓球"},
{"张三","羽毛球"},
{"李四","乒乓球"},
{"张三","羽毛球"},
{"李四","乒乓球"}
};
jtb = new JTable(data,title);

JScrollPane jsp = new JScrollPane(jtb);



jta = new JTextArea(5,5);
jtasetText("床前明月光");
jtasetLineWrap(true);//自动切换到下一行
JScrollPane jsp2 = new JScrollPane(jta,JScrollPaneVERTICAL_SCROLLBAR_ALWAYS,JScrollPaneHORIZONTAL_SCROLLBAR_NEVER);
//参数1,表示组件文本域
//参数2,垂直滚动条一直显示
//参数3,水平滚动条从不显示

JPanel jpc = new JPanel(new GridLayout(1, 2));
jpcadd(jsp);
jpcadd(jsp2);
add(jpc);


JPanel jp = new JPanel();
JButton jb = new JButton("确定");
jpadd(jb);

add(jp,BorderLayoutSOUTH);
// 窗口属性的设置
setTitle("表格窗口");// 标题
setSize(242,170);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new FrameDemo()setVisible(true);// 创建窗口实例, 并让窗口可见
}
}

FileInputStrean fis = new FileInputStream("C:\\1txt");
byte b = new byte[128];
int length = 0;
String text = "";
while((length = fisread(b)) != -1) {
text += new String(b,0,length);
}
jTextArea1setText(text);

lz  你好

貌似JTextArea不行

用JTextField吧  具体用法如下:

JTextField jt = new JTextField();
jtsetHorizontalAlignment(JTextFieldRIGHT);//设置水平对齐方式为右对齐

希望能帮助你哈

LineText //代表(最后)读取的一行文本

DiDiansetText(LineText);//把最后一把文本"设置"为文本组件的内容

问题就出现在:

在while循环里 ,每一次都会使用最后一行代码来替换 文本组件的内容;    所以文本组件只会显示最后一行的内容

解决办法[推荐的方法]:

 StringBuilder sb=new StringBuilder();
    while((LineText=BRreadLine())!=null){
        sbappend(LineText); //把每一行都保存到StringBuilder
        sbappend("\r\n");//如果每一行都需要换行,那么把每一行后面都加上一个换行符
    }
    //读取完了,才设置文本组件的文字
    DiDiansetText(sbtoString);

最后建议 : 

JTextArea文本组件说明

JTextArea jta=new JTextArea();//文本域组件, 可以调用append方法,追加文字
jtaappend(LineText+"\r\n"); //但是频繁的追加文本,是不推荐的 *** 作,导致性能降低
//建议还是使用StringBuilder或者StringBuffer来连接字符串

JTextField / JTextPane文本组件的说明

JTextPane jtp=new JTextPane();
jtpsetText(jtpgetText()+LineText+"\r\n");//可以在调用setText的时候 ,
//先getText获取之前文本,在添加上新的文本

晕 ,你做图形界面没哦,你可以做个类似记事本的界面嘛,用个按钮简单保存就可以了,别做得那么复杂,在按钮事件处理中读出文本域的内容,创建个文本文件,再写进去文本文件就可以了,你想做好点的话,在按钮保存时可以用个对话框选择位置,你先简单实现保存再做那些吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10244337.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存