1. java中有哪些中间组件
javax.swing包中JComponent(轻组件)类是java.awt包中Container类的一个直接子类、Componenet类的一个间接子类。javax.swing包中的JFame类和JDialog类分别是java.awt包中类和Dialog类的直接子类、Window类的间接子类。
组件(component):Java把由Component类的子类或间接子类创建的对象称为一个组件,是图形用户界面中的可见部分,如按钮、标签.
容器(container): Java把由Container的子类或间接子类创建的对象称为一个容器,是图形用户界面中容纳其它组件的部分,如窗体。
认识几个方法
add( ):将组件添加到该容器中。
removeAll() :移掉容器中的全部组件。
remove(Component c) 移掉容器中参数指定的组件。
validate():每当容器添加新的组件或移掉组件时,调用该方法以保证容器中的组件能正确显示出来。
public void setBounds(int a,int b,int width,int height) 调用该方法可以设置出现在屏幕上时的初始位置是(a,b),即距屏幕左面a个像素、距屏幕上方b个像素;窗口的宽是width,高是height。
public void setSize(int width,int height):设置窗口的大小,窗口在屏幕出现是默认位置是(0,0)。
public void setVisible(boolean b):设置窗口是可见还是不可见,窗口默认是不可见的。
public void setResizable(boolean b):设置窗口是否可调整大小,窗口默认是可调整大小的。
public void setDefaultCloseOperation(int operation) :设置单击窗体右上角的关闭图标后,程序会做出怎样的处理。
JTextField文本框
用来建立文本框的,用户可以在文本框输入单行的文本。
构造方法
JTextField(int x):创建文本框对象,可以在文本框中输入若干个字符,文本框的可见字符个数由参数x指定。
JTextField(String s) :创建文本框对象,则文本框的初始字符串为s,可以在文本框中输入若干个字符。
主要方法
public void setText(String s):设置文本框中的文本为参数s指定的文本。
public String getText() :获取文本框中的文本。
public void setEditable(boolean b) :指定文本框的可编辑性(默认为可编辑的)。
public void setHorizontalAlignment(int alignment) :设文本在文本框中的对齐方式,其中alignment的有效值确定对齐方式,如:LEFT、CENTER、RIGHT。
JTextArea 文本区
JTextArea类用来建立文本区,用户可以在文本区输入多行的文本。
构造方法
JTextArea(int rows, int columns):构造一个可见行和可见列分别是rows、columns的文本区。
常用方法
setLineWrap(boolean b):决定输入的文本能否在文本区的右边界自动换行。
setWrapStyleWord(boolean b):决定是以单词为界(b取true时)或以字符为界(b取false时)进行换行。
getText():获取文本区的文本。
setText(String s) :设置文本内容。
append(String s):尾部加文本。
insert(String s,int x):在文本区的指定位置处插入文本。
public void ():拷贝选定的区域。
public void cut():剪切选定的区域。
public void paste():在指定的区域粘贴。
列表组件
用户可以在下拉列表看到第一个选项和它旁边的箭头按钮。
当用户单击箭头按钮时,选项列表打开。
常用方法
public JComboBox() 创建一个没有选项下拉列表。
public void addItem(Object anObject) 增加选项。
public int getSelectedIndex() 返回当前下拉列表中被选中的选项的索引,索引的起始值是0。
public Object getSelectedItem() 返回当前下拉列表中被选中的选项。
public void removeItemAt(int anIndex) 从下拉列表的选项中删除索引值是anIndex 选项。
public void removeAllItems() 删除全部选项。
public void addItemListener(ItemListener) 向下拉列表增加ItemEvent事件的监视器。
下拉式列表上的ItemEvent事件
对于下拉式列表事件源,可以发生ItemEvent事件。
表格组件
使用JTable可以创建一个表格对象。
构造方法
JTable (Object[ ][ ] data , Object[ ] columnName)
表格的视图将以行和列的形式显示数组data每个单元中对象的字符串表示。
参数columnName用来指定表格的列名。
用户在表格单元中输入的数据都被认为是一个Object对象。
用户通过表格视图对表格单元中的数据进行编辑,以达到修改二维数组data中对应的数据。
例:
Object[][] a = new Object[3][4];
Object[] name = {"商品名称","单价","销售量","销售额"};
JTable table=new JTable(a,name);
2. JAVA中hashNextLine的用法。
java语言中hasNextLine用于控制台输入或者读取文本文件时的输入扫描器(java.util.Scanner类)扫描,当扫描到存在下一行时,hasNextLine返回true,没有下一行输入或者文本文件没有下一行时,返回false.
一般用于读取文本文件或控制台输入的数据时,while循环的判断条件,比如 while(in.hasNextLine()),如果有下一行就执行while循环,没有就跳出while循环
下面就给你一个用hasNextLine函数读取用户名密码文件(abc.txt),并对用户名密码切分后输出的Java程序的例子,你看看吧.(程序每句都有注释)
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.util.Scanner;
publicclassReadtxt{
publicstaticvoidmain(String[]args){
try{
Scannerin=newScanner(newFile("d:/abc.txt"));//打开一个文件用简单文本扫描器扫描
while(in.hasNextLine()){//如果文件中还有下一行则继续执行
Stringstr=in.nextLine();//取出文件中这一行赋给变量str
splitt(str);//调用自定义splitt函数输出
}
}catch(FileNotFoundExceptione){//捕获打开文件时文件不存在异常
e.printStackTrace();//打印异常信息
}
}
publicstaticvoidsplitt(Stringstr){//自定义函数splitt
Stringstrr=str.trim();//去除字符串前后空格
String[]abc=strr.split("[\p{Space}]+");//按照字符串中间的空格切分字符串形成字符串数组
Stringstr1=abc[0];//切分出的数组第一个字符串赋给str1
Stringstr2=abc[1];//切分出的数组第二个字符串赋给str2
System.out.println(str1);//打印str1到控制台上
System.out.println(str2);//打印str2到控制台上
}
}d盘根目录下的abc.txt文件内容
zhangsan123456
lisi112345
wangwu111234
运行结果
zhangsan
123456
lisi
112345
wangwu
111234
3. java 读取csv文件里指定行列的值,比如读取第三行第二列的值。
import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
public void test(int row,int col){
try {
BufferedReader reader = new BufferedReader(new FileReader("C:\a.csv"));//换成你的文件名
// reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉
String line = null;
int index=0;
while((line=reader.readLine())!=null){
String item[] = line.split(" ");//CSV格式文件为逗号分隔符文件,这里根据逗号切分
if(index==row-1){
if(item.length>=col-1){
String last = item[col-1];//这就是你要的数据了
System.out.println(last);
}
}
//int value = Integer.parseInt(last);//如果是数值,可以转化为数值
index++;
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
Test test = new Test();
test.test(3, 2);
}
}
你的数据格式有问题,空格的个数不确定,没办法每行用空格分隔。以下是我调整后的数据格式每行的数据以一个空格分隔,test方法传入的参数一次是,行,列:
1电机1
2WBS2
3PID3
4CP
5社供出
6原価実绩
7社供WC
8外注费
9直材费
10自家制品
11直経费
12その他
13注残
14注残