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文本组件的说明
jtpsetText(jtpgetText()+LineText+"\r\n");//可以在调用setText的时候 ,
//先getText获取之前文本,在添加上新的文本晕 ,你做图形界面没哦,你可以做个类似记事本的界面嘛,用个按钮简单保存就可以了,别做得那么复杂,在按钮事件处理中读出文本域的内容,创建个文本文件,再写进去文本文件就可以了,你想做好点的话,在按钮保存时可以用个对话框选择位置,你先简单实现保存再做那些吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)