设置面板的边界,Border描述了面板四周的边界(属于面板内部),EmptyBorder是一个空白的边界;
语句的意思是让contentPane内部边框为空,并且有5个像素的厚度,如果直接在contentPane上面添加一个按钮(设置为充满),那么按钮将铺满除了边框之外的内部矩形
contentPane.setLayout(new BorderLayout(0, 0));
BorderLayout是用东西南北和中央来控制的布局方式,其中第一个参数是指为任意两个上下相邻的控件增加一个间隔,例如北和东两个控件的相邻处就要增加这样的间隔,第二个参数是指为任意两个左右相邻的控件增加一个间隔,例如中央和东两个控件的相邻处就要增加这样的间隔
1行,3列,如下,
new GridLayout(1, 3)
□□□
new GridLayout(2, 5) 2行5列
□□□□□
□□□□□
顺带一提,还有个更为完整的构造方法
new GridLayout(rows, cols, hgap, vgap);
rows和cols就是行和列,hgap是行间距,vgap是列间距
public void setLocationRelativeTo(Component c)设置窗口相对于指定组件的位置。
如果组件当前未显示,或者 c 为 null,则此窗口将置于屏幕的中央。中点可以使用 GraphicsEnvironment.getCenterPoint 确定
setBounds(x,y,width,height); x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度
”Object[]“是定义了一个一维的对象,这个Object是任何对象的父类,也就是说可以转换成任何的类型。举例:
Object[] object = new Object[3] ;
object [0] = new String("12312");
object [1] = new String[] { "String1", "String2" };
object [2] = new Date();
解释:也就是说Object类型之后可以给任意类型的值或者对象赋值给当前的object 对象,而不需要强制类型转换,方便操作。
ResultSet rs=st.executeQuery();
System.out.println(rs.getString("Name"));
问题出在这里,不可以这么用
String name = "";
if(rs.next()){//或者while(rs.next())
name = rs.getString("Name");
if(name == null){
name = "";
}
System.out.println(name);
}
即使你十分确定能搜出记录,也不可以在没有rs.next()之前直接对rs进行取值。这涉及到rs对象的存储方法。里面说白了就是指针。没next,指针根本没指向对应记录
Local variable data defined in an enclosing scope must be final or effectively final怎么解决
Can not issue data manipulation statements with executeQuery()
excuteQuery是查询语句,而我要调用的是更新的语句,所以这样数据库很为难到底要干嘛,我实际的操作是要更新数据,所以把
这里是重点:::!!! executeQurery()改成excuteUpdate() 错误就改正了,仔细找一下您的sql语句不知道是否犯了相同的错误。
if(temp.getString("role")=="operator")改为if(temp.getString("role")).equals("operator"))
java 怎么在主函数里调用该类的其他函数
调用方法:先生成一个对象,用“对象.方法()”的方式调用。
调用说明:java中的main方法是静态的,用于程序的入口,在静态方法中无法调用非静态方法,只能调用静态方法。想调用静态方法的话就要先生成该类的一个对象,通过对象调用非静态方法。
eclipse报错Address already in use: JVM_Bind(端口冲突)
解决方法是关闭javaw.exe进程!eclipse关了重开就行了。
输入输出流使用buffer的outputstream和objectoutputstream要一致
输入输出流关闭时要判断是否为空
OutputStream的flush()方法?什么调用?刷新方法,我们产生的如果带缓冲的流,我们可以人为刷新,将数据立刻输出,或者等到流内满了自动调用flush刷新,将数据输出。
数据库的操作要注意是否在一个主函数中,要不然会影响数据库的连接状态。
tcp socket通过为传输加截止标志可以实现依次接收传输。
indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1;